Странное поведение nginx при кешировании
nginx
nginx at teratelecom.ru
Thu Jun 4 11:02:49 MSD 2009
В Срд, 03/06/2009 в 16:57 +0400, nginx пишет:
> Наблюдается следующая картина
> Включаю кеширование, прописав
>
> proxy_read_timeout 65;
> proxy_send_timeout 11;
> proxy_connect_timeout 10;
> proxy_next_upstream off;
> proxy_ignore_headers Cache-Control;
> proxy_cache_path /var/tmp/nginx/proxy_cache levels=1:2
> keys_zone=zone1:10m;
> proxy_cache zone1;
> proxy_cache_key $server_name$uri?$memcached_args;
> proxy_cache_min_uses 1;
> proxy_cache_valid 10m;
> proxy_cache_use_stale http_503;
>
> У страницы
> Last-Modified
> Wed, 03 Jun 2009 12:43:07 GMT
> Expires
> Wed, 03 Jun 2009 12:48:07 GMT
> отличаются на 5 минут
>
> Работает это все так. При перезапуске nginx подбирает из кеша страницу и 5 минут апачи не трогает,
> через 5 минут начинает часть хапросов отдавать на апачи, причем логику проследить не удается.
> В чем может быть проблема?
> Могу предоставить логи и полный конфиг, но не думаю что стоит это делать прямо сюда.
Привожу конфиги (закоментаренные строчки я пробовал раскрывать)
user nginx nginx;
worker_processes 8;
error_log /var/log/nginx/error_log error;
worker_rlimit_nofile 8192;
events {
worker_connections 8192;
use epoll;
}
http {
server_names_hash_bucket_size 64;
include /etc/nginx/mime.types;
default_type application/octet-stream;
client_header_timeout 21;
client_body_timeout 22;
send_timeout 23;
client_max_body_size 10m;
connection_pool_size 256;
client_header_buffer_size 1k;
large_client_header_buffers 4 2k;
request_pool_size 4k;
gzip on;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_types text/plain application/xml application/x-javascript;
output_buffers 8 32k;
postpone_output 1460;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 75 20;
ignore_invalid_headers on;
index index.html;
proxy_read_timeout 65;
proxy_send_timeout 11;
proxy_connect_timeout 10;
proxy_next_upstream off;
proxy_ignore_headers Cache-Control;
perl_set $memcached_args 'sub {
my $r=shift;
$_=$r->args;
if($_ ne "")
{
s/(&|^)[upd]id=[^&]*//igo;
s/^&//io;
}
return $_;
}';
proxy_cache_path /var/tmp/nginx/proxy_cache levels=1:2
keys_zone=zone1:10m;
proxy_cache_path /var/tmp/nginx/proxy_cache2 levels=1:2
keys_zone=zone2:10m;
proxy_cache_key $server_name$uri?$memcached_args;
# proxy_cache_min_uses 1;
# proxy_cache_valid any 10m;
# proxy_cache_use_stale http_503;
# proxy_ignore_client_abort on;
log_format site_log_format '$msec $request_time $remote_addr '
'$status $body_bytes_sent $gzip_ratio $server_name$request_uri
$http_referer';
log_format stat_log_format '$msec $request_time $remote_addr '
'$status $uid_got $uid_set $server_name$request_uri $http_referer '
'$upstream_addr $upstream_response_time $upstream_status $time_local
"$http_user_agent" '
'$request_length $body_bytes_sent $gzip_ratio $request_body_file';
access_log /nginx_log/all_log site_log_format;
client_body_in_file_only on;
client_body_temp_path /nginx_post 3 3;
limit_zone too $server_name 1m;
userid on;
userid_name stat_uid;
userid_domain none;
userid_path /;
open_file_cache max=1000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
include /etc/nginx/include/*;
}
Конфиг для данного вирт. хоста
server {
listen 95.129.248.90;
server_name ... ;
charset utf-8;
access_log /nginx_log/..._log site_log_format;
location ~* ^(.+\.(php|php3|html)|.*/)$ {
limit_conn too 5;
error_page 503 /503.html;
proxy_cache zone2;
proxy_pass http://backend2;
proxy_set_header Host ...;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
index index.php index.html;
access_log /nginx_log/stat_log stat_log_format;
access_log /nginx_log/..._log site_log_format;
}
location /503.html {
internal;
root /data/test/htdocs;
charset windows-1251;
access_log /nginx_log/stat_log stat_log_format;
}
location ~ / {
root ...;
}
}
upstream backend2 {
ip_hash;
server IP1 max_fails=3 fail_timeout=60s ;
server IP2 max_fails=3 fail_timeout=60s ;
}
кусок лога
1244098296.622 0.000 78.24.24.241 200 - - 04/Jun/2009:10:51:36
1244098297.318 0.000 95.129.248.46 200 - - 04/Jun/2009:10:51:37
1244098297.418 0.000 212.87.187.3 200 - - 04/Jun/2009:10:51:37
1244098298.425 0.000 85.249.160.42 200 - - 04/Jun/2009:10:51:38
1244098298.668 0.000 62.192.233.99 200 - - 04/Jun/2009:10:51:38
1244098299.040 0.000 84.50.208.4 200 - - 04/Jun/2009:10:51:39
1244098299.650 0.000 92.112.145.87 200 - - 04/Jun/2009:10:51:39
1244098299.745 0.000 193.110.112.100 200 - - 04/Jun/2009:10:51:39
1244098300.025 0.000 89.113.208.212 200 - - 04/Jun/2009:10:51:40
1244098300.068 0.000 77.245.197.224 200 - - 04/Jun/2009:10:51:40
1244098301.812 0.000 95.72.148.100 200 - - 04/Jun/2009:10:51:41
1244098302.674 0.000 88.200.188.123 200 - - 04/Jun/2009:10:51:42
1244098303.434 0.095 78.36.7.112 200 0.095 200 04/Jun/2009:10:51:43
1244098303.888 0.089 95.52.186.111 200 0.089 200 04/Jun/2009:10:51:43
1244098304.902 0.000 193.200.38.246 200 - - 04/Jun/2009:10:51:44
1244098305.007 0.000 84.204.156.166 200 - - 04/Jun/2009:10:51:45
1244098305.044 0.000 89.169.135.77 200 - - 04/Jun/2009:10:51:45
1244098306.220 0.000 94.248.0.51 200 - - 04/Jun/2009:10:51:46
1244098306.979 0.093 93.170.0.46 200 0.093 200 04/Jun/2009:10:51:46
1244098307.026 0.000 87.117.35.27 200 - - 04/Jun/2009:10:51:47
1244098307.197 0.000 93.185.176.158 200 - - 04/Jun/2009:10:51:47
1244098307.885 0.091 78.37.56.216 200 0.091 200 04/Jun/2009:10:51:47
1244098308.458 0.000 85.202.126.3 200 - - 04/Jun/2009:10:51:48
1244098309.622 0.000 94.180.3.134 200 - - 04/Jun/2009:10:51:49
1244098310.002 0.000 93.124.97.77 200 - - 04/Jun/2009:10:51:50
1244098310.601 0.000 80.85.185.144 200 - - 04/Jun/2009:10:51:50
1244098311.196 0.000 92.243.167.96 200 - - 04/Jun/2009:10:51:51
1244098311.254 0.000 85.174.96.206 200 - - 04/Jun/2009:10:51:51
1244098311.752 0.000 91.192.20.10 200 - - 04/Jun/2009:10:51:51
1244098311.981 0.000 81.200.149.4 200 - - 04/Jun/2009:10:51:51
1244098312.006 0.000 195.206.43.10 200 - - 04/Jun/2009:10:51:52
1244098312.507 0.000 80.58.205.45 200 - - 04/Jun/2009:10:51:52
1244098312.569 0.000 94.51.233.120 200 - - 04/Jun/2009:10:51:52
1244098313.140 0.000 92.53.92.81 200 - - 04/Jun/2009:10:51:53
1244098313.270 0.000 80.70.236.45 200 - - 04/Jun/2009:10:51:53
1244098313.486 0.000 91.200.55.28 200 - - 04/Jun/2009:10:51:53
1244098314.004 0.000 79.120.0.168 200 - - 04/Jun/2009:10:51:54
1244098314.097 0.000 77.232.15.242 200 - - 04/Jun/2009:10:51:54
1244098314.536 0.000 95.220.9.101 200 - - 04/Jun/2009:10:51:54
1244098314.856 0.000 89.169.77.22 200 - - 04/Jun/2009:10:51:54
1244098317.472 0.000 194.44.238.38 200 - - 04/Jun/2009:10:51:57
1244098318.030 0.000 95.165.12.16 200 - - 04/Jun/2009:10:51:58
1244098318.042 0.099 91.192.60.34 200 0.099 200 04/Jun/2009:10:51:58
1244098318.174 0.000 217.8.87.211 200 - - 04/Jun/2009:10:51:58
1244098318.962 0.000 92.101.106.188 200 - - 04/Jun/2009:10:51:58
1244098319.475 0.000 95.78.128.37 200 - - 04/Jun/2009:10:51:59
1244098320.192 0.086 95.129.248.46 200 0.086 200 04/Jun/2009:10:52:00
1244098320.614 0.000 81.9.56.61 200 - - 04/Jun/2009:10:52:00
1244098321.667 0.000 88.205.252.233 200 - - 04/Jun/2009:10:52:01
1244098321.913 0.000 95.161.253.133 200 - - 04/Jun/2009:10:52:01
1244098322.635 0.000 93.185.185.8 200 - - 04/Jun/2009:10:52:02
1244098322.904 0.000 188.17.28.127 200 - - 04/Jun/2009:10:52:02
1244098323.454 0.000 95.72.120.214 200 - - 04/Jun/2009:10:52:03
1244098323.604 0.000 79.124.109.5 200 - - 04/Jun/2009:10:52:03
Где нет двух минусов - запросы на бэкенд
В кеше лежит файлик, заголовки которого
HTTP/1.1 200 OK
Date: Thu, 04 Jun 2009 06:59:37 GMT
Server: Apache
X-Powered-By: PHP/5.2.8-pl2-gentoo
Last-Modified: Thu, 04 Jun 2009 06:59:37 GMT
Expires: Thu, 04 Jun 2009 07:04:37 GMT
Connection: close
Content-Type: text/html; charset=UTF-8
Есть идеи?
--
С уважением,
Волков Олег
More information about the nginx-ru
mailing list