欧美日韩精品在线,国内精品久久久久久久久,一级毛片恃级毛片直播,清纯唯美亚洲综合欧美色

配置Apache 1.3或者Apache 2.0服務(wù)器的5個(gè)技巧_PHP教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:PHP后門(mén)的隱藏技巧測(cè)試報(bào)告
最近很多朋友都在問(wèn)我是否能把我那一句話木馬隱藏到HTML或圖片里,其實(shí)把一句話木馬插入到PHP文件中就已經(jīng)很隱蔽了,如果說(shuō)硬是要放到HTML文件或圖片里,就接著往下看這篇的篇測(cè)試報(bào)告吧。要知

本文提出了配置Apache 1.3或者Apache 2.0服務(wù)器的5個(gè)技巧。我們將闡述以下的配置方案:調(diào)整Apache的accept()串行化、Apache 2.0線程、采用mod_ssl的SSL會(huì)話緩存、優(yōu)化keep-alive超時(shí)值以及檢查服務(wù)器負(fù)載以平衡服務(wù)器可處理的請(qǐng)求量等。

AcceptMutex

Apache 1.3.21和Apache 2.0中引入了AcceptMutex 指示符,該指示符給調(diào)節(jié)服務(wù)器的性能帶來(lái)了一個(gè)難得的機(jī)會(huì)。該指示符配置Apache的accept()處理方式。在某些只有一個(gè)偵聽(tīng)器的系統(tǒng)上是不需要接受阻塞的。這就叫Single Listen Unserialized Accept (SLUA)。可是,對(duì)那些具有多個(gè)偵聽(tīng)器的配置或者在接受系統(tǒng)調(diào)用函數(shù)上(不管有多少個(gè)偵聽(tīng)器)存在thundering herd問(wèn)題的操作系統(tǒng)上,連接接受程序就必須進(jìn)行串行化了。

Covalent的Sander Temme對(duì)accept()阻塞策略進(jìn)行了一定程度的性能分析。這份報(bào)告總結(jié)了Apache 1.3.21在這一方面的有關(guān)調(diào)整策略,如下所示:

Irix的uslock (uslock)
POSIX跨進(jìn)程阻塞 (pthread)
SystemV Semaphores (sysvsem)
fcntl()阻塞(fcntl)
flock()阻塞 (flock)
OS/2 Semaphores (os2sem)
TPF 阻塞 (tpfcore)
None(無(wú))

盡管采用AcceptMutex none也是可能的,但是你的系統(tǒng)在這種配置下有可能受到thundering herd問(wèn)題和死鎖的困擾。這些問(wèn)題會(huì)導(dǎo)致服務(wù)器減慢處理速度乃至停止響應(yīng)。none選項(xiàng)絕對(duì)不能用在實(shí)際系統(tǒng)上。在非正式的測(cè)試下,pthread鎖應(yīng)該是最好的解決方案。然而,pthread跨進(jìn)程阻塞并不是所有系統(tǒng)都可用的。

采用2.0版和線程(worker MPM)

Apache 2.0有一個(gè)顯著的改進(jìn)特性就是支持線程。某些操作系統(tǒng),比如Solaris,在采取線程技術(shù)的條件下可以顯著地改進(jìn)系統(tǒng)性能。而其他操作系統(tǒng),比如Linux,其性能改進(jìn)就可能并不是很顯著。

在采用Apache 2.0的情況下,處理請(qǐng)求的策略已經(jīng)理論化了,這就是所謂的MPM:多進(jìn)程模式(Multi Process Model)。而老一些的Apache 1.3模式則以prefork MPM為代表,在Unix平臺(tái)上就是默認(rèn)MPM for 2.0 。在這種模式下有一個(gè)獨(dú)立的進(jìn)程處理每一請(qǐng)求。可是,假如你編譯Apache 2.0的時(shí)候帶 --with-mpm=worker 選項(xiàng),那么服務(wù)器請(qǐng)求就會(huì)由線程來(lái)處理。這種方法在精心設(shè)計(jì)線程實(shí)現(xiàn)方案的情況下會(huì)大大降低操作系統(tǒng)處理請(qǐng)求的負(fù)載。

SSL會(huì)話緩存

