亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
12下一頁(yè)
最近訪問(wèn)板塊 發(fā)新帖
查看: 3847 | 回復(fù): 11
打印 上一主題 下一主題

[Web] 使用worker后,系統(tǒng)消耗劇增許多。 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2006-11-30 21:46 |只看該作者 |倒序?yàn)g覽
諸位大俠,我對(duì)apache不太熟,遇到了一個(gè)問(wèn)題,這里向諸位大俠請(qǐng)教。
案例是一個(gè)高峰時(shí)四五百人在線的論壇。
硬件環(huán)境:CPU Intel(R) Xeon(TM) CPU 2.80GHz ,內(nèi)存2G
軟件環(huán)境,內(nèi)核 2.6.15-dcc-smp
之前使用的apache是系統(tǒng)自帶的,prefork,load average一般都在1以下,甚至很多時(shí)候在0.4以下,CPU占用率通常超不過(guò)20%,大多數(shù)時(shí)候都是10%以下。
編譯進(jìn)核內(nèi)的有:
  1. Compiled in modules:
  2.   core.c
  3.   mod_access.c
  4.   mod_auth.c
  5.   mod_log_config.c
  6.   mod_logio.c
  7.   mod_env.c
  8.   mod_setenvif.c
  9.   prefork.c
  10.   http_core.c
  11.   mod_mime.c
  12.   mod_status.c
  13.   mod_autoindex.c
  14.   mod_negotiation.c
  15.   mod_dir.c
  16.   mod_alias.c
  17.   mod_so.c
復(fù)制代碼


動(dòng)態(tài)加載的模塊有:
  1. auth_pam.load     dav_fs.load      layout.load  php4.conf     userdir.load
  2. auth_shadow.load  dav.load         ntlm.load    php4.load
  3. cgi.load          file_cache.load  perl.conf    rewrite.load
  4. dav_fs.conf       include.load     perl.load    userdir.conf
復(fù)制代碼


prefork相關(guān)配置是:
  1. <IfModule prefork.c>
  2. StartServers 20
  3. MinSpareServers 20
  4. MaxSpareServers 100
  5. ServerLimit 1000
  6. #MaxClients 300
  7. MaxClients 400
  8. MaxRequestsPerChild 0
  9. </IfModule>
復(fù)制代碼



因?yàn)橐玫哪承┠K沒法加進(jìn)來(lái),所以我另外編譯了一個(gè)apache,在這里看到prefork和worker的介紹,就決定使用worker。
但是今天換用后,發(fā)現(xiàn)系統(tǒng)消耗比從前用prefork高了很多, load average:絕大多數(shù)時(shí)候都在1以上,剛才我甚至看到 load average:到了19,嚇我一跳。
而CPU資源的消耗也比用prefork時(shí)多了很多,大多數(shù)時(shí)候都是30%,最多到50%,內(nèi)存消耗倒是沒變化。
我知道CPU和內(nèi)存買回來(lái)就是要用的,但是現(xiàn)在論壇人數(shù)沒有增加,換用worker系統(tǒng)消耗就忽然多了這么多,我覺得很奇怪。
另外,我擔(dān)心如果人數(shù)再增加,或者上別的應(yīng)用,系統(tǒng)會(huì)吃不消。

目前用top看到的情況是:
  1. top - 21:38:04 up 72 days, 12:39,  1 user,  load average: 1.31, 1.25, 1.51
  2. Tasks:  79 total,   3 running,  76 sleeping,   0 stopped,   0 zombie
  3. Cpu(s): 45.4% us,  4.5% sy,  0.0% ni, 48.9% id,  0.2% wa,  0.0% hi,  1.0% si
  4. Mem:   2073532k total,  2016800k used,    56732k free,    42984k buffers
  5. Swap:  3108856k total,     1516k used,  3107340k free,  1302328k cached

  6.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
  7.   7850 www-data  16   0  511m  86m 4396 S 37.6  4.3  10:19.14 httpd               
  8.   6402 www-data  18   0  508m  80m 4524 S 23.0  4.0  63:47.19 httpd               
  9.   7966 www-data  17   0  507m  80m 4240 S 12.3  4.0   9:56.60 httpd               
  10.   8022 www-data  17   0  514m  86m 4400 S 11.3  4.3   9:07.98 httpd               
  11.   6371 www-data  17   0  511m  82m 4568 S  7.7  4.1  63:32.37 httpd   

復(fù)制代碼



httpd內(nèi)核情況:
  1. # ./httpd -l
  2. Compiled in modules:
  3.   core.c
  4.   worker.c
  5.   http_core.c
  6.   mod_so.c
復(fù)制代碼



模塊,好像多了一點(diǎn),但似乎也沒法減少:
  1. LoadModule authn_default_module modules/mod_authn_default.so
  2. LoadModule authz_host_module modules/mod_authz_host.so
  3. LoadModule authz_default_module modules/mod_authz_default.so
  4. LoadModule auth_basic_module modules/mod_auth_basic.so
  5. LoadModule auth_digest_module modules/mod_auth_digest.so
  6. LoadModule include_module modules/mod_include.so
  7. LoadModule filter_module modules/mod_filter.so
  8. LoadModule deflate_module modules/mod_deflate.so
  9. LoadModule log_config_module modules/mod_log_config.so
  10. LoadModule logio_module modules/mod_logio.so
  11. LoadModule env_module modules/mod_env.so
  12. LoadModule headers_module modules/mod_headers.so
  13. LoadModule setenvif_module modules/mod_setenvif.so
  14. LoadModule mime_module modules/mod_mime.so
  15. LoadModule autoindex_module modules/mod_autoindex.so
  16. LoadModule vhost_alias_module modules/mod_vhost_alias.so
  17. LoadModule negotiation_module modules/mod_negotiation.so
  18. LoadModule dir_module modules/mod_dir.so
  19. LoadModule alias_module modules/mod_alias.so
  20. LoadModule rewrite_module modules/mod_rewrite.so
  21. LoadModule php5_module        modules/libphp5.so
  22. LoadModule limitipconn_module modules/mod_limitipconn.so
