Repolode
bojand

bojand/ghz

CLI-инструмент для бенчмаркинга и нагрузочного тестирования gRPC-сервисов с настройкой параллелизма, ограничений частоты запросов и форматов вывода.

Звёзды
3,359
Форки
284
Открытые issues
101
Последний коммит
7 дней назад

Что это?

ghz — CLI-инструмент и Go-пакет для оценки производительности gRPC-сервисов. Укажите хост и полное имя метода, передайте файл .proto или скомпилированный protoset — инструмент отправит запросы и соберёт данные о задержках и пропускной способности.

Нагрузку можно задавать несколькими способами: постоянной частотой запросов, фиксированным числом параллельных обработчиков или пошаговым и линейным расписанием, постепенно увеличивающим RPS либо параллелизм. Тесты можно ограничить числом запросов или временем выполнения; поддерживаются потоковые вызовы с настройкой интервалов между сообщениями и длительности потока. Настраиваются TLS, клиентские сертификаты, метаданные и сжатие gzip.

Результаты можно вывести в виде сводки, форматированного текста, JSON, CSV, HTML или строк в формате InfluxDB. Параметры теста также можно сохранить в конфигурационном файле JSON или TOML.

Ключевые возможности

  • 01Расписания нагрузки с постоянной частотой, пошаговым или линейным увеличением RPS и параллелизма.
  • 02Поддержка unary- и потоковых вызовов gRPC с файлами proto или protoset.
  • 03Настройки TLS, клиентских сертификатов, пользовательского authority и сжатия gzip.
  • 04Вывод в формате сводки, форматированного текста, JSON, CSV, HTML или InfluxDB.
  • 05Можно использовать как CLI-инструмент или импортировать как Go-пакет.

Сценарии использования

  • Нагрузочное тестирование gRPC-микросервиса перед выпуском.
  • Определение частоты запросов, при которой задержки сервиса начинают расти.
  • Сравнение производительности разных версий сервиса в CI-пайплайне.
  • Бенчмаркинг gRPC-эндпоинтов с включённым TLS или сжатием.

Быстрый старт

  1. 1

    Установите с помощью Homebrew

    brew install ghz
  2. 2

    Или установите с помощью Go (версии 1.23 или новее)

    go install github.com/bojand/ghz/cmd/ghz@latest
  3. 3

    Запустите нагрузочный тест для gRPC-сервера, указав proto-файл и хост

Что важно знать

  • Документация размещена на внешнем сайте ghz.sh, а не в репозитории.

В подборках

Темы

Частые вопросы

Что такое ghz?
CLI-инструмент для бенчмаркинга и нагрузочного тестирования gRPC-сервисов с настройкой параллелизма, ограничений частоты запросов и форматов вывода. ghz — CLI-инструмент и Go-пакет для оценки производительности gRPC-сервисов. Укажите хост и полное имя метода, передайте файл .proto или скомпилированный protoset — инструмент отправит запросы и соберёт данные о задержках и пропускной способности.
ghz можно использовать бесплатно? Какая у него лицензия?
ghz распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
ghz всё ещё поддерживается?
Активно поддерживается. Последний коммит в ghz — 1 нояб. 2026 г..
Для чего можно использовать ghz?
Нагрузочное тестирование gRPC-микросервиса перед выпуском. Определение частоты запросов, при которой задержки сервиса начинают расти. Сравнение производительности разных версий сервиса в CI-пайплайне. Бенчмаркинг gRPC-эндпоинтов с включённым TLS или сжатием.
Как установить ghz?
Установите с помощью Homebrew: brew install ghz Или установите с помощью Go (версии 1.23 или новее): go install github.com/bojand/ghz/cmd/ghz@latest Запустите нагрузочный тест для gRPC-сервера, указав proto-файл и хост
Где скачать ghz?
Исходный код и инструкции по установке — на GitHub: https://github.com/bojand/ghz

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Приложение с открытым исходным кодом на Java для нагрузочного тестирования и оценки производительности веб-приложений и других сервисов.

9,6 тыс.+16 за неделю2,3 тыс.JavaApache-2.0Активно поддерживаетсяОбновлён 3 дня назад