comparison src/http/ngx_http_cache.h @ 6445:c9d680b00744

Cache: added watermark to reduce IO load when keys_zone is full. When a keys_zone is full then each next request to the cache is penalized. That is, the cache has to evict older files to get a slot from the keys_zone synchronously. The patch introduces new behavior in this scenario. Manager will try to maintain available free slots in the keys_zone by cleaning old files in the background.
author Dmitry Volyntsev <xeioex@nginx.com>
date Fri, 18 Mar 2016 15:08:21 +0300
parents 043914d19be8
children e08e741f74cd
comparison
equal deleted inserted replaced
6444:043914d19be8 6445:c9d680b00744
136 ngx_rbtree_node_t sentinel; 136 ngx_rbtree_node_t sentinel;
137 ngx_queue_t queue; 137 ngx_queue_t queue;
138 ngx_atomic_t cold; 138 ngx_atomic_t cold;
139 ngx_atomic_t loading; 139 ngx_atomic_t loading;
140 off_t size; 140 off_t size;
141 ngx_uint_t count;
142 ngx_uint_t watermark;
141 } ngx_http_file_cache_sh_t; 143 } ngx_http_file_cache_sh_t;
142 144
143 145
144 struct ngx_http_file_cache_s { 146 struct ngx_http_file_cache_s {
145 ngx_http_file_cache_sh_t *sh; 147 ngx_http_file_cache_sh_t *sh;