仓酷云

标题: 来一发LNMP高并发时502毛病办理*** [打印本页]

作者: 蒙在股里    时间: 2015-1-14 20:19
标题: 来一发LNMP高并发时502毛病办理***
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!成绩:比来的抢购有焚烧,到点抢购的时分网站就会呈现502毛病顶不住消耗者的压力。
来一发LNMP高并发时502毛病办理***
登录/注册后可看大图

伤。。。。。
之前php-fpm设置:
单个php-fpm实例,利用socket体例,内存8G静态体例,启动php-fpm历程数300,详细参数以下
listen=/tmp/php-cgi.sock
#listen=127.0.0.1:9000
listen.backlog=2048
listen.allowed_clients=127.0.0.1
pm=static
pm.max_children=300
pm.start_servers=50
pm.min_spare_servers=30
pm.max_spare_servers=250
request_terminate_timeout=0
request_slowlog_timeout=2



因为架构,代码等缘故原由,单台几百并发就呈现502毛病。
开端办理:各类相干优化,
增年夜pm.max_children为400
nginx和fpm增加了listen.backlog=2048
最年夜翻开文件句柄数65535
/etc/sysctl.conf都举行了微调,高并发时nginx倡议的毗连数,远远凌驾了php-fpm所能处置的数量,招致端口(或socket)频仍被锁,形成梗塞。仍然呈现502毛病
最终办理***:
启用两个php-fpm实例,把php-fpm分为两局部,每局部各听一个端口或socket,如许就削减了lock,仍然坚持400个php-fpm历程,每一个实例启用200个,接纳nginx的upstream负载平衡,轮询每一个socket来处置哀求。
详细操纵:
cpphp-fpm.confphp-fpm2.conf
viphp-fpm2.conf做响应的修正
[global]
pid=/usr/local/php/var/run/php-fpm2.pid
error_log=/usr/local/php/var/log/php-fpm2.log
log_level=notice
[www]
listen=/tmp/php-cgi2.sock
#listen=127.0.0.1:9000
listen.backlog=2048
listen.allowed_clients=127.0.0.1
pm=static
pm.max_children=200
pm.start_servers=50
pm.min_spare_servers=30
pm.max_spare_servers=250
request_terminate_timeout=0
request_slowlog_timeout=2
slowlog=var/log/slow.log
cp/etc/init.d/php-fpm/etc/init.d/php-fpm2
vi/etc/init.d/php-fpm2
修正
prefix=/usr/local/php
exec_prefix=${prefix}
php_fpm_BIN=${exec_prefix}/sbin/php-fpm
php_fpm_CONF=${prefix}/etc/php-fpm2.conf
php_fpm_PID=${prefix}/var/run/php-fpm2.pid



启动php-fpm2便可

设置nginx
编纂nginx.conf主设置文件,假如后端接纳假造主机,跟我一样,
增加
upstreambackend{
serverunix:/tmp/php-cgi.sock;
serverunix:/tmp/php-cgi2.sock;
}

vivhost/test.conf
修正此处fastcgi_passbackend;挪用fastcgi是,利用负载平衡的体例。
location~[^/].php(/|$)
{
try_files$uri=404;
fastcgi_passbackend;
#fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
includefastcgi.conf;
#includepathinfo.conf;
}
重启nginx。
守候考证吧,502毛病会年夜年夜地削减,网站抢购甚欢,消耗者甚欢。
总结:
高并发时利用tcp端口的体例比socket体例绝对不乱一点,可是利用端口的体例,处置的效力的确比socket效力低了那末一点。LNMP情况下,在面临高并发时,除一个公道的架构,与公道的调优以外,开辟者的代码逻辑与高效的代码也是影响高并发的一个主要要素。一个哀求挪用几次php-fpm,每一个php-fpm处置几工夫,都是开辟者必要思索的点。
欢迎大家来到仓酷云论坛!
作者: 海妖    时间: 2015-1-16 07:03
标题: 来一发LNMP高并发时502毛病办理***
一些显而易见的小错误还是用vi改正比较方便。以后的大一点的程序就得在Linux下调试了,因为有的头文件在VC里面说找不到。?
作者: 因胸联盟    时间: 2015-1-24 12:02
下面看看一个让人无法回答的问题:“救命各位高手,向你们请教一些问题:如何在Linux下配制HTTP、FTP、Samba、DNS、DHCP、Sendmail服务器,谢谢”这样的问题。
作者: 仓酷云    时间: 2015-2-1 12:08
随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。
作者: 爱飞    时间: 2015-2-7 08:32
期间我阅读了不少关于Linux的相关资料,其中也不乏一些有趣的小故事,这既丰富了我的课余生活,也让我加深了对一些术语的理解,比玩游戏强多了。?
作者: 柔情似水    时间: 2015-2-21 22:22
然我们对Linux的学习首先是通过对它的产生,发展,到今天仍然在不断完善开始的。
作者: 再见西城    时间: 2015-3-7 00:17
感谢老师和同学们在学习上对我的帮助。
作者: 不帅    时间: 2015-3-14 06:10
把这个问题放在其他Linux社区请求帮助也是一种选择。如果Linux得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。
作者: 活着的死人    时间: 2015-3-21 02:52
首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2