На проекте был нежданчик — всё резко стало тормозить на живых пользователях.
Естественно, обновление откатили и уселись медитировать.
Естественно, обновление откатили и уселись медитировать.
Тестовые системы ничего не показывали.
Неделю перетряхивали код, нашли и исправили несколько узких мест. Я, например, ускорил математику раз в 6-7.
Накатываем новое обновление — и опять тормоза, буквально никаких улучшений не заметно.
Неделю перетряхивали код, нашли и исправили несколько узких мест. Я, например, ускорил математику раз в 6-7.
Накатываем новое обновление — и опять тормоза, буквально никаких улучшений не заметно.
Проблема, как оказалось, была в следующем — обновление по ошибке включало вывод всех логов на консоль. А развертываемая система не перенаправляла stdout в /dev/null — да и не должна. Если всё правильно настроено — никто в консоль ничего не пишет. Логам место в файлах.
Досадный вывод отключили — и всё взлетело со скоростью необычайной. Такие дела...
Да, бывает такое! Видишь проблему, строишь догадки (анализ, профайлинг и т.п.), улучшаешь систему, а потом оказывается какая-то мелочь приключилась, но зато столько улучшили - очень приятно стаёт после этого!
ОтветитьУдалитьНапоминает док. фильмы о СССР и милиции: "Ограбили чиновника, всех поставили науши, пока вели следствие заодно 3000 висяков раскрыли" :)
Да, бывают чУдные моменты. К слову, математика x7 получилась за счет использования Cython для критического класса
ОтветитьУдалитьВсе, что не делается — все к лучшему!
ОтветитьУдалитьЭто ещё не худший вариант. Вот когда логи потихонечку пишутся на диск, а через несколько месяцев происходит отказ в обслуживании и порча данных из-за нехватки места на диске…
ОтветитьУдалитьАдмины бдят!
ОтветитьУдалить