小贴士——提高PHP程序在NGINX代理服务器的性能
NGINX本身就是面向最大性能的代理服务器,因此在使用NGINX,并没有性能调整的配置工作。但是却有很多选项可用于定制NGINX的行为,利用底层硬件和操作系统。
下面将介绍用于提供PHP在NGINX的性能的3个小贴士。
调整工作进程
硬件处理器和NGINX可以利用多个物理或虚拟的处理器。通常情况下,Web服务器不会被配置来处理多个工作负载(例如服务器不会被同一时间用于Web服务器和打印服务器)。因为NGINX不支持多线程工作进程,那么配置NGINX使用所有可用的处理器就非常有必要。
以Linux系统为例,在NGINX默认安装目录中可以找到工程进程配置文件(: /etc/nginx/nginx.conf)。运行cat /proc/cpuinfo | grep processor你可以发现进程数量。
如图可以看见是2可用个进程,在nginx.conf中默认的是使用一个。改变配置文件使NGINX可以使用2个进程。
worker_processes 1; 改为 worker_processes 2;
增加工作连接量
工作连接设置可以限制某个时间内工作进程连接的数量。默认的连接数量是1024,其设置在配置文件nginx.conf中。
worker_connections 1024;
这个基数还是20世纪的默认设置。对于高流量的站点来说,这个会减少实际连接的数量。因此高流量站点可以使用更大的数字用于工作进程连接。
使用Zend Server识别长时间请求和性能问题
Zend Server有很多设施,用于了解服务器的时间情况。
有时硬件、操作系统和服务器都没问题,但PHP代码出现异常的情况,往往会导致很难预料的性能问题。
如下图Zend Server仪表监测视图。
红色框指定的位置显示,有一个很长时间响应的URL对象。URL显示在站点有一个用户配置文件。通过检查这个配置文件,可以确定问题发生(如图片太大、远程链接等)和改变程序代码,确保不在发生类似问题。