Сравнительный анализ производительности и потребления памяти микросервисных фреймворков на языке Go
Аннотация
В статье проводится сравнительный анализ производительности и потребления оперативной памяти пяти популярных микросервисных фреймворков на языке Go: стандартной библиотеки net/http, Gin, Echo, Fiber и chi. На основе тестового стенда реализован типовой микросервис, возвращающий JSON-ответ. Представлены фрагменты кода, демонстрирующие особенности реализации на каждом фреймворке. Выполнены замеры пропускной способности (RPS), задержек (средней и 99-го перцентиля), расхода резидентной памяти и размера результирующего бинарного файла. Результаты показывают, что фреймворк Fiber, построенный на основе fasthttp, обеспечивает максимальную пропускную способность (259 тыс. запр./с), тогда как стандартный пакет net/http даёт наилучшее соотношение минимального размера бинарного файла и умеренной производительности. Gin демонстрирует самые низкие задержки на 99-м перцентиле. Предложены практические критерии выбора фреймворка в зависимости от нефункциональных требований к микросервису.
Полный текст:
PDFСсылки
- На текущий момент ссылки отсутствуют.
ISSN 2414-4487