欧美性猛交黑人xxxx,成人毛片一区二区三区,久久综合九色综合精品,男的把j放进女人下面视频免费

如何測試和調試Linux的Apache服務器

  • 發布于:2022-10-28
  • 188 人圍觀

  Apache是運行在Linux操作系統上的頭號Web服務器。很多小地方都能夠用來調整Apache的性能,并降低他對系統資源的影響。其中一個就是調整內存使用率,當然達到這一目的可能還是需要花點功夫的。

  例如,通過ps來確定httpd線程的內存使用率,能夠輸入下面的命令:

  # ps -U apache -u apache u

  USERPID %CPU %MEMVSZRSS TTYSTAT START TIME COMMAND

  apache130670.05.3 149704 54504 ?SOct071:53 /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf -DAPACHE2

  ...

  上面這段輸出顯示了單個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 http://yoursite.com/index.php

  現在把上面的服務器配置改為更加保守的配置,重新啟動Apache,試著再次測試(總是從遠程電腦上進行,而不是本機)。

  在這里的測試中,不同的配置導致執行所消耗的時間產生了一倍的差距(分別為27.8s和16.8s),但是負載的平均值為0.03和0.30。這可能會使得您的網站變得稍慢,但是會確保他不會在高負載的情況下崩潰。還要記住的是,您將需要進行多次測試,以便取得一個平均值。

  使用ab是測試調整Apache配置的一個極佳方法,應該在您每次做出影響性能的更改時使用他。

萬企互聯
標簽: