nginx 性能优化,线上场景。
来源:5-17 Nginx的性能优化_CPU亲和配置2
mark_fork
2017-08-15
老师,您好,跟着您的步伐,我学到了nginx第五章,性能优化方案,收获良多。
与此同时,我遇到了一些线上服务响应过慢的问题,因您是这方面的专家,所以想请您帮我理下思路,找到性能瓶颈,以便找到对应的优化方案。
问题如下:
1.线上 nginx Api 服务器响应过慢,导致客户端请求迟迟不能响应,十分影响用户体验,服务程序代码是 php 编写,nginx web服务器 结合php-fpm进行请求接收与响应。
2.用户请求api会经过1台负载均衡服务器,请求会被轮询负载均衡至4台Api服务器,但4台服务器cpu不够均衡也不够稳定。
3.4台web应用服务器硬件配置
Cpu:5核,主频2.0
内存:10G
4.mysql服务器负载
mysql服务器采用主备模式 负载很小。
5.api web 服务器 上 top命令结果:
6.sleep状态的php-fpm数量
大致保持在305个的水平且每个sleep的fpm 占用的cpu稍高,可能会是什么导致sleep进程产生这么高的cpu占用率呢
1回答
-
你好,这个问题,我觉得你可以从这几个方面着手优化:
1、首选你需要找到的系统性能瓶颈的短板,目前就你给我的描述,我觉得php-fpm这块是整体系统性能的短板。
2、就php-fpm的优化,看你给我的截图,我觉得,是php-fpm占用执行效率不高,具体是因为程序本身的执行效率问题,还是请求流量过高导致,或者其它,这个没有体现出来,所以我建议开启php-fpm的slow日志,分析具体的执行效率慢的地方。具体确定请求问题更深层次的的原因,如下:
request_slowlog_timeout = 5s
slowlog = /usr/local/php/log/php-fpm-slowlog.log
另外,如果是短期无法解决、或者性能优化瓶颈无法找到有效手段,让用户体验差是不应该的,导致损失的情况,建议临时可以申请一些机器进行横向扩容。
012017-08-16
相似问题
回答 2
回答 2