变相作死之-nginx配置参数调优经历(一)

为了搞清nginx的配置参数对性能优化的影响,于是GO君拿起自己的“吾想问答网”开刀,准备好了测试脚本就开始压测,一边压测一边调整nginx参数以观察对性能的反应情况。

Worker_Connections

对[su_highlight background=”#f1f1f1″ color=”#dd4860″]Worker_Connections[/su_highlight]进行调整,nginx默认连接为51200,在对此参数适当调小后发现场景中出现了连接断开、连接超时、服务器内部错误等信息,网站无法访问且提示“500 Internal Server Error”,遂将上述参数修改为默认参数。imagesimagesimages由上述调整可以看出[su_highlight background=”#f1f1f1″ color=”#dd4860″]Worker_Connections[/su_highlight]参数的调整一定程度上影响着网站的运行情况,如果值设置过小,便会出现以上情形,尤其是在跑场景中出现这些错误,当出现以上场景中的错误时,这个时候我们就可以考虑是不是[su_highlight background=”#f1f1f1″ color=”#dd4860″]Worker_Connections[/su_highlight]参数设置过小导致的

第二次参数调整Worker_processes

第二次对[su_highlight background=”#f1f1f1″ color=”#dd4860″]Worker_processes[/su_highlight]参数进行调整,nginx默认为“auto”,于是将auto直接设置为10,结果并无提升,后将该值设置为1500,在重启nginx之后发现控制台无法访问网站无法访问SSH无法连接,这个时候GO君意识到事情不对劲了,所以就到网上查了查该参数,解释为该参数和CPU核心数有关,也就是说如果设置的值过大于CPU核心数,就会直接导致服务器彻底死掉,网上建议为:

nginx doesn’t benefit from more than one worker per CPU.

    一个cpu配置多于一个worker数,对nginx而言没有任何益处。

而且GO君的服务器只是一台轻量的服务器,CPU的核心数和上面设置的1500进程简直就是天差地别,造成服务器直接死掉也就理所当然了images既然已经没办法压测了就先把网站“救活”吧,一般来说如果SSH都无法连接就彻底没救了,好在云控制台有一招救命招数叫“救援连接”,靠着这个成功连接上了服务器,连接后发现整个界面操作起来已经变得非常的卡顿,输入一行命令等待回返消息都要几分钟,上一张图感受一下images

整个操作界面已经被卡顿显示的不正常了,那也没办法了,毕竟这是唯一的救回方式了,只能慢慢的继续操作了,找到[su_highlight background=”#f1f1f1″ color=”#dd4860″]nginx.conf[/su_highlight]配置文件,将[su_highlight background=”#f1f1f1″ color=”#dd4860″]Worker_Connections[/su_highlight]参数由之前的1500改为2,保存退出,重启nginx后网站得以复活(明天又可以对nginx的其他参数愉快的折腾了!)images


 

总结:1、通过这次的实战调优,可以看出nginx中每个参数都会对系统起着至关重要的作用,如果不是自己的网站的话千万不要随便取做调整,否则结果就可能会像上面发生的这样了

2、云平台的优势也非常好的体现出来,如果不是云平台的救命招数,GO君的这个网站就凉凉了(虽说这个网站并无什么价值- -)

标签:,

guest
0 评论
内联反馈
查看所有评论
0
很喜欢你的文章,我要评论!x
()
x