1 內存
適當選用適合大小的內存,保證谷峯負載時,有足夠的內存使用
2 使用ab測試apache性能
- ab -n 1000 -c 10 http://www.test.com
使用ab的缺點:不能更真實的模仿用戶的操做。
3 調節保持鏈接的設定
- KeepAlive On #在單一鏈接時進行多個請求
- MaxKeepAliveRequests 200 #單一鏈接時間能夠容許多少個保持鏈接的請求
- KeepAliveTimeout 15 #在沒有接受其餘請求時,會持續開啓特定鏈接的時間
調整合適的各項值
4 取得網站活動快照
啓用server-status處理器來取得子進程在運行的快照
- <Location /server-status>
- SetHandler server-status
- </Location>
- ExtendedStatus On
5 避免DNS查詢
以DNS來查詢客戶端地址
6 最佳化符號連接
主要考慮安全防禦:永遠不要容許遵循符號連接
主要考慮性能:永遠使用Options FollowSysLinks且毫不使用Options SysLinkIfOwnerMatch
7 儘可能下降.htaccess文件對性能的影響
只在必要的目錄中啓用AllowOverride,並告知Apache不要浪費時間在其餘的位置上查找.htaccess文件
而後以<Directory>區塊啓用必要的.htaccess文件
8 最佳化進程的產生
MinSpareServers MaxSpareServers 控制服務器池的大小,以便有子進程等待服務引入的請求
(永遠不要發生,當請求送至網站卻沒有閒置的服務器進程在等待處理請求的情形)
9 調節線程的產生
- <IfModule mpm_winnt.c>
- ThreadsPerChild 1000
- MaxRequestsPerChild 8000
- Win32DisableAcceptEx
- </IfModule>
10 將常常查看的文件存入高速緩存區
[使用MMapFile]----將文件內容存入內存的高速緩衝區
- MMapFile /www/xxx/index.html
- MMapFile /www/xxx/otherpage.html
[使用CacheFile]----將文件句柄存入內存的高速緩衝區,稍微下降系統性能,可是佔用內存較少
- CacheFile /www/xxx/index.html
- CacheFile /www/xxx/otherpage.html
參考資料:《apache cookbook
》