在同一台机器上运行300+个mysql实例会不会有什么问题?

时间:2022-08-29 11:31:12
在同一台机器上运行300+个mysql实例会不会有什么问题?

100+个同时执行插入操作和20+个执行查询操作 

我想问的是300个会不会把服务器的资源耗尽而无法工作。云服务器最大的内存只能是24G或32G,一个mysql实例占用的最大资源会是多少呢?

我看了下光跑mysql 不做任何操作,需要13M 内存和138M 虚拟内存。如果有其他操作消耗的资源会更多吧?

如何知道和限制mysql所占用的内存?


另外我想知道的是,mysql的排序 是不是把表里的数据拿出来之后 放到内存里面去排序? 比如我有一个表里面有一个字段直接储存了2进制内容20KB,搜索5000条排序,是不是就需要5000*20KB的内存用来存放和排序?

10 个解决方案

#1


是跑 100 个 mysql.exe 还是在一个mysql中设置 100个database ?

#2


引用 1 楼 ACMAIN_CHM 的回复:
是跑 100 个 mysql.exe 还是在一个mysql中设置 100个database ?


我估计是100个DB,100个mysqld,那真是无语,逗人玩 在同一台机器上运行300+个mysql实例会不会有什么问题?

#3


引用 2 楼 hyrongg 的回复:
Quote: 引用 1 楼 ACMAIN_CHM 的回复:

是跑 100 个 mysql.exe 还是在一个mysql中设置 100个database ?


我估计是100个DB,100个mysqld,那真是无语,逗人玩 在同一台机器上运行300+个mysql实例会不会有什么问题?



我想楼主试一下就知道了啊。。。。。

#4


引用 1 楼 ACMAIN_CHM 的回复:
      是跑 100 个 mysql.exe 还是在一个mysql中设置 100个database ?
是100个实例,因为要建一个数据中心在云端,然后有200+个数据监控点,每个监控点都有一个进程实时的讲数据上传到数据中心将数据插入数据库。因为链接太多,考虑到单个实例然后建200+个database的方式,会不会影响性能。
    所以就想做成在云端开启200+个mysqld实例的方式,每个数据监控点的的数据上传就对应一个mysql实例,这样查询和插入都是分开独立实例进行的,互不干扰,因为单个实例的连路已经走通,所以如果直接开启200+个实例没有问题的话,我们这样开启多个实例是最简单的实现方式,而且今后数据监控点增加只需要再启动一个mysqld 即可。 用的是云服务器,看了下云服务器最多只能买到24G的内存,12核的CPU  不知道当开启300+实例之后,内存能受得了吗?

#5


引用 2 楼 hyrongg 的回复:
Quote: 引用 1 楼 ACMAIN_CHM 的回复:

是跑 100 个 mysql.exe 还是在一个mysql中设置 100个database ?


我估计是100个DB,100个mysqld,那真是无语,逗人玩 在同一台机器上运行300+个mysql实例会不会有什么问题?
是要开启100+个实例,这样有什么问题吗? 我看了一下 一个mysqld实例,在跑起不做任何操作的时候占用的内存是13M,虚拟内存是135M 

由于我最后用的是云服务器,所以以后的内存最大可以申请到24G—32G CPU 可以申请到12核,这些资源够吗

运行100+个例子 最大的问题是什么?

#6


引用 3 楼 u013762572 的回复:
Quote: 引用 2 楼 hyrongg 的回复:

Quote: 引用 1 楼 ACMAIN_CHM 的回复:

是跑 100 个 mysql.exe 还是在一个mysql中设置 100个database ?


我估计是100个DB,100个mysqld,那真是无语,逗人玩 在同一台机器上运行300+个mysql实例会不会有什么问题?



我想楼主试一下就知道了啊。。。。。
云服务器还没申请,自己的虚拟机内存和CPU 都很有限

#7


引用 4 楼 bandaoyu 的回复:
    所以就想做成在云端开启200+个mysqld实例的方式,



建议先跑一个mysqld.exe 然后看一下内存,然后就可以估算300个 mysqld.exe 需要多少内存了。 

第一次碰到这个问题,关注楼主的测试。

#8


100个同时插入,希望楼主关注一下硬盘,硬盘IO估计也会是一个瓶颈

