❶ cgi/fastcgi占用率高
在web服务器配置中优化fastcgi配置文件参数。
php-cgi进程并没有内存泄漏,php-cgi会在每个请求结束的时候回收脚本使用的全部内存,但是并不会释放给操作系统,而是继续持有以应对下一次PHP请求。这样做大概是为了减少内存碎片化或者解决从系统申请内存之后又释放回操作系统所需要的时间不可控问题。可是如果偶然一次PHP请求使用了诸如ftp或者zlib这样的大内存操作,那么将导致一大块系统内存被php-cgi持续占有,不能被利用。
❷ 如何提高php的fast cgi 效率
提高php的fast cgi 效率方法如下:
1、ISAPI运行模式
ISAPI即Internet Server Application Program Interface,是微软提供的一套面向Internet服务的API接口,一个ISAPI的DLL,可以在被用户请求激活后长驻内存,等待用户的另一个请求,还可以在一个DLL里设置多个用户请求处理函数,此外,ISAPI的DLL应用程序和WWW服务器处于同一个进程中,效率要显着高于CGI。(由于微软的排他性,只能运行于windows环境)
2、APACHE2HANDLER
PHP作为Apache模块,Apache服务器在系统启动后,预先生成多个进程副本驻留在内存中,一旦有请求出现,就立即使用这些空余的子进程进行处理,这样就不存在生成子进程造成的延迟了。这些服务器副本在处理完一次HTTP请求之后并不立即退出,而是停留在计算机中等待下次请求。对于客户浏览器的请求反应更快,性能较高。
3、apache模块的DLL运行模式
此运行模式是我们以前在windows环境下使用apache服务器经常使用的,而在模块化(DLL)中,PHP是与Web服务器一起启动并运行的。(是apache在CGI的基础上进行的一种扩展,加快PHP的运行效率)
❸ LNMP如何修改php-cgi进程数
NMP环境现在还是比较多人用的,下面介绍一个修改php-cgi进程数的方法:
一、修改php-cgi:
vi /usr/local/nginx/conf/nginx.conf
二、其中worker_processes 1;可以修改成2或3个,nginx本身就很强大,不需要像apache那样,开启过多的进程来保证其稳定运行。
vi /usr/local/php/etc/php-fpm.conf
三、找到,按你的内存容量修改PHP进程的数量,一般128内存开启6个,256内存开启16个。这样能保证,在PHP大并发的情况下不会502错误,注:PHP5.3系列不需要修改。
四、优化后,重启lnmp
/root/lnmp restart
❹ php php-cgi.exe进程多
肯定是有的程序写得有问题,正常情况下如果有人用浏览器打开的你PHP网页,你就会开一个cgi进程,但是网页显示完毕cgi进程就应该关闭了,那么只要每个网页程序的效果很高(都在几毫秒执行完毕),那么几乎是看不见cgi进程的,哪怕有许多人不停的访问你的网页。
在cgi进程多的时候,在进程管理器里面设置显示“命令行”,看看是哪个页面的代码有问题,优化一下。
❺ php-cgi进程太多,导致物理内存过高怎么办,有办法自动关闭销毁无用cgi进程吗
可以设置下php的线程数量,增加php使用内存,降低php的线程时间,不过访问量大的话,总内存还是不会降的。
❻ 服务器php-cgi.exe进程过多,导致CPU占用100%
你的现象一般有两种可能,一是PHP脚本问题,例如你在PHP脚本后面写一个按回车结束,然后从标准输入读数据,可能会造成阻塞,使得进程无法结束。进行测试的方法的是写一个最简单的PHP脚本(例如只有phpinfo();一行),然后不断用浏览器打开这个页面,如果CGI进程也在增加,那么说明是下面一种情况。
另外一种情况是PHP版本安装不对,在WINDOWS下用CGI方式工作,不要安装“线程安全”版本,应该安装“非线程安全”的版本,否则会出现你的情况。
❼ 请问windows下如何管理php-cgi进程
NMP环境现在还是比较多人用的,下面介绍一个修改php-cgi进程数的方法: 一、修改php-cgi: vi /usr/local/nginx/conf/nginx.conf 二、其中worker_processes 1;可以修改成2或3个,nginx本身就很强大,不需要像apache那样,开启过多的进程来保证其稳定运行。 vi /usr/local/php/etc/php-fpm.conf 三、找到,按你的内存容量修改PHP进程的数量,一般128内存开启6个,256内存开启16个。这样能保证,在PHP大并发的情况下不会502错误,注:PHP5.3系列不需要修改。 四、优化后,重启lnmp /root/lnmp restart
❽ 求php-cgi.exe使用率过高导致CPU100%的解决办法
不要使用普通的CGI模式安装,每个PHP进程默认占128MB内存,几G内存也最多百来人访问就击垮了。 CGI模式是早期内部小网站的模式,现在一般用于开发时方便调试。
部署PHP应该使用FastCGI方式或者ISAPI方式安装,就不会产生多进程和资源占用过多。