apache效能最佳化參考

來源:互聯網
上載者:User

標籤:type   伺服器   模式   uid   進程   conf   流量   pre   level   

1)調整設定檔的配置項的值(httpd.conf)

Timeout 60 #建議設定該值比較小,有利於快速釋放串連。
KeepAlive Off #系統前端有安裝squid,則必須要開啟;否則處理動態內容多,則關閉,或處理靜態資源多,也許開啟。
MaxKeepAliveRequests 100
KeepAliveTimeout 15 #KeepAlive逾時時間,沒有指定該值,預設使用Timeout,否則使用該值。
配置工作模式1:prefork.c
<IfModule prefork.c>#多個子進程、每個子進程有1個線程,在某個時間點只能維持1個串連,效率高,但耗費記憶體
StartServers 5#啟動時建立的子進程數量<20 20~50 50~100
MinSpareServers 5#空閑子進程的最小數量預設5個 數量不夠會被建立
MaxSpareServers 10#空閑子進程的最大數量預設10個 多餘的進程會被關閉
ServerLimit 1024#apache中允許客服端請求串連的數量極限值 最大20000
MaxClients 768#允許客服端請求串連的數量 預設256 MaxClients 與ServerLimit必須同時增大 ServerLimit項必須放在MaxClients項前
MaxRequestsPerChild 0#每個子進程在其聲明周期中,能夠處理請求的數量,最大為10000 0 子進程不會結束 超過10000,多的子進程會被結束
</IfModule>

將MaxRequestsPerChild設定成非零值有兩個好處:
1)可以防止(偶然的)記憶體流失無限進行,從而耗盡記憶體。
2)給進程一個有限壽命,從而有助於當伺服器負載減輕的時候減少活動進程的數量。

對於KeepAlive連結,只有第一個請求會被計數。事實上,它改變了每個子進程限制最大連結數量的行為。
ThreadLimit >= ThreadsPerChild
MaxClients <= ServerLimit * ThreadsPerChild 必須是ThreadsPerChild的倍數 (2048 <= 25*25)
MaxSpareThreads >= MinSpareThreads+ThreadsPerChild(500 >= 25+25)
配置工作模式2: worker.c
<IfModule worker.c>#多個子進程、每個子進程有多個線程,在某個時間點只能維持1個串連,不耗費記憶體,適合高Cellular Data Package器,單個線程崩潰會引起同一進程中的其他線程崩潰
StartServers 3#啟動時建立的子進程數量
MinSpareThreads 25#空閑子進程的最小數量預設5個 數量不夠會被建立
MaxSpareThreads 75 #空閑子進程的最大數量 多餘的進程會被關閉 MaxSpareThreads>=MinSpareThreads+ThreadsPerChild
ServerLimit 25#apache中允許客服端請求串連的數量極限值 最大20000
MaxClients 150#允許客服端請求串連的數量 預設256 MaxClients 與ServerLimit必須同時增大 MaxClients<=ServerLimit*ThreadsPerChild
ThreadsPerChild 25#每個子進程建立常駐執行的線程數 預設100~500 最大值20000 與ThreadLimit必須同時增大
ThreadLimit 200#每個子進程可配置的線程數最大值ThreadLimit>=ThreadsPerChild
MaxRequestsPerChild 0#每個子進程在其聲明周期中,能夠處理最大請求的數量,最大為3000 0 子進程不會結束 超過10000,多的子進程會被結束
</IfModule>

設定到期時間
<IfModule expires_module.c>
ExpiresAction ON
ExpiresDefault "access plus 12 month"
ExpiresByType "text/html access plus 12 month"
</IfModule>

開啟gzip壓縮
<IfModule mod_deflate.c>
DeflateCompressionLevel 7
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
AddOutputFilter DEFLATE css js
</IfModule>

 

apache效能最佳化參考

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.