LINUX.ORG.RU
ФорумAdmin

Проблема: высокий la, 44.3% us + 55.7% sy = 100%


0

0

На сервере (p4 3Ггц 1Гб) крутится nginx как фронтэнд и apache(1.3.37) бэкэндом, БД - mysql(5.0.27). Сайт на PHP посещаемость 5-7 тысяч человек в день (50-100 тысяч страниц в день). На сервере есть еще несколько сайтов, которые могут еще добавлять до 20% от этих посещений.

Переодически сервак начинает тормозить. При этом показывает примерно такую штуку:

top - 21:53:32 up 4 days, 12:23,  1 user,  load average: 12.82, 13.41, 12.53
Tasks:  61 total,  14 running,  47 sleeping,   0 stopped,   0 zombie
Cpu(s): 44.3% us, 55.7% sy,  0.0% ni,  0.0% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:   1029864k total,  1004336k used,    25528k free,    77228k buffers
Swap:  2048184k total,     3172k used,  2045012k free,   627064k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 3979 mysql     15   0  227m  73m 5292 S 13.0  7.3   0:53.14 mysqld
 5223 nobody    15   0 42976  12m 5524 S  7.6  1.2   0:00.37 httpd
 3623 nobody    25   0 42928  11m 5076 R  6.6  1.2   0:50.08 httpd
 5226 nobody    16   0 40752  10m 3340 S  6.6  1.0   0:00.22 httpd
 3602 nobody    25   0 42972  12m 5604 R  6.0  1.2   0:51.77 httpd
 5224 nobody    15   0 42960  12m 5704 S  5.6  1.2   0:00.31 httpd
 3629 nobody    25   0 40632 8932 2128 R  5.0  0.9   0:49.69 httpd
 5228 nobody    16   0 42872  12m 5440 S  5.0  1.2   0:00.18 httpd
 3320 nobody    25   0 42944  12m 5512 R  3.3  1.2   1:15.10 httpd
 3333 nobody    25   0 42920  11m 4944 R  3.3  1.2   1:11.68 httpd
 3337 nobody    25   0 42880  10m 3884 R  3.3  1.1   1:14.19 httpd
 3377 nobody    25   0 40632 8944 2140 R  3.3  0.9   1:08.51 httpd
 3383 nobody    25   0 42972  12m 5868 R  3.3  1.3   1:08.18 httpd
 3477 nobody    25   0 42936  10m 3984 R  3.3  1.1   0:57.23 httpd
 3544 nobody    25   0 42900  12m 5500 R  3.3  1.2   0:55.63 httpd
 3625 nobody    25   0 42740 9936 3116 R  3.3  1.0   0:49.64 httpd
 5216 nobody    20   0 44244  13m 5768 R  3.3  1.4   0:03.99 httpd
 5227 nobody    16   0 42960  11m 4900 S  3.3  1.2   0:00.14 httpd
 1626 nobody    15   0 18064 4356  884 S  2.7  0.4   0:48.74 nginx
 5229 nobody    17   0 42876  11m 4720 S  2.7  1.1   0:00.09 httpd
 5225 nobody    16   0 42948  12m 5636 S  2.0  1.2   0:00.36 httpd
 5221 nobody    16   0 43204  12m 5792 S  1.7  1.3   0:00.27 httpd

Если остановить mysql - ситуация не меняется. То же распределение загрузки процессора примерно 40-60% us и остальное sy. Как только останавливаю апач нагрузка падает. Поэтому думаю что проблема именно в нем.

Вот такие параметы в конфиге прописаны:

Timeout 10
KeepAlive On
MaxKeepAliveRequests 20
KeepAliveTimeout 30

MinSpareServers 5
MaxSpareServers 15
StartServers 10

MaxClients 200
MaxRequestsPerChild 30

Вообще, через день - другой эта ситуация прекращается, и где пару - тройку недель сервер работает без проблем. Однако эти пару дней сервер практически лежит. А уж о том чтобы управлять сайтом через админку - даже и речи не идет - все тормозит ужаснейше.

В чем проблема - не знаю уже весь мозг сломал. Поэтому здесь решил зарегистрироваться и попросить помощи.


Смотри access.log для начала.
Можно стянуть оттуда и скормить какому-нибудь парсеру, посмотреть статистику по нагрузке в плане запросов, кто и откуда.

