❶ 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方式安裝,就不會產生多進程和資源佔用過多。