记一次接口调用耗时服务端PHP-FPM配置调优

2018-12-14 08:38:11来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

 最近测试人员不时有反馈,APP首页打开会出现除了基本的页面布局,需要展示数据的地方都是空白。

想着最近首页接口有过调整,新增数据。会不会是接口改动导致的??

但APP首页接口都是读取redis的,应该不至于出现接口异常的问题啊!!

手上本来有迭代任务进行中,没去看这个问题。

昨天快下班那会手上任务快做完了。上服务器看看nginx日志,php日志,同时登录阿里云服务器管理控制台查看ecs机器的内存和cpu使用记录,redis使用情况。

发现问题出现得有规律,一般是运营人员在管理后台发布消息推送,随后几分钟就会出现resquest_time耗时比较厉害。平时大部分接口0.01-0.09秒接口请求完成调用返回。但发布消息推送后,接口调用记录显示耗时上升厉害0.1秒->0.5秒->1秒->3秒->7秒,最多的达到15点几秒。

 

 查看最近的nginx错误日志:
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: ***

网上搜索相关资料,找到如下:

https://blog.csdn.net/leonnew/article/details/79738593

凭直觉首要排除1和3,直接去看2的问题,看php错误日志:

搜索“WARNING: [pool www] server reached pm.max_children setting (5), consider raising it” 错误原因,找到如下:

https://lirongyao.com/server-reached-pm-max_children-setting.html

看php配置:

估计是运维搭建生产环境把php-fpm启动后进程数配置太小,和运维沟通后,发个邮件让运维更改php7配置。

中午吃饭时候运维把配置给改了重启,不久后运营人员那边新发一个push消息推送。

再上生产服务器,竟没有错误日志了。。又打开APP,同事们没有出现白屏无数据的情况,我手机偶现白屏一次。

PHP-FPM配置已经改了啊,为啥还是有白屏??

立即上阿里云管理后台查看日志服务,看到push发出后,单是首页的有个接口一分钟内超出280的调用。

这让我想起项目刚上线不久,有对项目使用的laravel框架接口调用次数限制由默认60次一分钟上调到一分钟200过。

手机偶尔白屏应该就是laravel框架这个限制次数导致的!

再上调laravel次数限制为500上生产,等运营再次发送push消息推送,APP已不见白屏的情况。

登录阿里云管理后台查看日志服务,首页接口调用时间基本正常,最长的没超过0.2秒:

如果不做php-fpm配置的修改,正常情况下,没人攻击服务器恶意捣乱什么的,不会出现什么问题。

公司商务近期在做该APP推广,经过我这边已经接入头条app广告,热葫芦,小豆故事,还有接入测试完成即将上线的百度app广告。

用户数正在不断上升。运营人员消息推送发布,同一时间大量的用户打开APP,接口调用急剧增加,需要启动php进程数会被迅速拉起,原有的配置已经很难满足需求。 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:关于使用array_rand随机取出数组的值

下一篇:更新Composer依赖报错处理Fatal error: Declaration of Fxp\Comp