Apache 性能最優(yōu)化分析(9)_Windows教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
accept串行化:
flock(18, LOCK_UN) = 0
...
flock(18, LOCK_EX) = 0
這兩個(gè)調(diào)用可以被上文提到的宏SINGLE_LISTEN_UNSERIALIZED_ACCEPT去掉。
對(duì)信號(hào)SIGUSR1的處理:
sigaction(SIGUSR1, {SIG_IGN}, {0x8059954, [], SA_INTERRUPT}) = 0
...
sigaction(SIGUSR1, {SIG_IGN}, {SIG_IGN}) = 0
...
sigaction(SIGUSR1, {0x8059954, [], SA_INTERRUPT}, {SIG_IGN}) = 0
引起它們的原因是"溫和重啟"(graceful restart --用SIGUSR1而不是SIGHUP使Apache重新啟動(dòng)。這種方式為Apache留出了自行處理的余地--譯者注)。當(dāng)父進(jìn)程收到SIGUSR1后,它將把這一信號(hào)傳遞給所有子進(jìn)程(同時(shí)遞增在共享內(nèi)存中更新計(jì)數(shù)器的值"generation counter")。所有空閑的子進(jìn)程(即在兩次連接之間的子進(jìn)程)收到信號(hào)后將立即終止。所有處于持續(xù)連接(keep-alive)但在兩次請(qǐng)求之間的子進(jìn)程也將立即終止。但處于連接中并等待第一次請(qǐng)求的子進(jìn)程將不會(huì)立即終止。
為了說明它的必要性,請(qǐng)考慮一個(gè)瀏覽器對(duì)已關(guān)閉連接的處理。如果已關(guān)閉的連接是持續(xù)連接,而且下一個(gè)請(qǐng)求不是該連接的第一個(gè)請(qǐng)求,瀏覽器將不動(dòng)聲色地建立另一個(gè)連接并重新發(fā)出請(qǐng)求。由于服務(wù)器任何時(shí)候都可能關(guān)閉一個(gè)持續(xù)連接(可能因?yàn)槌瑫r(shí)或者超過了最大請(qǐng)求數(shù)目),這樣處理是有必要的。但是,如果在回應(yīng)第一個(gè)請(qǐng)求前連接就被關(guān)閉,瀏覽器通常會(huì)顯?quot;文檔中無數(shù)據(jù)"的對(duì)話框(或者顯示被折斷的圖片)。這是在假設(shè)服務(wù)器非正常終止(或者太忙)的情況下作出的反應(yīng)。因此,Apache力圖避免在作出任何回應(yīng)前就關(guān)閉連接。這就是處理SIGUSR1的原因。
盡管在理論上避免那三個(gè)調(diào)用是可行的,但在粗略的測(cè)試中這樣的改進(jìn)是微不足道的。
相關(guān)Windows教程:
Windows教程Rss訂閱服務(wù)器教程搜索
Windows教程推薦
- 個(gè)人服務(wù)器架設(shè)全攻略(03)
- 個(gè)人服務(wù)器架設(shè)全攻略(52)
- Windows2003自帶的DNS服務(wù)配置方法
- 配置一個(gè)安全的chroot DNS(1)
- win2003服務(wù)器之用eAccelerator在IIS6下加速PHP
- Web服務(wù)器的安全和攻擊防范(8)
- 利用JAVA語言實(shí)現(xiàn)支持視頻點(diǎn)播的WEB服務(wù)器(5)
- 在Web Service中使用ASP.net狀態(tài)保持(1)
- Win2000安裝IIS 如何配置asp+cgi+php+mysql
- 巧配Samba實(shí)現(xiàn)WIN2000和Linux文件共享
- 相關(guān)鏈接:
- 教程說明:
Windows教程-Apache 性能最優(yōu)化分析(9)。