Оптимизация работы Go-приложений в Docker

Основная проблема выполнения Go-приложений в Docker описана здесь.

Вкратце, её можно сформулировать так: если не оптимизировать работу Go-приложения в Docker то встроенный сборщик мусора может 'захватить' всё процессорное время и замедлить полезную работу.

Основным решением этой проблемы является работа с переменной окружения GOMAXPROCS при запуске go-приложений в Docker или использование соответствующей библиотеки, автоматизирующей этот процесс.

Пример запуска docker-контейнера с использованием данной переменной окружения

terminal
$ docker run --cpus=4 -e GOMAXPROCS=4 -p 8080:8080 $(ko build -L main.go)
$ docker run --cpus=4 -e GOMAXPROCS=4 -p 8080:8080 $(ko build -L main.go)

Ссылки и дополнительная информация



Коментарии

Остались вопросы, появились идеи для обсуждения или просто хотите оставить отзыв? Буду рад любой обратной связи!

Вместо авторизации в приложении giscus , вы также можете оставлять комментарии непосредственно на GitHub, с которым связанна данная ветка комментариев.

Похожие записи

Доступ к Docker Hub

Обход блокировки досутпа к Docker Hub с помощью прокси-сервера

Комментарии в блоге с Giscus

Система комментариев на основе GitHub Discussions.