Нагрузочное тестирование Entaxy с использованием API: Log/FTL/XSLT/Saxon

Проведенное тестирование представляло собой исследование пропускной способности Entaxy при использовании системы Apache JMeter в качестве инструмента нагрузочного тестирования.

Результаты тестов

Параметры проведения тестов:

Duration – длительность. Данная настройка указывает, в течение какого промежутка времени будет выполняться тест (sec).
Number of threads – количество эмулируемых пользователей, одновременно обращающихся к шлюзу API (sum).
Message size – размер тела передаваемого запроса.

Duration (sec)

600

600

600

600

Number of threads (sum)

50/100/200 300/500/1000

50/100/200 300/500/1000

50/100/200 300/500/1000

50/100/200 300/500/1000

Message size

7b

1kb

10kb

100kb

Результаты (API: Echo/Log)

API: Echo - возвращает любой полученный запрос обратно.
API: Log - предназначен для логирования информационных сообщений.

  • Пропускная способность. Throughput (Requests per second) vs Threads.

    На следующем графике отражены изменения пропускной способности в зависимости от количества одновременно работающих пользователей и размера сообщения.

    Message size: 7b, 1kb, 10kb, 100kb.

    echo info 7b 650px
    echo info 1kb 650px
    echo info 10kb 650px
    echo info 100kb 650px
  • Время отклика. Average response time (ms) vs Threads.

    На следующем графике показаны изменения времени отклика в зависимости от количества одновременно работающих пользователей и размера сообщения.

    Message size: 7b, 1kb, 10kb, 100kb.

    echo info 7b average 650px
    echo info 1kb average 650px
    echo info 10kb average 650px
    echo info 100kb average 650px

Выводы:

API: Log обеспечивает приемлемую производительность при обработке сообщений различных размеров и под различными нагрузками. Сравнительный анализ с API: Echo подчеркивает его способность эффективно выполнять свои функции даже с дополнительной нагрузкой логирования.

Результаты (API: FTL/XSLT/Saxon)

API: Fast Template Library (FTL) - обеспечивает ускоренную генерацию шаблонов
API: XSLT - предназначен для обработки и трансформации XML-данных в соответствии с правилами XSLT
API: Saxon - специализируется на обработке и трансформации XML-данных с использованием библиотеки Saxon, известной своей высокой производительностью и богатым функционалом для работы с XSLT и XQuery

  • Пропускная способность. Throughput (Requests per second) vs Threads.

    На следующем графике отражены изменения пропускной способности в зависимости от количества одновременно работающих пользователей и размера сообщения.

    Message size: 7b, 1kb, 10kb, 100kb.

    ftl xslt saxon 650 7b
    ftl xslt saxon 650 1kb
    ftl xslt saxon 650 10kb
    ftl xslt saxon 650 100kb
  • Время отклика. Average response time (ms) vs Threads.

    На следующем графике показаны изменения времени отклика в зависимости от количества одновременно работающих пользователей и размера сообщения.

    Message size: 7b, 1kb, 10kb, 100kb.

    ftl xslt saxon 650 7b average
    ftl xslt saxon 650 1kb average
    ftl xslt saxon 650 10kb average
    ftl xslt saxon 650 100kb average

Выводы:

  • FTL обеспечивает хорошую масштабируемость для легких и средних сообщений.

  • XSLT демонстрирует приемлемую производительность в разнообразном диапазоне размеров данных.

  • Saxon может быть более предпочтительным для обработки легких сообщений.