Настройка кеширования
Для оптимизации скорости работы платформы Luxms BI можно настроить кеширование ответов с помощью nginx.
В самом начале`файла /opt/luxmsbi/conf/nginx/nginx.conf необходимо
добавить:
worker_processes 4;
worker_rlimit_nofile 100000;
events {
worker_connections 10240;
use epoll;
}
Для этого в секцию в http в файле /opt/luxmsbi/conf/nginx/nginx.conf необходимо добавить:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=tag:10m inactive=60m max_size=1g;
map $http_cookie $bi_session {
default "";
"~*LuxmsBI\-User\-Session=(?<cookie_value>[^;]+)" $cookie_value;
}
также требуется создать папку /var/cache/nginx с правами на запись
mkdir -p /var/cache/nginx
chown bi:bi /var/cache/nginx
В /opt/luxmsbi/conf/nginx/conf.d/entrypoint.conf добавить настройки (данный location должен быть расположен выше, определенного location-a ^/(api|srv) ):`
location ~ ^(?!(?:/api/auth/.*|/srv/reports/.*)$)(?:/api/|/srv/).*$ {
# Add caching:
proxy_buffering on;
proxy_cache tag;
proxy_cache_valid 60m;
proxy_cache_methods GET POST;
proxy_cache_key "$request_uri$bi_session$request_body$args";
add_header X-Cached $upstream_cache_status;
proxy_pass http://lua-webapi;
proxy_redirect off;
proxy_buffers 10 128k;
proxy_buffer_size 128k;
proxy_max_temp_file_size 0;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}