性能 - 如何调试慢速Ubuntu Apache / PHP / MySQL服务器

时间:2015-12-07 19:26:38

标签: apache lamp

运行在Ubuntu 14.04.2 LTS(GNU / Linux 3.13.0-48-generic x86_64)上运行的Apache / PHP / MySQL网络服务器,内存为4GB。

在过去的几天里,随着服务器上的负载增加(每秒100-200个请求),它似乎完全停止了服务页面。以下是一些性能统计数据:

  • 传入网络I / O:2mb / s
  • 传出网络I / O:11mb / s
  • 正在使用的内存(RAM):1.1gb
  • CPU使用率:2%

以下是mpm_prefork.conf中的值:

<IfModule mpm_prefork_module>
    StartServers              5
    MinSpareServers           5
    MaxSpareServers           50
    MaxRequestWorkers         150
    MaxConnectionsPerChild    5000
</IfModule>

请求发生在通常具有一个数据库查询并返回以JSON格式化的数据的页面上。它不是图形/数据库/资源​​密集型。

重新启动网络服务器将允许它提供大约1分钟的页面,直到负载恢复并返回到冻结状态。

我可以寻找或改变什么来解决这个问题?

1 个答案:

答案 0 :(得分:0)

首先必须确定您的问题是在Apache服务器上,PHP代码上,mySQL数据库查询中,还是在mySQL数据库参数上。

您需要专注于这些组件的分析。

通过CPU和内存使用情况,它不会出现硬件大小调整的问题,而是与应用程序配置或组件参数化相关的问题。

我首先要检查SQL请求的持续时间。只需google x*conjugate,如果需要,您将找到提高mySQL性能的方法。