Я читал другие темы о различиях в производительности между 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 и посмотрите, имеет ли это значение.