Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ИИ для бизнеса
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex SpeechKit Hybrid
  • Системные требования
  • Архитектура сервиса
    • О технологии
    • Тестирование производительности
  • Аутентификация в API
  • Правила тарификации
  • Релизы SpeechKit Hybrid

В этой статье:

  • Тесты и ожидаемые результаты
  • Порядок проведения тестирования
  1. Синтез речи
  2. Тестирование производительности

Тестирование производительности для синтеза речи

Статья создана
Yandex Cloud
Обновлена 20 февраля 2023 г.
  • Тесты и ожидаемые результаты
  • Порядок проведения тестирования

Чтобы оценить производительность сервиса синтеза речи вашей инсталляции SpeechKit Hybrid, используйте контейнер с утилитой тестирования. Эта утилита выполняет синтетические тесты на основе подготовленного набора файлов с текстами.

Тесты и ожидаемые результатыТесты и ожидаемые результаты

Примечание

Результаты тестирования зависят от конфигурации вашего оборудования и требований к скорости ответа системы.

Сервис SpeechKit выполняет синтез речи в режиме запрос-ответ. Утилита тестирования отправляет в сервис запросы, имитируя реальную нагрузку на сервис. Интенсивность запросов задается в параметре RPS (requests per second, количество запросов в секунду) в настройках утилиты. В лог контейнера записываются метрики ответов сервиса:

  • Процессные метрики:
    • Seconds per second (SPS) – количество секунд синтезированного текста, которое генерируется за секунду работы.
    • Длина итогового аудио.
    • Задержка ответа.
  • Итоговые метрики:
    • q99 — квантиль уровня 0.99 времени ответа сервиса на запрос (время синтеза фразы в 99% случаев меньше или равно величине квантиля):
      • на синтез фраз, длительность которых менее 6 секунд;
      • на синтез фраз, длительность которых более 6 секунд;
      • на синтез фраз любой длительности.

Пример фрагмента лога тестирования со значениями процессных метрик:

INFO: 2021-09-22 15:07:00.882 +0000 load_test.cpp:89 Sample=но боязнь и одновременно надежды на чудо останавливали меня от этого сообщения., duration=4.305375s, latency=0.371161s
INFO: 2021-09-22 15:07:00.882 +0000 load_test.cpp:92 Passed time: 4.384470733, seconds generated=49.561, sps=11.17579835, avgAudioLength=5506

Где:

  • duration — длина итогового аудио.
  • latency — задержка ответа.
  • sps — SPS.

Пример фрагмента лога тестирования со значением квантиля q99 по фразам длительностью менее 6 секунд:

INFO: 2021-09-22 15:07:00.059 +0000 load_test.cpp:260 Audio < 6 seconds latencies
INFO: 2021-09-22 15:07:00.059 +0000 load_test.cpp:262 q=0.99: 390ms

Пример фрагмента лога тестирования со значением квантиля q99 по фразам длительностью более 6 секунд:

INFO: 2021-09-22 15:06:59.734 +0000 load_test.cpp:260 Audio >= 6 seconds latencies
INFO: 2021-09-22 15:06:59.734 +0000 load_test.cpp:262 q=0.99: 505ms

Пример фрагмента лога тестирования со значениями квантиля q99 по фразам любой длительности:

INFO: 2021-09-22 15:07:00.059 +0000 load_test.cpp:260 Utterance latency
INFO: 2021-09-22 15:07:00.059 +0000 load_test.cpp:262 q=0.99: 505ms

Контейнеры SpeechKit Hybrid рассчитаны на то, чтобы обеспечивать указанные значения метрики SPS для двух рекомендованных конфигураций сервера. При таких значениях SPS величина квантиля q99 не превышает 500-600 мс. Увеличивайте RPS до тех пор, пока значения метрик SPS и q99 не выйдут за эти пределы. Результаты тестирования помогут оценить производительность вашей инсталляции и то, насколько увеличение количества запросов в секунду повышает SPS и влияет на задержку ответа сервиса.

Порядок проведения тестированияПорядок проведения тестирования

  1. Скачайте контейнер с тестами:

    docker pull cr.yandex/${REGISTRY_ID}/tts-tools
    
  2. Запустите контейнер tts-tools:

    docker run --network=host \
       --env ENVOY_HOST=0.0.0.0 \
       --env ENVOY_TTS_PORT=9080 \
       --env RPS=1 \
       tts-tools
    

    Где:

    • ENVOY_HOST — IP-адрес сервиса синтеза. Если тесты запускаются на том же сервере, что и сервис синтеза, укажите значение 0.0.0.0.
    • ENVOY_TTS_PORT — порт сервиса синтеза (по умолчанию 9080).
    • RPS — количество запросов синтеза в секунду.
  3. Результаты теста будут доступны в логах контейнера:

    docker logs tts-tools
    

Была ли статья полезна?

Предыдущая
О технологии
Следующая
Настройки сервиса
Проект Яндекса
© 2025 ООО «Яндекс.Облако»