幫客戶配置服務(wù)器,裝的WIN2008系統(tǒng),在WIN2008的IIS7上使用FASTCGI調(diào)用PHP-CGI.EXE,默認只有4個進程,這樣對于大流量的網(wǎng)站為說進程數(shù)不足帶來的進程排隊現(xiàn)象十分嚴重,解決方案如下
32位系統(tǒng) http://xintu.iis.net/Downloads/files/AdminPack/TP2/AdminPack_x86.msi
64位系統(tǒng) http://xintu.iis.net/Downloads/files/AdminPack/TP2/AdminPack_amd64.msi
下載如下工具,安裝后,如下圖
添加
PHP_FCGI_MAX_REQUESTS = 10000
添加后,不用重啟IIS,就能在進程管理器看到效果。
似乎并沒有達到設(shè)定的值,不過瀏覽網(wǎng)站明顯感覺到性能的提示。
內(nèi)存占用~~ 其實微軟的系統(tǒng)有一個不好處在于,服務(wù)器的內(nèi)存占用,要盡量讓服務(wù)去使用,而并不像客戶端使用一樣,留足夠多的內(nèi)存給用戶的應(yīng)用程序。
我在這里要提醒大家注意的是以下兩個參數(shù)值得設(shè)置:
InstanceMaxRequests:fastcgi進程(php-fcgi.exe)能處理的最大請求數(shù),超過了就要回收,默認是200
PHP_FCGI_MAX_REQUESTS:php自身控制的最大請求數(shù),默認是500
既然要用fastcgi去運行cgi,那肯定是不想php自身去限制最大請求數(shù)??!
所以,一定要保證InstanceMaxRequests小于 或 等于 PHP_FCGI_MAX_REQUESTS,這樣php自身永遠沒有機會去回收進程。
可以看micorsoft說的:
Make sure that FastCGI always recycles Php-cgi.exe processes before native PHP recycling starts. The configuration property instanceMaxRequests controls the FastCGI process-recycling behavior. This property specifies how many requests FastCGI will process before recycling. PHP also has a similar process-recycling functionality that is controlled by the environment variable PHP_FCGI_MAX_REQUESTS. By setting instanceMaxRequests to a value that is smaller than or equal to PHP_FCGI_MAX_REQUESTS, you can make sure that the native PHP process-recycling logic will never start.
建議
512M 內(nèi)存的改maxInstances=50
1G 內(nèi)存的改maxInstances=80
2G 內(nèi)存的改maxInstances=140
再修改
InstanceMaxRequests=
把這個值改小
建議
512M 內(nèi)存的改InstanceMaxRequests=200
1G 內(nèi)存的改InstanceMaxRequests=300
2G 內(nèi)存的改InstanceMaxRequests=500
改完, 重啟IIS。
instanceMaxRequests PHP_FCGI_MAX_REQUESTS 這兩個參數(shù)決定了一個php-cgi進程被創(chuàng)建出來之后,最多接受的PHP請求數(shù),在lighttpd中默認配置是10000。也就是說這個php-cgi進程每接受10000次PHP請求后會終止,釋放所有內(nèi)存,并重新被管理進程啟動。如果把它降低,比如改成100,那么php-cgi重啟的周期會大大縮短,偶然的高內(nèi)存操作造成的問題影響時間也會縮短。
maxInstances 這個參數(shù)指定可以啟動的最大實例數(shù)目,即php-cgi.exe進程的數(shù)目。如果把它降低,比如改成100,那么在任務(wù)管理器的進程中最多只有php-cgi.exe進程,php-cgi.exe所占用的總內(nèi)存將大大減少。
我現(xiàn)在用的服務(wù)器為windows 2003操作系統(tǒng),4G內(nèi)存,一個php-cgi.exe程序占用7-25M內(nèi)存,我把maxInstances值調(diào)為300,減少了php-cgi.exe進程的總數(shù)量,占用內(nèi)存也減小了,反應(yīng)速度比以前快了不少,至少調(diào)整到多少,可根據(jù)您的站點訪問量來決定。
掃描二維碼推送至手機訪問。
版權(quán)聲明:本文由信途科技轉(zhuǎn)載于網(wǎng)絡(luò),如有侵權(quán)聯(lián)系站長刪除。
轉(zhuǎn)載請注明出處http://macbookprostickers.com/xintu/19923.html