php-fpm中max_children的配置
php  /  管理员 发布于 4年前   509
现在nginx + fpm 基本成为主流的配置,其中我们比较关注的是pm.max_chindren的配置 首先,我们关注一个设置: 这个选项是标识fpm子进程的产生模式: static :表示在fpm运行时直接fork出 dynamic:表示,运行时fork出 一般推荐用static,优点是不用动态的判断负载情况,提升性能,缺点是多占用些系统内存资源。 上面的告诉我们max_chindren代表的worker的进程数。普遍认为,这个配置越多能同时处理的并发也就越多,这是一个比较大的误区: 那worker数到底该怎么配置呢? 理论上woker进程数=cpu的个数是最合理的,但由于第2点,可能每个worker都没处理完请求,这样,就会频现502了。但多开进程,只是说避免502,暂时把请求hang住,但这只是缓解之道,实际上这不但不会增加系统的并发,而且会加重系统的负荷,所以,基于2,3 ,设置一个合理的worker数就比较重要了。 天下武功,唯快不破,只有尽可能的提升程序的效率,把单个请求的时间压缩到最低,这样,单个worker的处理时间变短了,那在单位时间里能处理的请求自然就多了。 那么可以通过每个worker在单位时间内处理的请求数来预估 但最大的请求耗时可能会受很多外在的情况影响,不太好预估,尤其是网络i/o也算在里面,我们可以借用第三方的profile工具,比如xhprof, 这类工具可以统计cpu的耗时,通过这个时间来计算真正的worker数量,比总时间来计算要合理很多,其实这里有一个捷径,来配置你的max_children数, 就是你前期先把max_childnren设置成一个比较大的值,稳定运行一段时间后,观察fpm的status里的 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家的支持。如果你想了解更多相关内容请查看下面相关链接pm = static/dynamic
,pm.max_chindren
个worker进程start_servers
个进程,随着负载的情况,动态的调整,最多不超过max_children个进程。max_children
的个数。假如最大的一个请求的处理时间(xhprof里看cpu时间)是100ms内,而在100ms之内同时有100个请求过来,那了理论上就需要配置100个worker进程,先把请求给hang住。max active processes
是多少,然后把max_children配置比他大一些就ok了。您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号