nginx и синтетический тест (ab, siege, yandex-tank)

sitsalavat nginx-forum at nginx.us
Tue Mar 19 06:23:14 UTC 2013


Всем привет.

Есть сервер на котором в качестве фронтенда крутится nginx. Выдержки из
конфига:
=======================
worker_processes  8;

events {
    worker_connections  4096;
}

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=all:512m inactive=1d
max_size=6g;

proxy_cache_key "$host$request_uri";
proxy_cache_valid 404 40m;
proxy_cache_valid 500 501 502 503 504 1m;
proxy_cache_valid any 5m;
proxy_cache_use_stale http_502 http_503 http_504;
proxy_cache_bypass $cookie_logined;
proxy_no_cache $cookie_logined;

proxy_connect_timeout      40;
proxy_send_timeout         40;
proxy_read_timeout         100;

proxy_buffer_size          4m;
proxy_buffers              24 1m;
proxy_busy_buffers_size    8m;
proxy_temp_file_write_size 4m;

location / {
	if ($cookie_logined) { return 412; }
	proxy_cache all;

	proxy_pass @fallback;
	proxy_redirect @fallback;
	proxy_set_header Host $host;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_set_header X-Real-IP $remote_addr;
}
=======================


Насколько я понимаю, если cookie logined нет - то пользователю должна
отдавать закешированная версия, которая лежит в nginx и при синтетических
тестах - они так же свободно отдавались бы.
Фактически же при ab -kc 500 -n 500 -t 30 nginx начинает все сплавлять на
бекенд и соответственно LA начинает зашкаливать.

Люди добрые, помогите мне :)

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,237524,237524#msg-237524



Подробная информация о списке рассылки nginx-ru