復(fù)制代碼



mpm的設(shè)置
  1. <IfModule mpm_worker_module>
  2.     StartServers          3
  3.     MaxClients          1500
  4.     MinSpareThreads      25
  5.     MaxSpareThreads      200
  6.     ServerLimit         40
  7.     ThreadLimit         200
  8.     ThreadsPerChild      50
  9.     MaxRequestsPerChild   0
  10. </IfModule>

復(fù)制代碼







請(qǐng)諸位大俠幫我分析一下問(wèn)題出在哪里。
多謝指點(diǎn)。

[ 本帖最后由 siyeclover 于 2006-11-30 21:56 編輯 ]

論壇徽章:
1
技術(shù)圖書徽章
日期:2013-12-05 23:25:45
2 [報(bào)告]
發(fā)表于 2006-11-30 22:00 |只看該作者
worker模式使用的進(jìn)程少,perfork模式進(jìn)程多一些,你要把他們?nèi)恳黄饘?duì)比。

不過(guò)php在worker模式并不是所推薦的。

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2006-11-30 22:05 |只看該作者
多謝HonestQiao回貼。
但是200多個(gè)prefork httpd加一起消耗的cpu資源,也沒有4個(gè)worker httpd消耗的多,而且是差很多。
我覺得,不該這樣啊,負(fù)載并沒有增加。
我是比較擔(dān)心如果負(fù)載增加,系統(tǒng)就吃不消。

php使用的是5.1.6。

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2006-12-01 10:28 |只看該作者
max client一個(gè)是400,一個(gè)是1500,在400的時(shí)候是不是你已經(jīng)拒絕掉許多流量從而性能看起來(lái)就比較好呢?

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2006-12-01 23:43 |只看該作者
多謝您的回復(fù),我把MaxClients改到400以后,情況沒有變化。

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2006-12-03 19:04 |只看該作者
StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadsPerChild      25
    MaxRequestsPerChild  2000
你按上面的worker配置試一下,這個(gè)一個(gè)雙xeon 3.0 ht 6Gram 機(jī)子的配置,ip 3萬(wàn)/天
apache說(shuō)明里說(shuō)到過(guò)使用worker會(huì)影響負(fù)載
另外我通過(guò)ab測(cè)試發(fā)現(xiàn) worker模式?jīng)]有perfork的效率好,最近也在猶豫是不是轉(zhuǎn)回perfork.希望可以多多交流相關(guān)信息。

最后希望HonestQiao兄可以針對(duì)“不過(guò)php在worker模式并不是所推薦的! 這個(gè)多說(shuō)兩句。謝

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2006-12-04 13:24 |只看該作者
WORK是線程模式,對(duì)于線程不安全的模塊,不建議使用WORK方式,看使用的情況用ps -axfm

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2006-12-04 13:47 |只看該作者
原帖由 喬蘇 于 2006-12-3 19:04 發(fā)表
StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadsPerChild      25
    MaxRequestsPerChild  2000
你按上面的worker配置試一下 ...



“不過(guò)php在worker模式并不是所推薦的!比绻褂脀orker模式就要加Zend,因此PHP不建議使用worker模式

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2006-12-04 13:52 |只看該作者
LZ:要把ServerLimit和ThreadLimit放在最前面,想這樣    :
<IfModule worker.c>
ServerLimit         20
ThreadLimit         200
StartServers        10
MaxClients          1800
MinSpareThreads     75
MaxSpareThreads     200
ThreadsPerChild     150
MaxRequestsPerChild  0
</IfModule>
以上是我的配置,top如下:
13:52:39  up 12 days, 23:31,  1 user,  load average: 0.64, 0.64, 0.55
492 processes: 487 sleeping, 5 running, 0 zombie, 0 stopped
CPU states:  cpu    user    nice  system    irq  softirq  iowait    idle
           total   28.6%    0.0%    3.2%   0.1%     0.5%    0.0%   67.2%
           cpu00   27.0%    0.0%    3.3%   0.3%     0.9%    0.0%   68.1%
           cpu01   30.2%    0.0%    3.1%   0.0%     0.1%    0.0%   66.4%
Mem:  1024628k av,  912932k used,  111696k free,       0k shrd,   85172k buff
                    503584k actv,  182920k in_d,   14676k in_c
Swap: 1534196k av,   92064k used, 1442132k free                  427336k cached

機(jī)器配置1Gram
cpu   2.8志強(qiáng)

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2006-12-04 16:33 |只看該作者
就我的經(jīng)驗(yàn)如果按樓上的把
StartServers        10
MaxClients          1800
這些值設(shè)的比較高,訪問(wèn)量比較高的主機(jī)負(fù)載會(huì)很高。當(dāng)遇到訪問(wèn)量突然加大(或攻擊)的情況,就會(huì)拖垮主機(jī)。
不知道我說(shuō)的對(duì)不對(duì)。
另外謝謝7,8樓的解釋,我在apache2的手冊(cè)里也找到了類似的話,看來(lái)網(wǎng)上流傳的“worker”學(xué)說(shuō)真是害人不淺。

[ 本帖最后由 喬蘇 于 2006-12-4 16:35 編輯 ]
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP