提高Apache伺服器效能的四個建議

2021-04-28 00:00:00 字數 2033 閱讀 8034

apache伺服器是在linux系統上部署http伺服器的乙個最佳選擇。不僅僅因為其穩定、安全,而且其還能夠提供比較優越的效能。不過為了提高apache伺服器的效能,linux系統管理員還是需要調整一些跟效能相關的引數,在apache伺服器中專門有乙個模組用來進行相關的調整。作為系統管理員,在部署apache伺服器應用的時候,需要了解這些引數的含義,並根據**應用的實際情況來進行相關的調整。要實現這個目的,筆者下面的幾條建議或許能夠對大家有所幫助。

建議一:設定最多連線數量。

的服務或者提高已有連線的效率。當客戶端的連線數量超過這個最高限制後,所有新建的連線都會被拒絕;當然伺服器會把拒絕錯誤資訊返回給客戶。

建議二:允許每次連線可有無限制請求。

在日常的配置中,往往是這個配置選項同時使用。如往往同時啟用「允許每次連線可有無限制請求」與keepalive選項,並設定可以連線的最大程序數。如此的話,即可以避免因為連線數過多而給伺服器帶來負擔;同時又不會影響多次頻繁的連線請求而給伺服器帶來的額外負擔。

建議三:合理配置超時時間。

這個選項是指客戶端提出連線請求並建立起連線後,最大的空閒時間。如果超過這個時間,客戶端與伺服器之間仍然沒有進行任何的接收或者傳送資訊的動作,則就會中斷這個連線。其實這個選項對於訪問者來說是一把雙刃劍。一方面限制無用的連線時間(客戶端連線上伺服器而沒有進行任何的請求動作)可以減少頻寬的浪費,可以保障其他訪者著的頻寬;但是另一方面這也比較容易引起客戶端使用上的不方便。如訪者者可能臨時有事走開一會兒(如上了一趟廁所)客戶端與伺服器端的連線就會中斷。客戶端需要重新連線伺服器,從而需要進行新一輪的連線請求、身份認證等等,這也會耗用伺服器的資源與頻寬。所以說,這個超時時間對於雙方來說,都是有利又有弊。故系統管理員在配置這個選項的時候,需要進行評估,確定是否需要設定這個選項,並為此確定乙個合理的超時時間。

一般來說,如果設定了最大客戶端連線數量的話,則最好同時配置這個超時時間。如伺服器設定了最大的客戶端連線數量為100個,而現在已經有100個客戶端連線在apache伺服器上了。但是其中有20個客戶端已經1個小時沒有動作了。很有可能是其去吃飯或者其他原因忘記關閉網頁,而沒有中斷與伺服器的連線。此時這20個客戶端的連線其實一種兩費。此時如果設定了這個超時時間的話,如超過10分鐘沒有任何資料傳送動作的話就自動關閉這個客戶端的連線。很明顯這可以提高這個連線點數的利用效率。

另外在apache伺服器配置檔案中,有乙個keepalivetimeout引數,跟這個超時時間比較相似。這個引數主要用來設定客戶端與伺服器建立連線後,客戶端提出兩個請求之間的時間間隔。如果超過一定的時間間隔,客戶端並沒有再提出另外乙個請求,則這個連線宣告即中斷。可見這個連個選項的功能很類似,不過其中有乙個很重要的區別。因為在客戶端與伺服器連線的時候大致分為兩個階段。第乙個階段為客戶端提出連線但是伺服器還沒有響應;第二個階段為客戶端與伺服器之間已經建立連線。前面這個引數的話適用這兩個階段中的任何乙個階段。而後面這個引數則只適合第二個階段,即連線後的控制。在其他方面基本上沒有區別。故在大部分情況下,這兩個選項可以通用。總之,是否需要採用這個選項需要根據伺服器的應用情況來定。作為系統管理員,需要在伺服器效能與使用者便利性之間取得一種平衡。這種平衡往往很難實現。需要系統管理員進行多次的測試、調整、使用者意見反饋,最終才能夠得到乙個合理的答案。

建議四:慎用允許永續性連線。

在伺服器效能調整選項卡中,有「允許永續性連線」這項內容。如果選中這項內容的話,就表示客戶端與伺服器之間的連線永遠有效,除非客戶端手工中斷與伺服器之間的連線(如關閉網頁或者重新啟動客戶端)。如果把配置檔案中的keepalivetimeout引數設定為ture,也可以起到類似的效果。對於這個選項來說,系統管理員需要慎用。因為根據經驗,一般使用者不會主動去關閉網頁。也就是說,不會主動去中斷客戶端與伺服器端之間的連線。他們很可能會在用完電腦需要關機的時候才會中斷這個連線。此時在伺服器端雖然有很多客戶端的連線數量,但是有不少可能都是「死連線」,在很長的一段時間內不會有資料的傳送動作。這對於伺服器來說,是一種效能上的浪費。為此筆者的意見是,寧可把使用者與伺服器之間的空閒時間設定的長一點,如2個小時甚至更久,也盡量不要採用永續性連線。

伺服器效能提高建議

這些天在看游雙的高效能伺服器程式設計這本書,總結下如何提高伺服器效能 1 伺服器的本身的硬體資源,比如cpu的個數 速度 記憶體大小等,這是硬體資源方面 軟體資源方面 1 使用執行緒池和程序池,傳統的處理流程是監聽執行緒監聽有沒有新的使用者連線伺服器,每當有乙個新的 使用者進入,伺服器就開啟乙個新的...

如何提高伺服器網絡卡的效能

基本思路是如何讓cpu的超執行緒或者多核更加均衡和高效的利用起來,我們知道總是有一塊cpu去專門響應網絡卡的中斷請求,如果網路請求包非常大,很可能單個cpu就處理不過來,因此,需要啟用多核或者超執行緒,把網絡卡中斷請求分發到多個cpu去執行,從而提高整體伺服器的接入效能,也是提高cpu資源利用率的好...

伺服器安裝apache伺服器

1.環境 centos7 2.鏈結伺服器 ssh username ip 3.安裝apache 4.設定apache在伺服器啟動時執行 5.在apache配置檔案中設定網域名稱 vi etc httpd conf httpd.conf,找到 servername 新增 網域名稱 80 儲存並退出。6...