<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Read Sean

    Read me, read Sean.
    posts - 508, comments - 655, trackbacks - 9, articles - 4

    今天遠程支持同事在Windows環境調優Apache服務器性能,記錄在此,供需要的朋友參考。

    Java EE應用,同時部署在兩個Tomcat(5.5.27)實例上,前面放了個Apache(httpd-2.2.19-win32-x86-no_ssl),通過mod_jk(1.2.32)做負載均衡,同一臺物理服務器,操作系統為64位的Windows Server 2003 SP2。現象是60+客戶端,平均每個客戶端每秒請求數2次,單個請求正常響應時間在500ms以內,即每秒沖進來120個請求,并發量最多在60上下,Apache就已不堪"重"負,靜態資源響應時間都超過10s,同時Tomcat和數據庫服務器均正常。憑我的經驗,同樣的壓力直接壓到Tomcat也不至于這么難看。看來問題出在Apache。

    首先修改httpd.conf配置文件,打開status模塊:

    LoadModule status_module modules/mod_status.so
    <Location /status>
      SetHandler server-status
      Order deny,allow
      Deny from all
      Allow from 127.0.0.1 #需要的話也可放開為all
    </Location>

    這樣我們就能通過/status頁面查看服務器當前的狀態信息,結果觀察到worker(即線程)數僅為64!坑爹啊!難怪撐不住。我記得以前Windows下面的Apache默認線程數沒這么小的。找準問題,接下來就好辦了:

    <IfModule mpm_winnt.c>
      ThreadsPerChild 300
      MaxRequestsPerChild 0
    </IfModule>

    稍微解釋一下:mpm_winnt.c是Apache為Windows NT提供的MPM (Multi-Processing Module),對應到Linux環境下,則有prefork.c(多進程/每進程1個線程)和worker.c(多進程+多線程)兩種MPM可選。Windows下面只會有父與子兩個進程,因此單個子進程能同時起多少線程(ThreadsPerChild)就成了調優的關鍵。另一個參數MaxRequestsPerChild的含義是單個子進程累計最多處理到少個請求,超過該值則退出重啟,這是出于防止內存泄露慢慢拖垮整個服務器而做的防御性措施,0表示不做此限制。

    新配置上線后,客戶端數量順利沖上200+。Case closed.

    主站蜘蛛池模板: 91香焦国产线观看看免费| av午夜福利一片免费看久久| 久久精品无码专区免费青青| 久久精品国产亚洲AV麻豆~| 青青操视频在线免费观看| 亚洲av一综合av一区| 久久国产精品免费看| 久久精品亚洲精品国产色婷| 最近中文字幕大全中文字幕免费| 亚洲嫩模在线观看| 69天堂人成无码麻豆免费视频| 亚洲欧洲国产视频| 免费观看黄网站在线播放| 亚洲成av人无码亚洲成av人| 国产乱弄免费视频| 国内精品免费久久影院| 91嫩草私人成人亚洲影院| 曰批全过程免费视频在线观看| 亚洲乱码日产精品一二三| 亚洲国产成人a精品不卡在线| 亚洲免费视频一区二区三区| 国产亚洲无线码一区二区 | 永久免费av无码网站大全| 亚洲精品V天堂中文字幕| 亚洲成a人片在线观看久| 精品亚洲永久免费精品| 亚洲国产系列一区二区三区| 国产免费午夜a无码v视频| 两个人看的www高清免费观看| 亚洲综合激情另类小说区| 午夜成人免费视频| 中文字幕无线码免费人妻| 亚洲国产模特在线播放| 国产国产人免费视频成69大陆| www.xxxx.com日本免费| 亚洲嫩草影院在线观看| yy6080亚洲一级理论| 99久久人妻精品免费二区| 苍井空亚洲精品AA片在线播放| 亚洲精品成人无码中文毛片不卡| 性做久久久久久久免费看|