Load\Performance testing - зачем? и чего это может стоить? Тестирование
Тезисы
Про технические подробности "как пользоваться jmeter" последние пару лет в блогах не писал только ленивый. Т.е. я :-)
Я лучше поговорю о другом - стоит ли мерять температуру, если вы не собираетесь лечиться?
На очередном совещании шеф (СТО, спонсор, генеральный ..) сказал: "Наше приложение набирает популярность, база юзеров растет. Нам нужно провести нагрузочное тестирование, чтобы убедиться, что мы справимся! Ты - ответственный".
С чего начать?
С выбора "jmeter vs Yandex.Tank" - ваши два синьора уже дерутся по этому поводу в углу?
Нет. Рано.
С ревью архитектуры приложения и поиска потенциальных узких мест?
Нет. Тоже рано.
С запроса тестовой лабы, равной проду?
Точно нет, хотя , для конкретно ваших схем закупки оборудования, может быть даже поздно.
1. Цели и задачи.
Нужно набраться смелости, и задать самому себе вопрос: "А нам это ЗАЧЕМ?!?!?". Ответ "давно пора" не засчитывается.
Потом прийти к шефу (СТО, спонсору, генеральному...) с этим вопросом и своими вариантами ответов, и обсудить.
Может выясниться, что самое главное - это успокоить спонсора, что на ближайшие полгода новых вложений в железо не потребуется.
Или выяснится, что есть старый технический\архитектурный "должок", который может стать узким местом. А может не стать - и это главное, что нужно проверить.
Зная цели, можно сформулировать:
2. Стратегию
Это может быть валидация выбора архитектуры ядра системы или сайзинг железа, оценка текущей капасити - хватит ли её, если количество пользователей удвоится.
Это может быть разовая процедура, а может стать частью регулярного тестирования.
Зная стратегию тестирования, можно сделать
4. Ревью архитектуры.
Из ревью можно определиться с подходами и инструментами.
Вот только теперь можно выбирать - чем грузить, и что чем мерять.