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

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

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

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

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

Если пользователи получают сообщение 404 Not Found, это не связано с производительностью Apache или сокетами или чем-то подобным.

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

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

raise Http404