性能-如何调试运行缓慢的Ubuntu Apache/PHP/MySQL服务器
我在Ubuntu 14.04.2 LTS(GNU/Linux 3.13.0-48-generic x86_64)上运行Apache/PHP/MySQL Web服务器,内存为4gb 在过去的几天里,随着服务器负载的增加(每秒100-200个请求),它似乎已经完全停止了页面服务。以下是一些性能统计数据:性能-如何调试运行缓慢的Ubuntu Apache/PHP/MySQL服务器,apache,lamp,Apache,Lamp,我在Ubuntu 14.04.2 LTS(GNU/Linux 3.13.0-48-generic x86_64)上运行Apache/PHP/MySQL Web服务器,内存为4gb 在过去的几天里,随着服务器负载的增加(每秒100-200个请求),它似乎已经完全停止了页面服务。以下是一些性能统计数据: 传入网络I/O:2mb/s 传出网络I/O:11mb/s 正在使用的内存(RAM):1.1gb CPU使用率:2% 以下是mpm\u prefork.conf中的值: <IfModule
- 传入网络I/O:2mb/s
- 传出网络I/O:11mb/s
- 正在使用的内存(RAM):1.1gb
- CPU使用率:2%
mpm\u prefork.conf
中的值:
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 50
MaxRequestWorkers 150
MaxConnectionsPerChild 5000
</IfModule>
StartServers 5
MinSpareServers 5
MaxSpareServers 50
最大150名工人
MaxConnectionsPercild 5000
请求发生在通常有一个数据库查询并返回JSON格式数据的页面上。它不是图形/数据库/资源密集型的
重新启动Web服务器将允许它为页面提供大约1分钟的服务,直到负载恢复并返回到冻结状态
我可以寻找或更改什么来解决这个问题?首先必须确定问题是否出在Apache服务器、PHP代码、mySQL数据库查询甚至mySQL数据库参数上 您需要对这些组件进行分析 从CPU和内存使用情况来看,硬件大小并没有问题,而是与应用程序配置或组件参数化有关
我首先检查SQL请求需要多长时间。只需使用google
mysql数据库评测工具
,您就可以在需要时找到提高mysql性能的方法。首先必须确定问题是否出在Apache服务器、PHP代码、mysql数据库查询甚至mysql数据库参数上
您需要对这些组件进行分析
从CPU和内存使用情况来看,硬件大小并没有问题,而是与应用程序配置或组件参数化有关
我首先检查SQL请求需要多长时间。只需使用google
mysql数据库评测工具
,如果需要,您将找到提高mysql性能的方法。更新较晚,但问题似乎是长时间运行的POST请求,这将使用大量的prefork mpm
服务器(内存较重)。将此长时间运行的API调用切换为在Apache上运行,该Apache具有事件mpm
、wsgi
,以及简单的Python
实现,效果最好。更新较晚,但问题似乎是长时间运行的POST请求,这将使用大量预工作mpm
服务器(内存较重)。将此长时间运行的API调用切换为在Apache上运行,使用事件mpm
、wsgi
,以及简单的Python
实现效果最佳。