HTTP 的最佳化設定

来源:百度文库 编辑:神马文学网 时间:2024/04/28 11:10:27
虛擬主機系列 - HTTP 的最佳化設定
作者: 鄙雕兔  日期: 2007-01-20 21:30
字體大小:小中大

一. 適用系統 : Fedora Core 3, 4, 5, 6
二. 說明 :
當一個 linux 系統上面安裝了很多的客戶後, 系統的效能就會越來越慢, 特別是一些有進行 MySQL 查詢資料的用戶, 比如線上購物網站, 線上社群網站, 線上 Blog ... 等, 這些網站會佔用很多的系統的資源, 這次的調校主要是因為原本的系統採用Fedora 的預設安裝套件, 沒有作任何的最佳化, 所以會將原本系統上面 4Gb 的 Ram 完全用完, 造成其它系統服務無法順利啟動, 所以就將幾台主機作一些最佳化的設定, 修改後可以節省下約 30-50% 的記憶體使用, 這對於一台每天 3000-6000 人次的使用量主機來說, 相當不錯.
三. 修改設定檔案 :  /etc/httpd/conf/httpd.conf (若非採用 Fedora 系統的用戶, 請找到原 Apache  設定檔位址後修改)
四. 主要修改內容如下 :
(1) 先將可以主機可以服務的數量提升
HTTP 2.0 後有支援參數式設定啟動, 若你的主機服務量很大的話請修改以下的幾個參數.
===== 以上設定省略 =====
:
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves

StartServers 100
#啟動時執行伺服器程序數目, 這部份可以統計主機同時接入的數量來調整
MinSpareServers 32
#至少要產生的伺服器程序數目
MaxSpareServers 2048
#最多能產生的伺服器程序數目, 這部份是限制系統最大的數量
MaxClients       256
#主機同一時間能夠服務的人數 , 請加大這個連線數量, 好讓主機可以服務更多的用戶
MaxRequestsPerChild 4000
#最大子程序能處理要求數量

:
===== 以下設定省略 =====
(2) 將一些沒有用到的模組 Mark 掉, 這樣就可以將 Ram 釋放出來給其它服務用
LoadModule access_module modules/mod_access.so
LoadModule auth_module modules/mod_auth.so
LoadModule auth_anon_module modules/mod_auth_anon.so
LoadModule auth_dbm_module modules/mod_auth_dbm.so
LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule ldap_module modules/mod_ldap.so
# 若是有用到 LDAP 認證及 LDAP 服務的系統請勿 Mark
#LoadModule auth_ldap_module modules/mod_auth_ldap.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule env_module modules/mod_env.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
#LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule asis_module modules/mod_asis.so
LoadModule info_module modules/mod_info.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
#LoadModule imap_module modules/mod_imap.so
LoadModule actions_module modules/mod_actions.so
LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule cache_module modules/mod_cache.so
LoadModule suexec_module modules/mod_suexec.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule file_cache_module modules/mod_file_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule cgi_module modules/mod_cgi.so
(3) 以上修改的設定資料的服務主機每天約有 5000 人次瀏覽
(4) 修改完成之後記得將 httpd 的服務重新啟動
引用通告地址: http://jeantean.idv.tw/linux/trackback.php?tbID=4&extra=abb8b1