运行在Ubuntu 14.04.2 LTS(GNU / Linux 3.13.0-48-generic x86_64)上运行的Apache / PHP / MySQL网络服务器,内存为4GB。
在过去的几天里,随着服务器上的负载增加(每秒100-200个请求),它似乎完全停止了服务页面。以下是一些性能统计数据:
以下是mpm_prefork.conf
中的值:
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 50
MaxRequestWorkers 150
MaxConnectionsPerChild 5000
</IfModule>
请求发生在通常具有一个数据库查询并返回以JSON格式化的数据的页面上。它不是图形/数据库/资源密集型。
重新启动网络服务器将允许它提供大约1分钟的页面,直到负载恢复并返回到冻结状态。
我可以寻找或改变什么来解决这个问题?
答案 0 :(得分:0)
首先必须确定您的问题是在Apache服务器上,PHP代码上,mySQL数据库查询中,还是在mySQL数据库参数上。
您需要专注于这些组件的分析。
通过CPU和内存使用情况,它不会出现硬件大小调整的问题,而是与应用程序配置或组件参数化相关的问题。
我首先要检查SQL请求的持续时间。只需google x*conjugate
,如果需要,您将找到提高mySQL性能的方法。