Кеширование ответов Track.Feed¶
При большом количестве последовательных запросов и/или низком качестве сетевого соединения возможно заметное снижение производительности AppSec.Track. Во избежание этого для кеширования ответов Track.Feed используется Redis.
Примечание
Время хранения данных в кеше — 24 часа. При создании/удалении/редактировании политик, исключений, правил, пользователей, ролей и изменении настроек сервиса данных происходит очистка кеша.
При необходимости кеш можно очистить принудительно через API, выполнив следующий запрос:
curl --location '<<Track_BASE_URL>>/api/cache/reset' --header 'Cookie: X-Auth=<<Cookie_auth>>'
Существует еще один способ очистки кеша. Для этого можно в браузере в пользовательском интерфейсе AppSec.Track после авторизации перейти на страницу по ссылке: <<Track_BASE_URL>>/api/cache/reset
. После этого система автоматически вернется на главную страницу пользовательского интерфейса AppSec.Track, а кеш будет очищен.
В качестве минимально рекомендуемых можно рассматривать следующие параметры.
resources:
limits:
cpu: 250m
memory: 2Gi
requests:
cpu: 50m
memory: 64Mi
Примечание
Объем виртуальной памяти, выделяемой для Redis, не должен превышать объем физической памяти, в противном случае возможно существенное снижение производительности.
Примечание
При использовании Redis время обработки отдельных запросов может незначительно увеличиваться, поскольку к проверке в БД добавляется проверка кеша.
Отключение кеширования¶
-
В конфигурационном файле application-prod.yml удалите следующие строки.
redis: host: ${TRACK_REDIS_HOST} port: ${TRACK_REDIS_PORT} connect-timeout: 500ms timeout: 500ms client-type: lettuce lettuce: pool: min-idle: 1
-
В конфигурационном файле docker-compose.yaml удалите следующие строки.
appsec-track-redis: container_name: appsec-track-redis hostname: appsec-track-redis image: ${redis_image} ports: - "6379" networks: - track_net volumes: - ./redis/data:/data environment: - TZ=Europe/Moscow restart: always