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

Ответ веб-сервера ухудшается, даже если он не кажется занятым

Я запускаю Apache на выделенном сервере Windows 2008 с внутренним процессом, подключенным к Apache через FASTCGI. Внутренний процесс на самом деле является игровым движком. Все работает нормально, но я заметил, что все начинает замедляться, когда около 50 пользователей обращаются к серверу (что соответствует примерно 25 HTTP-запросам в секунду). Когда я смотрю на диспетчер задач, загрузка ЦП составляет от 1% до 5%.

Поэтому я ищу подсказки относительно того, где искать, чтобы выяснить, почему мое время отклика ухудшается, даже несмотря на то, что ЦП, похоже, далеко не исчерпан.

Оказывается, это проблема конфигурации Apache. По умолчанию количество потоков на дочерний процесс составляет 64 (по крайней мере, в Windows). Установка большего числа ThreadsPerChild устранила проблему. Я установил выделение 1500 потоков на каждого ребенка, который использует около 100 МБ ОЗУ - это того стоит.

попробуйте apachetop

также подумайте об использовании системы unix, если вам нужна производительность, масштабируемость и снижение затрат (в лицензиях). Однако вам нужно будет заплатить за технические знания ... в конце концов, это не наведи и щелкни ;-)

вы можете разрабатывать клиентов в Windows или что-то еще.

http://en.wikipedia.org/wiki/Nginx

который оптимизирован для параллелизма.

больше чтения здесь

http://www.kegel.com/c10k.html который немного устарел, есть обновленная версия, которую я не могу найти в данный момент.

видя, что это игровой движок, я предполагаю, что вам нужно постоянное http-соединение, а не tcp-соединения установки / разрыва.

вы можете настроить окна для выполнения этой работы, но после масштабирования игры у вас могут возникнуть проблемы.

У меня есть запасные циклы, и я люблю игры. так что напишите в личку, если вам нужна помощь один на один.