nginx作为web服务中最重要的服务,无疑是工作量最大、最频繁的,因此nginx的性能直接决定web请求的多少、并发量、吞吐能力,进而直接影响用户的打开网站情况。用户的直接感受就是会出现50x的错误,对于这类问题,确保页面程序没问题的情况下,一般可以重点检查nginx配置情况。相关配置都再nginx.conf中定义,下面为大家简介一个最常用、最基本的几个值。
1.worker_processes 数,该值官方建议与CPU数一致,也可以设置为auto
2.worker_connections数量,该值位于event中,如下:
events{worker_connections8192;multi_accepton;}
其中multi_accept 表示nginx收到一个新连接通知后接受尽可能多的连接,默认是on,设置为on后,多个worker按串行 方式来处理连接,也就是一个连接只有一个worker被唤醒,其他的处于休眠状态,设置为off后,多个worker按并行 方式来处理连接,也就是一个连接会唤醒所有的worker,直到连接分配完毕,没有取得连接的继续休眠。当你的服 务器连接数不多时,开启这个参数会让负载有一定的降低,但是当服务器的吞吐量很大时,为了效率,可以关闭这个参数。
而worker_connections表示每个worker(子进程)可以创建多少个连接,默认1024,最大是65535。笔者这里填了8192,这一值与服务器性能有关。