Назад | Перейти на главную страницу

Настройка ограничения максимального числа подключений на сервере Apache - CentOS 6.4

У нас есть сервер Apache и CherryPy (Python), работающий на CentOs 6.4. Вчера сервер Apache внезапно отключился, а CherryPy, использующий порт 8080, работает нормально. Мы пытаемся решить проблему, но безуспешно. Похоже, что что-то не так с максимальным количеством одновременных подключений, но мы не знаем, как это исправить или даже выяснить настоящую проблему. Файлы журнала ошибок имеют примерно такой вид:

    [Sun Aug 04 04:47:16 2013] [notice] mod_python: Creating 4 session mutexes based on 10       max processes and 0 max threads.
    [Mon Aug 05 21:57:31 2013] [notice] mod_python: Creating 4 session mutexes based on 10   max processes and 0 max threads.
    [Mon Aug 05 21:58:46 2013] [error] server reached MaxClients setting, consider raising the MaxClients setting  

Кто-нибудь знает, как решить эту проблему?
P.S. мы совершенно новички в серверной части.

Вы должны проверить значения в /etc/httpd/conf/httpd.conf

<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  4000
</IfModule>

Вам следует изменить модель обработки, которую вы используете (может быть, она рабочая)

Вы можете попытаться определить, сколько клиентов могут обслуживать ваш сервер, из вывода top / atop / htop

# top
top - 15:06:24 up 41 days, 16:18,  2 users,  load average: 3.58, 2.59, 2.34
Tasks: 204 total,   1 running, 203 sleeping,   0 stopped,   0 zombie
Cpu(s): 14.6%us,  0.5%sy,  0.0%ni, 84.3%id,  0.3%wa,  0.0%hi,  0.3%si,  0.0%st
Mem:  24676512k total, 14828220k used,  9848292k free,   343688k buffers
Swap:  2102456k total,      188k used,  2102268k free, 10690524k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
19965 apache    16   0  413m 113m 3980 S  5.7  0.5   3:11.01 httpd
20954 apache    16   0  383m  83m 3952 S  5.7  0.3   1:16.31 httpd
21274 apache    16   0  382m  81m 3988 S  5.7  0.3   0:29.20 httpd
21376 apache    16   0  371m  67m 3728 S  5.7  0.3   0:03.58 httpd
20943 apache    16   0  384m  83m 3948 S  5.3  0.3   1:18.98 httpd
20969 apache    16   0  384m  83m 3928 S  5.3  0.3   1:18.67 httpd
21264 apache    16   0  382m  80m 3796 S  5.3  0.3   0:27.93 httpd
21364 apache    16   0  379m  75m 3848 S  5.3  0.3   0:04.28 httpd
21370 apache    16   0  378m  75m 3712 S  5.3  0.3   0:04.31 httpd
21371 apache    16   0  378m  74m 3772 S  5.3  0.3   0:04.51 httpd
21374 apache    16   0  379m  74m 3804 S  5.3  0.3   0:03.50 httpd
21377 apache    16   0  379m  76m 3896 S  5.3  0.3   0:04.54 httpd
21043 apache    16   0  383m  82m 3976 S  5.0  0.3   1:17.40 httpd
21262 apache    16   0  382m  81m 3900 S  5.0  0.3   0:28.30 httpd

Как видно из выходных данных, средний объем оперативной памяти, необходимый для одного процесса apache (столбец RES), составляет ~ 80 МБ.