Несколько рекомендаций по оптимизации конфигурации Keycloak для быстрой загрузки и эффективного использования памяти:
- Увеличить размер кэша. 1 Это может улучшить производительность при длительном запуске Keycloak. 1 Однако при перезапуске кэши нужно заполнять, поэтому не следует устанавливать слишком строгие ограничения на ресурсы. 1
- Увеличить размер кэша пользователей. 1 Он должен быть в два раза больше количества одновременно используемых клиентов. 1 Размер кэша realms следует увеличить в четыре раза больше числа используемых клиентов. 1
- Использовать внешний Infinispan с постоянным хранилищем. 2 Это поможет избежать потери данных, так как внешний Infinispan хранит информацию в памяти. 2
- Отключить предварительную загрузку кэша. 2 При запуске Infinispan загружает сессии из базы данных в кэш, даже если он в данный момент не используется. 2 Чтобы включить «ленивую загрузку», нужно установить параметр preload в значение false. 2
- Отключить статистику. 2 Запрос статистики в Infinispan может приводить к многочисленным выполнениям одного запроса. 2 По мере увеличения объёма данных в таблице сессий производительность этого запроса снижается. 2
- Настроить минимальное количество владельцев сессий. 2 Это поможет сэкономить память в экземпляре Infinispan. 2
Перед внедрением изменений в рабочую конфигурацию рекомендуется провести собственные тесты нагрузки. 1