我试图为nginx中相对不同的使用场景和资源消耗configuration两个URLpath组。 两者都由相同的uwsgi应用程序服务。
这个要求是要被压缩,并且XML也应该被caching1个小时。
我不太明白的是缓冲区数量的含义,以及如何根据预期的stream量和内容大小来优化设置它们的数量和大小,无论是uwsgi还是gzip。
另外,对于下面的configuration,我从nginx得到错误:
"uwsgi_busy_buffers_size" must be less than the size of all "uwsgi_buffers" minus one buffer in /etc/nginx/nginx.conf:113
uwsgi_busy_buffers_size似乎没有logging。
location ~ /path/to/(.+)\.xml { uwsgi_hide_header "Set-Cookie"; uwsgi_ignore_headers "Set-Cookie"; uwsgi_buffers 2 8M; uwsgi_cache xmlfiles; uwsgi_cache_key $request_uri; uwsgi_cache_valid 200 1h; uwsgi_cache_valid 04 5m; uwsgi_cache_use_stale error; expires +1h; gzip on; gzip_types application/xml; gzip_buffers 2 8M; try_files $uri @backend; } location / { try_files $uri @backend; gzip on; gzip_buffers 8 256k; uwsgi_buffers 8 256k; try_files $uri @backend; } location @backend { include uwsgi_params; uwsgi_pass unix:///tmp/uwsgi-app.sock; }
请帮忙。 nginx 1.0.14
uwsgi_busy_buffers_size具有与fastcgi_busy_buffers_size相同的含义,但对于uwsgi。
限制可能正忙于向客户端发送响应的缓冲区的总大小,而响应尚未完全读取。 同时,其余的缓冲区可用于读取响应,并且如果需要的话,缓冲对临时文件的响应的一部分。 默认情况下,大小受到由uwsgi_buffer_size和uwsgi_buffers指令设置的两个缓冲区的限制。
大多数情况下,nginx中缓冲区相关指令的ps默认值都有最佳值。 所以,只有当你完全明白你在做什么和为什么时,你才应该调整他们。
就像旁注一样,每个gzip缓冲区允许的最大大小是8k 。
要获得相同的整体大小,您将需要使用gzip_buffers 2048 8k; 。
我不确定是否同样的限制适用于uwsgi_buffers 。
一般来说,最好有几个较大的缓冲区可用更多的小缓冲区。