Hi everybody,
I’m a newbie with nginx and would like to ask your help. On potentially
very high loaded site I would like to cache response to the HTTP POST
for the few seconds. Works perfectly for GETs, but…
nginx version: nginx/0.8.54
Please see below my config:
proxy_cache_path /tmp/nginx levels=2:2:2 keys_zone=small:1m inactive=1m
max_size=10m;
server {
log_format main ‘$remote_addr $host $remote_user [$time_local]
“$request” $status $body_bytes_sent “$http_referer”
“$http_user_agent” “$gzip_ratio”’;
access_log /var/log/nginx/test_server.access.log main buffer=32k;
error_log /var/log/nginx/test_server.error.log info;
listen 80;
root /var/www/html/nginx;
index index.html index.htm;
location / {
try_files $uri @apache_backend;
}
location ~ .php$ {
}
location @apache_backend {
proxy_pass http://127.0.0.1:88;
proxy_cache small;
proxy_cache_valid 5s;
proxy_cache_key $uri;
proxy_cache_use_stale updating;
add_header X-Cached $upstream_cache_status;
}
}
Any help/advices will be appreciated.
Thanks
—>>> qzpmwo <<<—
Posted at Nginx Forum:
Hi everybody, I'm a newbie with nginx and would like to ask your help. On potentially very high loaded site I would like to cache response to the HTTP POST for the few seconds. Works perfectly for GETs, but... nginx version: nginx/0.8.54 Please see...
qzpmwo
September 15, 2011, 7:50am
2
On Thu, Sep 15, 2011 at 01:43:38AM -0400, qzpmwo wrote:
proxy_cache_path /tmp/nginx levels=2:2:2 keys_zone=small:1m inactive=1m
location ~ .php$ {
}
}
Any help/advices will be appreciated.
You should upgrade to at least 0.8.55.
If POST request body is small enough, then you can use:
location @apache_backend {
...
proxy_cache_methods POST;
proxy_cache_key "$uri|$request_body";
client_max_body_size 1k;
}
–
Igor S.
qzpmwo
September 15, 2011, 7:52am
3
Hi everybody,
Sorry for not reading documentation properly. proxy_cache_methods is a
saver!
Thanks a lot, case closed
—>>> qzpmwo <<< —
Posted at Nginx Forum:
Hi everybody, I'm a newbie with nginx and would like to ask your help. On potentially very high loaded site I would like to cache response to the HTTP POST for the few seconds. Works perfectly for GETs, but... nginx version: nginx/0.8.54 Please see...
qzpmwo
September 15, 2011, 11:29am
4
On Thu, Sep 15, 2011 at 03:09:48AM -0400, qzpmwo wrote:
Hi Igor,
Thanks a lot for so fast answer and for so wonderful product! I will try
to use your trick with request_body, though in my case it is an AMF
binary.
How large these binaries ?
I updated to 1.0.5 and have weird problem now (from error log):
http: file cache: /tmp/nginx-cache 0.000M, bsize: 4096
signal 17 (SIGCHLD) recieved
cache loader process 11737 exited with code 0
signal 29 (SIGIO) recieved
Any advices of how to figure out why is it happening?
This is non-erroneous messages logged at “notice” level.
–
Igor S.
qzpmwo
September 15, 2011, 9:10am
5
Hi Igor,
Thanks a lot for so fast answer and for so wonderful product! I will try
to use your trick with request_body, though in my case it is an AMF
binary.
I updated to 1.0.5 and have weird problem now (from error log):
http: file cache: /tmp/nginx-cache 0.000M, bsize: 4096
signal 17 (SIGCHLD) recieved
cache loader process 11737 exited with code 0
signal 29 (SIGIO) recieved
Any advices of how to figure out why is it happening?
Thanks again
—>>> qzpmwo <<<—
Posted at Nginx Forum:
Hi everybody, I'm a newbie with nginx and would like to ask your help. On potentially very high loaded site I would like to cache response to the HTTP POST for the few seconds. Works perfectly for GETs, but... nginx version: nginx/0.8.54 Please see...
qzpmwo
September 15, 2011, 11:33am
6
Hi Igor,
Payload size is small around 120 bytes according to my data. Response is
empty. May be that is why? Tomorrow I will try to recompile nginx with
debug enabled and may be get more data.
Thanks a lot for support.
—>>> qzpmwo <<<—
Posted at Nginx Forum:
Hi everybody, I'm a newbie with nginx and would like to ask your help. On potentially very high loaded site I would like to cache response to the HTTP POST for the few seconds. Works perfectly for GETs, but... nginx version: nginx/0.8.54 Please see...
qzpmwo
September 16, 2011, 1:22am
7
Hi Igor,
Thanks a lot for your help. Problem was with the request body. Now
everything is working as expected.
Sincerely
—>>> qzpmwo <<<—
Posted at Nginx Forum:
Hi everybody, I'm a newbie with nginx and would like to ask your help. On potentially very high loaded site I would like to cache response to the HTTP POST for the few seconds. Works perfectly for GETs, but... nginx version: nginx/0.8.54 Please see...
qzpmwo
September 15, 2011, 11:44am
8
Actually I was wrong. Response “Content-Length” header says 66 bytes, so
response is not empty. If I disable caching of that request, application
works. If it is enabled it stops after first cache HIT. As I mentioned
in previous mail I will try to get more data (tcpdump and nginx with
debug) tomorrow.
Thanks
—>>> qzpmwo <<<—
Posted at Nginx Forum:
Hi everybody, I'm a newbie with nginx and would like to ask your help. On potentially very high loaded site I would like to cache response to the HTTP POST for the few seconds. Works perfectly for GETs, but... nginx version: nginx/0.8.54 Please see...