MySQL可以处理多少个数据库?

Cat*_*man 8 mysql database hardware load

我的MySql服务器目前有235个数据库.我应该担心吗?它们都与MyISAM表具有相同的结构.

硬件是一台虚拟机,在四核AMD Opteron 2.2GHz上运行2 GB RAM.

最近cPanel给我发了一封电子邮件,说我的MySql失败并重新启动了.

预计将创建新的数据库,我想知道是否应该添加更多内存,或者我是否应该添加另一个虚拟机.

Mar*_*rkR 7

mysql中的"数据库"实际上是目录,无论是将所有表都放在一个或每个表中,它对它的限制都没有影响.

主要问题是表缓存.如果不进行调整,您将拥有默认的表缓存(通常= 64),这意味着每次打开表时都会关闭表.这非常糟糕.

除了在MyISAM中,情况更糟,因为关闭一个表会将其关键块从密钥缓存中抛出,这意味着后续的索引查找或扫描将从磁盘中读取实际块,这很可怕而且很慢并且确实需要避免.

我的建议是:

  • 如果可能,立即将表缓存增加到>表的总数
  • 监控监控中的全局状态变量Opened_Tables; 如果它迅速增加,这是不好的.
  • 在非生产环境中对您的相同硬件执行性能和稳健性测试(如果您还没有这样做).