我在Apache服务器上运行基于PHP的Web应用程序,后端有大量的php处理.由于整体性能较低,我致力于提高应用程序的性能.首先,我遵循了客户端缓存,gzip启用,js-css缩小等技术,这些技术可以很好地提高性能.
为了进一步提高性能,我想尝试服务器级别的改进.所以我尝试通过在Apache和Nginx服务器上托管它来比较应用程序性能.
在Apache I用户Apache + mod-php和Nginx中,我使用Nginx + php-fpm进行比较.正如大多数教程所解释的那样,我将Nginx工作者的数量配置为等于处理器中的核心数量.我用jmeter做了压力测试,下面是我可以用它生成的图表.
在所有这些图中,x轴是我发送的每个请求,y轴是获取每个请求的响应的毫秒数.
访问登录页面

提交登录页面

访问主页

我只能在1秒内执行最多100个并发用户的测试,因为它在两个服务器设置之后开始丢弃请求.
Nginx的性能比Apache有所改善,但是将我的所有服务器架构从Apache更改为Nginx并不是一个主要的区别.当我观察服务器资源利用率时,我发现Nginx和Apache之间并没有太大区别
当我进行人们已经完成的其他比较时,我发现他们声称Nginx在并发访问中要快得多,如下图所示.
http://www.eschrade.com/wp-content/uploads/2014/01/event-mpm-nginx.gif
但我无法观察到Nginx在Apache上的性能有任何重大差异,即使在1秒内有100个并发访问.
以下是我的问题.