Apache не может стабильно поддерживать более 200 посетителей одновременно. Как установить модуль MPM?

Похоже, что сервер не может поддерживать почти две или три сотни человек, посещающих одновременно. Мы загрузили несколько новых кодов 29 ноября, и с того дня люди часто видели 404 Not Found. Сначала мы думали, что только потому, что слишком много людей пытаются посетить одновременно, потому что 30 ноября - крайний срок. Но теперь, примерно через неделю, сервер все еще не стабилен, и "404 Not Found" по-прежнему встречаются большую часть времени. Даже рано утром, когда я уверен, что мало кто встанет так рано и посетит сайт, я все равно не смог зайти на сервер. Я думаю, что должно быть что-то не так в нашей конфигурации или в нашем коде.

Мы использовали prefork для нашего модуля mpm (мы попробовали worker.c, но все стало еще хуже, поэтому мы изменили его обратно на prefork). Сейчас я не могу вспомнить детальную конфигурацию, но я уверен, что MaxClient и Serverlimit настроены на 600 (у нас на самом деле только менее 500 студентов 4 года). И кажется, что Keep Alive был установлен на 15 секунд, MaxRequestsPerChild был установлен на 100000.

Кроме того, я помню, что когда мы впервые загружаем какую-то другую информацию для просмотра и выбора, трафик все еще занят, но тогда ничего плохого не произошло. Возможно, это связано с тем, что что-то произошло в новом коде, который мы загружаем 29 ноября. Кто-нибудь знает, какая операция вызовет эту проблему при выполнении кода или по другим причинам1?

1 ответ

Если пользователи получают 404 Not Found, речь идет не о производительности Apache, сокетах и ​​т. П.

Если Apache не может открыть соединение (например, достигнуто ограничение MaxClient или не удается открыть сокет), тогда пользователи не могут подключиться вообще. В случае сбоя fastcgi (или любого другого модуля, используемого для подключения к Django), ошибка 500 Внутренняя ошибка сервера.

Вы абсолютно уверены, что ваши загрузки кода не включали, например, неуместное

raise Http404
Другие вопросы по тегам