如果你對(duì)Apache 1.3或者在Apache 2.0采用了mod_ssl補(bǔ)充插件(在在Apache 2.0中則已經(jīng)包含在內(nèi)),那么你可以采用會(huì)話緩存提升系統(tǒng)性能。這種改進(jìn)會(huì)顯著降低SSL連接負(fù)載。設(shè)置會(huì)話緩存有三種途徑:

DBM (dbm),這是一種在磁盤(pán)上存儲(chǔ)項(xiàng)目的常用格式(htpasswd可以DBM格式存儲(chǔ)密碼)

共享內(nèi)存循環(huán)緩存(shm 或者shmcb)

共享內(nèi)存哈系表(shmht)

在采用以上選項(xiàng)的時(shí)候需要指定文件路徑。在使用DBM變量的情況下,文件將被寫(xiě)入磁盤(pán)。而對(duì)共享內(nèi)存變量來(lái)說(shuō),文件將被用做操作系統(tǒng)優(yōu)選共享內(nèi)存機(jī)制的存儲(chǔ)備份。值得注意的是,大多數(shù)操作系統(tǒng)不允許共享內(nèi)存段建立在通過(guò)網(wǎng)絡(luò)裝載(mount)的驅(qū)動(dòng)器上,比如NFS等,所以必須給服務(wù)器提供文件路徑。

我們建議你采用共享內(nèi)存,不過(guò),在那些沒(méi)有共享內(nèi)存的平臺(tái)上則不妨采用DBM方案。

--------------------------------------------------------------------------------
SSL會(huì)話緩存的更多信息和有關(guān)語(yǔ)法請(qǐng)見(jiàn):
modssl.org
Apache.org

--------------------------------------------------------------------------------

KeepAliveTimeout

假設(shè)某位用戶在閱讀網(wǎng)站上的某一網(wǎng)頁(yè),然后它單擊某一導(dǎo)向站內(nèi)另一網(wǎng)頁(yè)的鏈接。假如這一過(guò)程發(fā)生在KeepAliveTimeout 周期之內(nèi)(默認(rèn)為15秒),那么就不必創(chuàng)建新的TCP服務(wù)器連接。這樣做大大減少了計(jì)算機(jī)的負(fù)載。然而,在這一時(shí)間區(qū)域內(nèi)服務(wù)器也不能處理更多的請(qǐng)求。KeepAliveTimeout周期過(guò)后,服務(wù)器才可以處理來(lái)自不同客戶機(jī)的最新請(qǐng)求。因此,你必須增加請(qǐng)求進(jìn)程或者線程的數(shù)量以滿足空閑請(qǐng)求的需要。這個(gè)值應(yīng)該進(jìn)行仔細(xì)的調(diào)整以達(dá)到最佳狀態(tài)。

采用mod_status

采用mod_status檢查服務(wù)器負(fù)載情況可以從中獲得調(diào)整服務(wù)器性能的重要信息。

apachectl status命令是檢查服務(wù)器狀態(tài)的快捷途徑。假如該命令的輸出結(jié)果并沒(méi)有始終如一的顯示出可用的工作進(jìn)程。那么最好增大MinSpareServers或者M(jìn)inSpareThreads值(在Apache 2.0采用線程化MPM的情況下)。同時(shí)你可能還需要增大MaxClients值。

--------------------------------------------------------------------------------

有關(guān)mod_status和Apache模塊mpm_common的更多信息請(qǐng)參考mod_status 和mpm_common 。

--------------------------------------------------------------------------------

小結(jié)

你完全可以采用本文提出的技巧使服務(wù)器的性能最大化同時(shí)維持網(wǎng)站的正常運(yùn)行。

分享:PHP中數(shù)組元素升序、降序及重新排序的函數(shù)
在PHP數(shù)組學(xué)習(xí)摘錄部分了解到最基本的PHP數(shù)組的建立和數(shù)組元素的顯示。需要深入學(xué)習(xí)下PHP數(shù)組的相關(guān)操作。首先接觸的就是數(shù)組元素的升序、降序的排序問(wèn)題。 1、快速創(chuàng)建數(shù)組的函數(shù)range()

來(lái)源:模板無(wú)憂//所屬分類:PHP教程/更新時(shí)間:2008-08-22
相關(guān)PHP教程