Перейти к содержанию

Кеширование ответов 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 время обработки отдельных запросов может незначительно увеличиваться, поскольку к проверке в БД добавляется проверка кеша.

Отключение кеширования

  1. В конфигурационном файле 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
    
  2. В конфигурационном файле 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