IIS+PHP访问量大时内存爆满等性能问题解决方案
2014-03-26 14:21
211 查看
如今还是有许多人在用老掉牙的 IIS6 + PHP。本文解决方法适用于使用 FastCGI 运行 PHP 的用户。
问题原因:
你可以试一试,你在 VPS 上用 IIS6 安装 FastCGI 跑 PHP,并安装 WordPress。
然后你多发表一些文章,随后一直不停地按 F5,不到一分钟,你的内存就差不多爆到 85% 左右了,此时VPS开始大幅度读写虚拟内存,磁盘性能又开始下降。
最终 VPS 死机。
解决方案:
很多 VPS 提供商提供的一件环境配置包或网上现有的教程,都没有针对性能进行优化。
所以我们只需要给 FastCGI 加以限制参数,就可以解决问题。(就像在 Apache 的 httpd.conf 中的配置一样)
首先,终止 IIS 的运行。
然后访问这个目录:C:\WINDOWS\system32\inetsrv
打开 fcgiext.ini。(建议不要使用记事本编辑,可以用 Notepad++)
找到:
[Type]
php=PHP
[PHP]
ExePath=XXXXXXX
在下面加入以下配置:
;设置 php-cgi.exe 最大的进程数
maxInstances=30
;设置 php-cgi 每个进程处理多少个请求后释放
InstanceMaxRequests=300
;设置 php-cgi 空闲后多少时间内退出释放资源(单位:秒)
IdleTimeout=100
最后只要重新启动一下 IIS 即可生效。
备注:maxInstances 的数值可以根据服务器的实际内存来调整。
问题原因:
你可以试一试,你在 VPS 上用 IIS6 安装 FastCGI 跑 PHP,并安装 WordPress。
然后你多发表一些文章,随后一直不停地按 F5,不到一分钟,你的内存就差不多爆到 85% 左右了,此时VPS开始大幅度读写虚拟内存,磁盘性能又开始下降。
最终 VPS 死机。
解决方案:
很多 VPS 提供商提供的一件环境配置包或网上现有的教程,都没有针对性能进行优化。
所以我们只需要给 FastCGI 加以限制参数,就可以解决问题。(就像在 Apache 的 httpd.conf 中的配置一样)
首先,终止 IIS 的运行。
然后访问这个目录:C:\WINDOWS\system32\inetsrv
打开 fcgiext.ini。(建议不要使用记事本编辑,可以用 Notepad++)
找到:
[Type]
php=PHP
[PHP]
ExePath=XXXXXXX
在下面加入以下配置:
;设置 php-cgi.exe 最大的进程数
maxInstances=30
;设置 php-cgi 每个进程处理多少个请求后释放
InstanceMaxRequests=300
;设置 php-cgi 空闲后多少时间内退出释放资源(单位:秒)
IdleTimeout=100
最后只要重新启动一下 IIS 即可生效。
备注:maxInstances 的数值可以根据服务器的实际内存来调整。
相关文章推荐
- IIS+PHP访问量大时内存爆满等性能问题解决方案
- 大流量的网站如何解决访问量的问题-php自学网
- 如何解决PHP查询大量数据内存耗尽的问题
- JVM内存限制问题解决方案
- Nginx缓存Cache的配置方案以及相关内存占用问题解决
- 如何解决PHP里大量数据循环时内存耗尽的问题
- Php连接Cassandra慢问题解决方案(Using Cassandra with PHP)
- 【PHP】算法进阶,获取给定值的最优组合:虚拟币抵扣问题解决方案
- 解决php的session异步请求堵塞问题(采用xhprof性能分析)
- Java EE应用中的性能问题解决方案 — 第一部分 内存溢出的解决办法及JVM内幕(D)
- 如何解决PHP里大量数据循环时内存耗尽的问题
- 解决PHP内存溢出的问题
- php出现内存位置访问无效错误问题解决方法
- poi分页导出,只能解决十几万数据的导出,内存问题没解决,有方案的可以留言
- PHPExcel解决内存占用过大问题-dw 查找memoryCacheSize把1M改为2048M
- php 解决大流量网站访问量问题
- 如何解决PHP里大量数据循环时内存耗尽的问题
- 如何解决PHP查询大量数据内存耗尽的问题
- 如何解决PHP里大量数据循环时内存耗尽的问题