回某位朋友问题备受phpcgi.exe煎熬现在cpu跑满(解决方案)
(本文原创,但是cgi参数参考一个大神写的针对小服务器的,希望大家积极投票哦)
下面是对php-cgi.ext过多引起服务器cup%的解决方法,希望对大家有帮助;大多数情况是发生在第四项上;
解决方案和问题所在
1.检查系统盘空间。查看系统临时文件是否过多,mysql数据库的临时文件默认存到了c:/windows/temp,导致累积了几万甚至上百万的小文件,压垮系统盘
解决方案删除里面所有内容用阿里云RDS
2.PHP可以安装为CGI模式或者ISAPI模式,由于ISAPI模式具有更高的性能,因此我建议大家使用ISAPI模式。
3.如能修改程序,建议将程序配置文件中的StartProcesses值缩到2,看是否改善。
4.看是否服务器有问题攻击现象。(比如CC.DDOS)
windows 2003+IIS6优化fastcgi配置文件fcgiext.ini,减少php-cgi.exe进程数量和所占内存大小
本来听说fastcgi比isapi好就在服务器中装上了,配置环境为windows 3+IIS6+PHP5.2.17,经过与很长一段时间观察,发现工作在FastCGI模式下的PHP会占用越来越多的内存,访问量稍微多点php-cgi进程就多了N个,同样情况下能比原来用isapi模式的时候多出几百M,内存少的伤不起
解决这个问题的办法是在web服务器配置中优化fastcgi配置文件参数。
在C:\WINDOWS\system32\inetsrv\fcgiext.ini 文件中可以设定php-cgi进程相关参数,(本文原创,但是cgi参数参考一个大神写的针对小服务器的)如:
[Types]
php = PHP
[PHP]
ExePath=C:\php-5.3.8-nts-Win32-VC9-x86\php-cgi.exe
maxInstances=100
InstanceMaxRequests=10000
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000
RequestTimeout=600
ActivityTimeout=900
在上面的配置中:
ExePath 指定了FastCGI解析程序的路径,
instanceMaxRequests 指定了每个实例可以处理的最大请求数,
maxInstances 指定可以启动的最大实例数目,
EnvironmentVars 创建了一个环境变量 PHP_FCGI_MAX_REQUESTS ,默认值设为10000,
requestTimeout 指定了请求的超时时间为600秒,
activityTimeout 指定了活动会话超时时间为900秒。
一下是建议值:
maxInstances=
把这个值改小
建议
512M 内存的改maxInstances=50
1G 内存的改maxInstances=80
2G 内存的改maxInstances=140
再修改
InstanceMaxRequests=
把这个值改小
建议
512M 内存的改InstanceMaxRequests=200
1G 内存的改InstanceMaxRequests=300
2G 内存的改InstanceMaxRequests=500
改完, 重启IIS。(不是服务器)
最后祝各位朋友心想事成,成就一番事业!!!
回某位朋友问题备受phpcgi.exe煎熬现在cpu跑满(解决方案)的更多相关文章
- mysqld.exe占比cpu 100% 解决方案
进入mysql命令行,输入show processlist; 查看当前有sql语句的记录
- "php-cgi.exe - FastCGI 进程意外退出" 解决办法
问题描述: win7下iis中php-cgi.exe - FastCGI 进程意外退出 错误提示: HTTP 错误 500.0 - Internal Server Error D:\phpStudy\ ...
- 32位win7系统下配置IIS遇到php-cgi.exe - FastCGI 进程意外退出问题的解决的方法
今天重装了一下系统,是32位的WIN7.装完系统后想把IIS装回来,由于有时候须要用到笔记本处理一些事情.结果WEBserver正常了.但IIS的FASTCGI模块始终不能解析PHP,一直报php-c ...
- 【转载】IIS出现“HTTP 错误 500.0,C:\php\php-cgi.exe - FastCGI 进程意外退出”解决方法
昨天给大家介绍了在windows+iis的平台上搭建支持php+mysql平台的文章,教程步骤都是笔者一步一个操作然后一个记录介绍给大家的,实机演练,教程绝对切实可用,但是不同的同学在不同的环境下按照 ...
- 服务器php-cgi.exe进程过多,导致CPU占用100%的解决方法
再使用iis服务器中经常会出现php-cgi.exe进程过多,导致CPU占用100%,最终造成网站运行过慢甚至卡死的情况,重启iis会好一会,过一段时间久出现这种情况,为什么会出现这种情况呢,应该怎么 ...
- php.exe php-cgi.exe php-win.exe的区别
php.exe(linux下是php/bin/php)是提供来在命令行(命令行解释器)执行PHP文件的工具,比如你在有文件abc.php,那么你可以在CMD命令提示符下执行命令php.exe abc. ...
- 在64位windows下使用instsrv.exe和srvany.exe创建windows服务
在64位windows下使用instsrv.exe和srvany.exe创建windows服务 在32位的windows下,包括windows7,windows xp以及windows 2003, ...
- Nginx的使用(三)把nginx和php-cgi.exe注册成windows服务
1.创建windows服务用到一个小工具WinSW:https://github.com/kohsuke/winsw/releases(下载 .exe 文件即可,根据系统选择,Win 10 选择 .N ...
- iis8 php-cgi.exe - FastCGI 进程意外退出 500错误解决办法
今天iis服务环境下的网站突然显示200错误php-cgi.exe - FastCGI 进程意外退出,昨天还好好的网站正常,这个问题一直偶尔出现几次,不是很频繁,但是偶尔会出现: 这是由于某些加载库加 ...
随机推荐
- ios专题 - socket(1)
二,BSD socket API 简介 BSD socket API 和 winsock API 接口大体差不多,下面将列出比较常用的 API: API接口 讲解 int socket(int add ...
- jQuery分析(2) - $工厂函数分析
前言 从这节进入jQuery的世界,首先从jQuery的入口函数开始了解jQuery()或$是如何运作的,这里我给出了一个最小的例子来分析. 回忆 在进入分析代码前我们回想下jQuery的使用方法有哪 ...
- 数据库(学习整理)----2--关于Oracle用户权限的授权和收权
知识点: 1.Oracle数据库中所用的用户等级是平级的!只是每个用户的权限不同而已! 2.在一个用户登录后,可以在自己的登录状态下访问其他用户的数据缓冲区.表.以及表的操作!(只要该用户用权限!) ...
- 【转】.Net中通过反射技术的应用----插件程序的开发入门
转自:http://www.cnblogs.com/winloa/archive/2012/03/25/2416355.html .Net中通过反射技术的应用----插件程序的开发入门 再开始之前,先 ...
- (转)Android开发:性能最佳实践-管理应用内存
翻自:http://developer.android.com/training/articles/memory.html 在任何软件开发环境中,RAM都是宝贵的资源,但在移动操作系统中更加珍贵.尽管 ...
- Windows Phone 之下拉菜单ListPicker
默认情况下,Visual Studio的ToolBox里没有任何下拉菜单的控件可供使用,虽然可以手工输入代码使用隐藏的ComboBox来实现下拉菜单,但是显示出来的菜单与Metro UI主题不匹配.S ...
- js 的对象--如何定义一个对象
通过var object={} 对象字面量,可以叫对象直接量来自定义一个对象 对象自面量是一个表达式,这个表达式的每次运算都创建并初始化一个新对象.每次计算对象字面量的时候,也都会计算他的每个属性值 ...
- 如何更有效学习php开源项目的源码
一.先把源代码安装起来,结合它的文档和手册,熟悉其功能和它的应用方式. 二.浏览源代码的目录结构,了解各个目录的功能. 三.经过以上两步后相信你对这个开源的产品有了一个初步的了解了,那现在就开始分析它 ...
- PHP扩展Redis编译安装
PHP扩展Redis编译安装 1.下载PHP官方Redis源码包 wget http://pecl.php.net/get/redis-2.2.4.tgz 注:我用的是Redhat系统,ubunt ...
- 从用python自动生成.h的头文件集合和类声明集合到用python读写文件
最近在用python自动生成c++的类.因为这些类会根据需求不同产生不同的类,所以需要用python自动生成.由于会产生大量的类,而且这些类是变化的.所以如果是在某个.h中要用include来加载这些 ...