Тема
Оптимизация изображений
Основная информация
В коробочной версии Эсборд начиная с версии 2025.1
появилась оптимизация изображений на досках, при котором исходное изображение преобразуется в несколько изображений различной степени сжатия.
Сам процесс оптимизации изображений может приводить к значительной нагрузке на систему, поэтому по умолчанию:
- оптимизация включена для новых изображений
- загруженных вручную
- загруженных в процессе импорта из Miro
- загруженных в процессе восстановления из бэкапа Miro
- загруженных при добавлении шаблона на доску
- загруженных при добавлении pdf на доску
- оптимизация выключена
- для старых изображений
- для изображений на досках, импортированных из облака Эсборд (они считаются старыми)
Чтобы включить оптимизацию для старых изображений, нужно добавить контейнеру образа sboard
переменную окружения ENABLE_LEGACY_BOARD_OPTIMIZATION
со значением true
.
По умолчанию процесс оптимизации происходит в 1 или 2 очередях в зависимости от того, указана ли переменная ENABLE_LEGACY_BOARD_OPTIMIZATION
: одна очередь на новые изображения, одна очередь на старые.
Информация про Redis
Сервис использует Redis для очереди задач на обработку изображений, поэтому в случае попадания большого числа изображений в очередь может произойти ухудшение работоспособности всей системы.
В связи с этим в инфраструктуру рекомендуется добавить отдельный Redis для обработки изображений.
Соответствующие переменные окружения для контейнера образа sboard
:
REDIS_IMG_HOST
- хост (по умолчанию - значение изREDIS_HOST
или предустановленное)REDIS_IMG_PORT
- порт (по умолчанию - значение изREDIS_PORT
или предустановленное)REDIS_IMG_PASS
- пароль (по умолчанию - значение изREDIS_PASS
или предустановленное)
Пример для Docker-compose standalone
yml
version: "3.3"
services:
postgres:
image: "${DOCKER_REGISTRY}/postgres:${DOCKER_IMAGE_TAG}"
restart: "always"
environment:
PGDATA: /data
volumes:
- pg_data:/data
minio:
image: "${DOCKER_REGISTRY}/minio:${DOCKER_IMAGE_TAG}"
restart: "always"
volumes:
- minio_data:/data
redis:
image: "${DOCKER_REGISTRY}/redis:${DOCKER_IMAGE_TAG}"
restart: "always"
redis-images:
image: "${DOCKER_REGISTRY}/redis:${DOCKER_IMAGE_TAG}"
restart: "always"
sboard:
image: "${DOCKER_REGISTRY}/sboard:${DOCKER_IMAGE_TAG}"
restart: "always"
ports:
- 80:80
- 443:443
volumes:
- "./certs:/certs"
environment:
DOMAIN_NAME: "${DOMAIN_NAME}"
REDIS_IMG_HOST: "redis-images"
depends_on:
- minio
- redis
- postgres
volumes:
minio_data:
pg_data:
Дополнительные настройки
Процесс оптимизации можно ускорить за счёт увеличения числа очередей с помощью следующих переменных окружения:
SINGLE_IMAGE_WORKER_CONCURRENCY
- количество очередей обработки новых изображений (по умолчанию -1
)BATCH_IMAGE_WORKER_CONCURRENCY
- количество очередей обработки старых изображений (по умолчанию -1
)
Внимание
Увеличение числа очередей увеличит потенциальную нагрузку на систему, поэтому в этом случае рекомендуется также увеличить CPU и RAM рабочему серверу.