Назад | Перейти на главную страницу

Обращение за советом по метрикам производительности на основе панели инструментов NewRelic

Немного предыстории:

Мне предоставили доступ к нашей 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). Исходя из этого предположения, я собираюсь предложить следующее:

  1. Создайте точную копию своей среды в отдельном VPC
  2. Создайте сценарии нагрузочного теста, начиная с меньшего количества запросов и увеличивая их до уровня, который у вас есть в часы пик.
  3. Запустите сценарий нагрузочного теста в клонированной среде со старыми конфигурациями, например, во время 1 час
  4. Внесите изменения в конфигурацию в клонированной среде (или для этого удалите клон и создайте новый с изменениями)
  5. Запустите тот же сценарий нагрузочного теста для новых изменений конфигурации в течение того же времени.

Что касается какие для тестирования я бы сосредоточился на конечных точках, которые обычно имеют самую высокую нагрузку и / или самые тяжелые. Это те, в которых вы увидите разницу наиболее отчетливо.

При последующем сравнении в New Relic сравните время отклика транзакций, процессора, памяти и т. Д.