5975浏覽量

windows下(xià)修改apache并發配置

來源:青橙科技 時間:2018-01-11

爲了更充分(fēn)合理地利用Apache服務器,我(wǒ)們都應該根據自己的實際需要對Apache的默認配置作出一(yī)些必要的調整。而針對Apache的優化配置過程中(zhōng),修改Apache的最大(dà)并發連接數就顯得尤爲重要。

操作系統 MPM模塊 描述
Windows mpm_winnt 例如:windows2008 R2系統下(xià)使用Apache爲中(zhōng)間件時候
Unix/Linux mpm_prefork
BeOS mpm_beos 由Be公司開(kāi)發的一(yī)種多媒體(tǐ)操作系統,官方版已停止更新。
Netware mpm_netware 由NOVELL公司推出的一(yī)種網絡操作系統
OS/2 mpmt_os2 一(yī)種最初由微軟和IBM共同開(kāi)發的操作系統,現由IBM單獨開(kāi)發(微軟放(fàng)棄OS/2,轉而開(kāi)發Windows)

1 :如果不确定具體(tǐ)的模式也可以首先查看apache的運行模式,查看命令:httpd -l

Compiled in modules:
  core.c
  mod_win32.c
  mpm_winnt.c
  http_core.c
  mod_so.c
        這裏可以看到運行模式是winnt模式。


2:修改apache 的httpd-mpm.conf 配置

打開(kāi) apache2/conf/extra/httpd-mpm.conf ,每個機器可能httpd-mpm.conf 可能不同,這裏可以通過find 命令查詢。

3:以mpm_winnt模塊爲例說明,mpm_winnt模是專門針對Windows操作系統而優化設計的MPM模塊。它隻創建一(yī)個單獨的子進程,并在這個子進程中(zhōng)輪流産生(shēng)多個線程來處理請求。


對于Windows系統,默認會使用mpm_winnt,即:

  ThreadsPerChild       150
  MaxRequestsPerChild     0

建議的設置:

ThreadsPerChild 500

MaxRequestsPerChild 100000


詳細補充說明:

ThreadsPerChild
這個參數用于設置每個進程的線程數
子進程在啓動時建立這些線程後就不再建立新的線程了,一(yī)方面因爲mpm_winnt不能啓動多個進程, 所以這個數值要足夠大(dà),以便可以處理可能的請求高峰,另一(yī)方面該參數以服務器的響應速度爲準的, 數目太大(dà)的反而會變慢(màn)。因此需要綜合均衡一(yī)個合理的數值。
mpm_winnt上的默認值是64, 最大(dà)值是1920. 
這裏建議設置爲100-500之間,服務器性能高的話(huà)值大(dà)一(yī)些,反之值小(xiǎo)一(yī)些。


MaxRequestsPerChild
該參數表示每個子進程能夠處理的最大(dà)請求數, 
即同時間内子進程數目.設置爲零表示不限制, mpm_winnt上的默認值就是0.
官方參考手冊中(zhōng)不建議設置爲0, 主要基于兩點考慮:
(1) 
可以防止(偶然的)内存洩漏無限進行,從而耗盡内存;
(2) 
給進程一(yī)個有限壽命,從而有助于當服務器負載減輕的時候減少活動進程的數量。
這個參數的值更大(dà)程度上取決于服務器的内存,如果内存比較大(dà)的話(huà)可以設置爲0或很大(dà)的數字,否則設置一(yī)個小(xiǎo)的數值。需要說明的是,如果這個值設置的太小(xiǎo)的話(huà)會造成Apache頻(pín)繁重啓,在日志(zhì)文件中(zhōng)會看到如下(xià)的文字:
Process exiting because it reached Process exiting because it reached MaxConnectionsPerChild. Signaling the parent to restart a new child process.
這樣一(yī)來apache就會重啓,降低了Apache的總體(tǐ)性能。

甚至嚴重時候出現錯誤日志(zhì)内容 Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting。這樣就會導緻重啓失敗,站點或服務器上的應用無法訪問了。

聯系我(wǒ)們

一(yī)次需求提交或許正是成就一(yī)個出色産品的開(kāi)始。
歡迎填寫表格或發送合作郵件至: qczsky@126.com

大(dà)理青橙科技

電(diàn)話(huà):13988578755 13988578755

郵箱:qczsky@126.com

地址:大(dà)理市下(xià)關龍都春天10層