首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有80K-100 K DataBases的MariaDB服务器

问带有80K-100 K DataBases的MariaDB服务器
EN

Database Administration用户
提问于 2015-09-04 10:23:45
回答 2查看 936关注 0票数 2

背景:

我们有一个几乎每分钟都会创建一个新DB的环境,在几天或几周后(最多1个月),它将被删除,因此所使用的空间在/var/lib/mysql/中约为300 DB~400 DB,大小为500 DB。

我们在Centos6 VM上使用Centos6 5.3.5 (固定的,没有升级的机会)。

问题:

当mysql卷与85K DataBases一起使用90%时,新数据库的创建非常缓慢,而DB下降也非常缓慢。

问题:

85K DataBases对MariaDB 5.3.5来说是不是太高了?

有文件记载的安全限度是多少?

如何使数据库创建不被数据库删除所阻塞?

当DataBases太多时,什么才是缓慢的真正罪魁祸首呢?

在服务器上可以启用哪些参数来跟踪慢度?

详细信息:每个DB将有12个表。每个表将有10~100行。

每个DB将在3MB~5MB左右。

我们使用的是LVM,与/挂载为ext4。

MariaDB 5.3.5使用LinuxKern2.6.32-504.3.3.el6.x86_64在Centos6.6VM上运行。

VM有4个cpus (3 3GHz),内存为32 VM,托管在VMWare ESX5.5上,运行在思科UCS上。

EN

回答 2

Database Administration用户

发布于 2015-09-04 16:43:52

如前所述,文件系统就是问题所在。但是,可能有一些调优会有所帮助。

如果innodb_file_per_table已经打开,那么每个数据库目录中都有2*12个文件。关闭它会导致更少的文件(但不会减少目录)。这可能会有帮助。

代码语言:javascript
复制
SHOW VARIABLES LIKE 'table%';
SHOW VARIABLES LIKE 'innodb%files';
SHOW VARIABLES LIKE 'open%';
SHOW GLOBAL STATUS LIKE 'Opened%';
SHOW GLOBAL STATUS LIKE 'Uptime%';
SHOW GLOBAL STATUS LIKE 'Table%';

可以从这些输出中收集到一些信息。

或者,给我(1)内存,(2) SHOW VARIABLES;,和(3) SHOW GLOBAL STATUS;。我将运行一些检查,看看table_open_cache是否太小,以及其他事情。

票数 1
EN

Database Administration用户

发布于 2015-09-04 16:24:44

如果我理解的话,你可以创建多达85,000个数据库?嗯,我同意其中一个帖子,而不是最好的方法。我唯一能想到的问题是"information_schema“不能跟上数据库的数量。你的key_buffer_size是什么?你的公开文件限制是多少?Table_cache?

老实说,你最好以不同的方式来处理这个问题。与其创建少表少行的许多数据库,不如将所有这些数据库合并到几个数据库/表中。如果必须分离模式(DBs),我将生成多个Mysql服务器,并有一个循环系统来在每个服务器上创建数据库。

(MySQL对数据库的数量没有限制。底层文件系统可能对目录数量有限制。)

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/114195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档