Немного предыстории:
Мне предоставили доступ к нашей newrelic панели инструментов для производственных серверов, на которых запущено приложение django в учетной записи AWS, и мне было поручено придумать скрипты gatling.io (программное обеспечение для тестирования производительности).
Причина этого в том, что я обнаружил серьезную проблему с нашей конфигурацией apache, протестировал свою конфигурацию в окне разработчика и увидел резкое улучшение потребления памяти и ЦП. Теперь мы хотим создать сценарии для частей приложения, которые работают плохо, чтобы после изменения конфигурации для производственной среды мы могли повторно измерить их и выяснить, насколько на самом деле улучшена эта новая конфигурация.
Проблема под рукой:
У меня слишком много информации о newrelic:
Transactions
Most time consuming transactions by percentage
Routes with slowest average response times
Top transactions with highest wall clock time
Database
same as above
Мой вопрос в том, где мне сузить фокус? Я не могу создавать сценарии для всего, поэтому с чего я могу / должен начать, чтобы обеспечить точное отображение правильной работы новой конфигурации? Как выбрать количество пользователей для каждого запроса, а также масштабирование этих пользователей на основе информации в newrelic? Любая информация очень ценится.
Поскольку вы запускаете свою среду на AWS, я надеюсь, что ваша среда настроена с использованием шаблонов CloudFormation или любых сервисов, построенных на ней (например, Elastic Beanstalk). Исходя из этого предположения, я собираюсь предложить следующее:
Что касается какие для тестирования я бы сосредоточился на конечных точках, которые обычно имеют самую высокую нагрузку и / или самые тяжелые. Это те, в которых вы увидите разницу наиболее отчетливо.
При последующем сравнении в New Relic сравните время отклика транзакций, процессора, памяти и т. Д.