apache
是執行在linux 作業系統上的頭號web 伺服器。很多小地方都可以用來調整apache 的效能,並降低它對系統資源的影響。其中乙個就是調整記憶體使用率,當然達到這一目的可能還是需要花點功夫的。
例如,通過ps 來確定httpd 執行緒的記憶體使用率 ,可以輸入下面的命令:
...上面這段輸出顯示了單個httpd 程序使用了50 mb 的rss (駐留集大小)記憶體(或者非交換物理記憶體),以及149 mb 的vsz (虛擬)記憶體。這當然在很大程度上取決於你在apache 裡載入和執行的模組數量。這決不是乙個固定的數字。由於這個數字裡還包含了共享庫包,所以不是100 %的準確。我們可以認為rss 數字的一半是httpd 線**正使用的記憶體數,這可能還有點保守,但是離我們的目的已經非常接近了。
在本文裡,我們假設每個httpd 程序都在使用了27 mb 記憶體。然後,你需要確定可以讓httpd 真正使用的記憶體數。根據執行在機器上的其他程序,你可能希望要求50 %的物理記憶體都供apache 使用。在乙個裝有1gb 記憶體的系統上,就有512mb 的記憶體可以被劃分為多個27mb 的記憶體,也就是大約19 個併發的httpd 記憶體。有些人堅持認為每個httpd 執行緒「 真正」 使用大約5mb 的記憶體,所以從理論上講你可以把512mb 的記憶體劃分出102 個併發程序供apache 使用(要記住的是,除非你的**需要極其巨大的流量,否則這種情況是非常罕見的)。
在預設狀態下,apache 會分配最大256 個併發客戶端連線,或者256 個程序(每乙個都對應乙個請求)。按照這種設定,乙個流量巨大的**會在頃刻間崩潰(即使你假設每個程序占用5mb 記憶體,那也需要1.3gb 的記憶體來滿足請求的數量) 。如果不採取其它措施,系統會通過硬碟來嘗試使用交換空間以處理它無法在物理記憶體中完成的任務。
其他可以調整的專案包括keepalive 、keepalivetimeout 和maxkeepaliverequests 等設定。可以放在httpd.conf 檔案裡的推薦設定有:
serverlimit 128maxclients 128keepalive onkeepalivetimeout 2maxkeepaliverequests 100
通過將keepalivetimeout 從15 秒減到2 秒,可以增加maxclients 命令;19 太小,而128 要好得多。通過減少程序存活的秒數,你可以在相同的時間內允許更多的連線。
當然,如果沒有真正的測試在背後支援,數字就是毫無意義的,這就是ab 的作用之所在 。使用ab 對apache 配置檔案(maxclients 等於 256 、serverlimit 等於256 、keepalivetimeout 等於15 )進行調整,使其能夠滿足1000 個請求(100 個連續請求併發產生)的調整方法如下。(在執行測試的時候要確保伺服器上有乙個終端開啟以觀察系統的負載。)
$ ab -n 1000 -c 100 -k
現在把上面的伺服器設定改為更加保守的設定,重新啟動apache ,試著再次測試(總是從遠端計算機上進行,而不是本機)。
在這裡的測試中,不同的設定導致執行所消耗的時間產生了一倍的差距(分別為27.8s 和16.8s ),但是負載的平均值為0.03 和 0.30 。這可能會使得你的**變得稍慢,但是會確保它不會在高負載的情況下崩潰。還要記住的是,你將需要進行多次測試,以便取得乙個平均值。
使用ab 是測試調整apache 配置的乙個極佳方法,應該在你每次做出影響效能的更改時使用它
mysql 許可權管理 轉轉轉
mysql使用者與許可權管理 對於root使用者的密碼操作 更改使用者密碼 剛剛安裝完的mysql,只一有個root使用者,密碼為空,而且只能在本機登入!為root加上密碼 123 bin mysqladmin u root password 123 或寫成 bin mysqladmin uroot...
轉,轉,轉,軟體專案的WBS
1.編碼之前 研究和分析 1.1 摸索經驗 1.1.1 了解使用者 1.1.2 了解管理部門 1.1.3 了解環境 1.1.4 里程碑標記 1.2 指定藍圖和增強信心 1.2.1 定義產品 1.2.2 分析需求 1.2.3 建立計畫 1.2.4 提出提議 1.2.5 里程碑標記 1.3 著手第1 項...
腦筋轉轉彎!!
1.3個人3天用3桶水,9個人9天用幾桶水?2.如果有一次移民出國的機會,最不想去那個國家?3.什麼事情明明你沒有做,卻要受罰?4.為什麼有乙個人經常從十公尺高的地方不帶任何安全裝置跳下?5.小王因工作需要交際應酬,雖然每天都很早回家,可妻子還是抱怨不斷,這為什麼?6.什麼官不僅不領工資,還要自掏腰...