среда, 10 августа 2016 г.

Апокалипсисы бывают!


Есть у нас тестовые стенды, на которых мы проверяем функциональность билда перед тем, как отдадим ее Заказчикам. А есть нагрузочный стенд, на котором «все тоже самое, но ПОБОЛЬШЕ, ПОБОЛЬШЕ!».

Релиз проходит примерно так:
— делаем бранч;
— изучаем задачи релиза, что надо тестировать в регрессе;
— поставка на тестовый стенд, проверка;
— поставка на стресс-стенд, проверка того, что скорость работы не деградировала. Можно делать параллельно с прошлым пунктом.

Нагрузочное тестирование автоматизировано. Мы сделали специальную задачу, которая сама генерит данные и начинает обработку. Запустил ручками на ночь и утром смотришь на результат. Потом запускаешь JMeter для SOAP-тестов. Но JMeter обязательно после "длинной" задачи, они там взаимосвязаны.


Регрессию мы начали вовремя. Запустили нагрузку и пошли проверять остальные билды. Но с нагрузкой не срослось, задача постоянно падала с ошибкой. Причем это не баг в приложении — на сервере заканчивалось место, чай, не 5 мб лежит... Быстро тоже ничего не сделаешь, поэтому освобождали как могли и перезапускали.

В итоге JMeter тесты провели впритык к поставке. И обнаружили, что скорость просела. Разумеется, такое надо исправлять тут же, в этом релизе. Та-а-а-ак, где могли задеть? Вот в этой задаче или этой... Разработчик утром придет и посмотрит.

А потом у нас погас свет. Надолго. Наши УПС-ы выдержали, а вот все тестовые стенды легли. Это нестрашно, их ребутнуть 5 секунд. Плохо то, что рухнула база стресс-стенда.

Поэтому задачу "разобраться с замедлением" поставили уже в следующий релиз. Кстати, уже разобрались и опять же это была проблема стенда, не приложения.

Но просто сама ситуация напомнила мне, как мы обсуждаем со студентами альтернативы к варианту использования. На каждый шаг даешь сбой системы! Ну да, система может дать сбой. А еще может начаться апокалипсис, на кошку кто-то уронит чай и она в ужасе вырвет все провода из серверов, грянет гром, молния ударит в серверную... И много чего еще в принципе может случиться. Но не надо об этом писать =)

И тем не менее апокалипсисы случаются! Это ж надо так наложиться, что сначала задача падала несколько раз, а потом еще и свет отключили? Карма, не иначе Smile :)

Комментариев нет:

Отправить комментарий