CyberTribe ★★
()

>Сайт на PHP посещаемость 5-7 тысяч человек в день (50-100 тысяч страниц в день). На сервере есть еще несколько сайтов, которые могут еще добавлять до 20% от этих посещений.

эти цифры ни о чем не говорят. сколько апач обслуживает реквестов в сек?

Cosmicman ★★
()

strace натрави на какой-нить из процессов apache. Если дело в нём то это будет видно.

true_admin ★★★★★
()
Ответ на: комментарий от Cosmicman

Если честно - я во всем этом новичок и не знаю как посмотреть это. Подскажите как узнать это?

dab
() автор топика

Ещё информация:

Остановил nginx и mysql... Теперь я вообще ничего не понимаю...

top - 20:16:54 up 5 days, 10:46,  1 user,  load average: 15.76, 17.14, 16.18
Tasks:  61 total,  17 running,  44 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.3% us, 99.7% sy,  0.0% ni,  0.0% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:   1029864k total,   886252k used,   143612k free,    98244k buffers
Swap:  2048184k total,     8460k used,  2039724k free,   519012k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
30270 nobody    25   0 38892 8936 2132 R  6.7  0.9   2:05.88 httpd
30413 nobody    25   0 41136  11m 4804 R  6.7  1.1   1:58.48 httpd
30422 nobody    25   0 41236  13m 6256 R  6.7  1.3   1:59.07 httpd
30431 nobody    25   0 41180  13m 6288 R  6.7  1.3   1:59.00 httpd
30461 nobody    25   0 38892 8968 2164 R  6.7  0.9   1:55.97 httpd
30470 nobody    25   0 41232  13m 6508 R  6.7  1.3   1:57.47 httpd
30525 nobody    25   0 41240  13m 7120 R  6.7  1.4   1:55.18 httpd
30540 nobody    25   0 41132  11m 4988 R  6.7  1.2   1:52.28 httpd
30542 nobody    25   0 41000 9940 3120 R  6.7  1.0   1:52.17 httpd
31945 nobody    25   0 41192  13m 6484 R  6.7  1.3   1:00.38 httpd
32461 nobody    25   0 41236  13m 6336 R  6.7  1.3   0:25.50 httpd
32462 nobody    25   0 41160  11m 5156 R  6.7  1.2   0:25.05 httpd
32488 nobody    25   0 41152  11m 4904 R  6.7  1.2   0:24.89 httpd
32489 nobody    25   0 41148  12m 5236 R  6.7  1.2   0:24.59 httpd
32495 nobody    25   0 41196  11m 4800 R  6.7  1.2   0:22.60 httpd
    1 root      16   0  3504  672  576 S  0.0  0.1   0:00.52 init
26202 root      16   0  3012  564  472 S  0.0  0.1   0:10.33 syslogd
26213 root      16   0  6596 1112  792 S  0.0  0.1   0:00.27 sshd
26223 root      16   0  4312  528  296 S  0.0  0.1   0:00.05 vsftpd
26342 root      15   0  2944  604  476 S  0.0  0.1   0:52.52 dovecot
26386 root      16   0 20144 2916  820 S  0.0  0.3   0:38.34 sp-milter
26392 root      16   0  7068 1692 1292 S  0.0  0.2   0:09.33 dovecot-auth
26424 root      16   0  8736 2092 1032 S  0.0  0.2   0:20.70 sendmail
26433 smmsp     16   0  7524 1704  864 S  0.0  0.2   0:00.01 sendmail
26449 root      16   0  4388 1112  572 S  0.0  0.1   0:00.23 crond

dab
() автор топика
Ответ на: комментарий от r0mik

Не могу найти где скачать mod_status.so для i386 для Apache 1.3 Не подскажите как его можно добыть?

dab
() автор топика
Ответ на: Ещё информация: от dab

> Остановил nginx и mysql... Теперь я вообще ничего не понимаю...

apache на каком-нибудь левом порту? а он точно висит только на 127.0.0.1?

вообще, имеет смысл покрутить my.cnf на предмет увеличения кеша ключей. для начала.

и да, смотреть логи. вполне может быть что кто-то тупо тебя dos-ит.

dmiceman ★★★★★
()

Нагрузочное тестирование проводили? Вполне вероятно, что просто не хватает железных ресурсов

K-Vrat
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.