MariaDB配置优化

时间:2017-12-31 17:56:27

标签: mysql debian

所以我认为我真的搞砸了mariadb的配置文件。我使用apache2和mysql的专用服务器。我不知道服务器响应时间是由mysql响应查询花了太长时间还是代码本身引起的。我已经尝试了一些配置生成器,但我觉得它们不起作用。以下是专用服务器规范:

std::abort

malloc

1 个答案:

答案 0 :(得分:0)

请注意,如果您多次指定选项,则该选项的 last 设置只会生效。你有不少重复,这只会导致混淆哪个值真正起作用。

我建议你做以下事情:

  • 对my.cnf 按字母顺序中的行进行排序,以查找重复项(我的意思是[mysqld]部分中的行)。
  • 选择您真正想要生效的值,并删除其他具有多余设置的相同选项。
  • 删除选项行,无论如何都要将选项设置为默认值。
  • 删除您没有特定理由选择非默认值的选项行。

我注意到你有:

innodb-buffer-pool-size        = 26G

这是32G RAM的81%。假设缓冲池使用至少10%的额外,所以它真的使用28.6G。因此,服务器上的所有其他RAM需求只有3.4G,包括MySQL,Apache,其他进程和操作系统本身。

除了缓冲池之外,MySQL还有其他RAM用途,特别是每个连接,并允许最多500个连接。

您还可以在同一台服务器上运行Apache,自然任何Apache运行的Web应用程序。他们每个人都会使用RAM,我无法预测多少,因为它完全取决于你的应用程序代码。 Apache允许多个并发请求运行,因此您可能有数十或数百个Web应用程序处理请求的副本。

所以我想知道你是否只是使用了太多的RAM,并强迫服务器使用磁盘上的交换空间。这是任何服务器的性能杀手,因为磁盘(甚至SSD)比RAM慢几个数量级。

您应该使用topfreevmstat监控内存使用情况。如果您看到RAM耗尽且系统使用swap,您应该尝试减少RAM的分配,或者限制连接数或Apache请求数。您还可以安装更多RAM,甚至将Apache移动到第二个专用服务器。