#9


跑一个内存倒是没有占用多少,不知道,在使用的过程中,内存占用是否有较大变化的占用变化

#10


典型的sqlserver设计思路吧,一个应用一个数据库实例

oracle只有一个数据库,不同的应用用不同的用户空间

mysql也是这样,一个应用一个库,schema,mysql只用装一个

你的问题,回复了,可以参考
http://bbs.csdn.net/topics/390968910

#1


是跑 100 个 mysql.exe 还是在一个mysql中设置 100个database ?

#2


引用 1 楼 ACMAIN_CHM 的回复:
是跑 100 个 mysql.exe 还是在一个mysql中设置 100个database ?


我估计是100个DB,100个mysqld,那真是无语,逗人玩 在同一台机器上运行300+个mysql实例会不会有什么问题?

#3


引用 2 楼 hyrongg 的回复:
Quote: 引用 1 楼 ACMAIN_CHM 的回复:

是跑 100 个 mysql.exe 还是在一个mysql中设置 100个database ?


我估计是100个DB,100个mysqld,那真是无语,逗人玩 在同一台机器上运行300+个mysql实例会不会有什么问题?



我想楼主试一下就知道了啊。。。。。

#4


引用 1 楼 ACMAIN_CHM 的回复:
      是跑 100 个 mysql.exe 还是在一个mysql中设置 100个database ?
是100个实例,因为要建一个数据中心在云端,然后有200+个数据监控点,每个监控点都有一个进程实时的讲数据上传到数据中心将数据插入数据库。因为链接太多,考虑到单个实例然后建200+个database的方式,会不会影响性能。
    所以就想做成在云端开启200+个mysqld实例的方式,每个数据监控点的的数据上传就对应一个mysql实例,这样查询和插入都是分开独立实例进行的,互不干扰,因为单个实例的连路已经走通,所以如果直接开启200+个实例没有问题的话,我们这样开启多个实例是最简单的实现方式,而且今后数据监控点增加只需要再启动一个mysqld 即可。 用的是云服务器,看了下云服务器最多只能买到24G的内存,12核的CPU  不知道当开启300+实例之后,内存能受得了吗?

#5


引用 2 楼 hyrongg 的回复:
Quote: 引用 1 楼 ACMAIN_CHM 的回复:

是跑 100 个 mysql.exe 还是在一个mysql中设置 100个database ?


我估计是100个DB,100个mysqld,那真是无语,逗人玩 在同一台机器上运行300+个mysql实例会不会有什么问题?
是要开启100+个实例,这样有什么问题吗? 我看了一下 一个mysqld实例,在跑起不做任何操作的时候占用的内存是13M,虚拟内存是135M 

由于我最后用的是云服务器,所以以后的内存最大可以申请到24G—32G CPU 可以申请到12核,这些资源够吗

运行100+个例子 最大的问题是什么?

#6


引用 3 楼 u013762572 的回复:
Quote: 引用 2 楼 hyrongg 的回复:

Quote: 引用 1 楼 ACMAIN_CHM 的回复:

是跑 100 个 mysql.exe 还是在一个mysql中设置 100个database ?


我估计是100个DB,100个mysqld,那真是无语,逗人玩 在同一台机器上运行300+个mysql实例会不会有什么问题?



我想楼主试一下就知道了啊。。。。。
云服务器还没申请,自己的虚拟机内存和CPU 都很有限

#7


引用 4 楼 bandaoyu 的回复:
    所以就想做成在云端开启200+个mysqld实例的方式,



建议先跑一个mysqld.exe 然后看一下内存,然后就可以估算300个 mysqld.exe 需要多少内存了。 

第一次碰到这个问题,关注楼主的测试。

#8


100个同时插入,希望楼主关注一下硬盘,硬盘IO估计也会是一个瓶颈

#9


跑一个内存倒是没有占用多少,不知道,在使用的过程中,内存占用是否有较大变化的占用变化

#10


典型的sqlserver设计思路吧,一个应用一个数据库实例

oracle只有一个数据库,不同的应用用不同的用户空间

mysql也是这样,一个应用一个库,schema,mysql只用装一个

你的问题,回复了,可以参考
http://bbs.csdn.net/topics/390968910