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

apache / httpd реагирует медленнее под EL6.1, чем под EL5.6 (CentOS)

Я читал другие темы о различиях в производительности между RHEL 6 и RHEL 5, но ни один из них мне не подходит.

Моя проблема проявляется в немного более медленном среднем времени ответа (20 мс) на запрос. У меня около 10/10 серверов с одинаковой аппаратной спецификацией с CentOS 6.1 и CentOS 5.6. Проблема одинакова для всей группы.

Я использую Ruby on Rails вместе с Passenger.

Интересная подсказка из состояния сервера: серверы CentOS 6.1 имеют стабильные 20-40 потоков в состоянии «Запрос на чтение», в то время как серверы CentOS 5.6 имеют около 1. Я рисую это на графике, чтобы видеть тенденцию с течением времени.

У меня также есть несколько гораздо более новых машин, которые значительно быстрее и работают под управлением CentOS 6.1. Они стирают пыль со всех старых машин во время отклика, но я вижу, что у них также стабильно 20-40 потоков в состоянии «Запрос на чтение». Это заставляет меня поверить, что я смогу сократить время их ответа, если смогу выяснить, что задерживает эти запросы.

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

Дикий выстрел №1: есть ли вероятность, что вы регистрируете имена хостов вместо IP-адресов? Если да, то на обоих? Если да, то есть ли на одном из них nscd?

Дикий выстрел №2: LDAP каким-либо образом задействован? Т.е. работает ли apache или любой другой компонент запроса от имени пользователя ldap?

Один из часто задаваемых вопросов в этой области заключается в том, что управление памятью в RHEL6 отличается и могут пострадать многопоточные приложения. Попробуйте запустить apache под MALLOC_ARENA_MAX = 1 и посмотрите, имеет ли это значение.