Вчера обнаружил что под рабочей нагрузкой (приложение на java) один из серверов работает очень медленно (раз в 10 медленнее чем соседние сервера с таким же железом и софтом).

Необычность проблемы - время на сервере замедляется: top обновляется не раз в 2 секунды а несколько раз в минуту, ну и все остальное тоже течет очень медленно.

Написал простенькую программу, которая спит 5 секунд, потом показывает сколько проспала:
https://gist.github.com/citrin/5723808

Без нагрузки спит 5 с небольшим секунд, но под production нагрузкой спит 25 и больше секунд... На других машинах такого замедления не наблюдается и под нагрузкой.

Из синтетических тестов замедление получается вызвать с помощью большого трафика (через ttcp), но не такое сильное как при рабочей нагрузке:
elapsed 5.43435 seconds (should be 5)
elapsed 6.25862 seconds (should be 5)
elapsed 5.22285 seconds (should be 5)
elapsed 5.28211 seconds (should be 5)
elapsed 10.91260 seconds (should be 5)
elapsed 14.41163 seconds (should be 5)
elapsed 14.02193 seconds (should be 5)
elapsed 14.45483 seconds (should be 5)
elapsed 14.00332 seconds (should be 5)
elapsed 13.88743 seconds (should be 5)
elapsed 13.40466 seconds (should be 5)
elapsed 13.23066 seconds (should be 5)
elapsed 13.85353 seconds (should be 5)
elapsed 14.27764 seconds (should be 5)

система:
8.4-PRERELEASE-20130601 amd64

kern.timecounter.hardware: ACPI-fast
замена на
sysct kern.timecounter.hardware=HPET ничего не меняет.

Проблема немного похожа на:
http://blog.lexa.ru/2013/05/25/podzemnyi_stuk_vozvrashchaetsya.html

только все наоборот - у меня проявляется под нагрузкой и исчезает после снятия нагрузки. Перезагрузка не помогает.

Ответить