diff 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
line wrap: on
line diff
--- a/src/http/ngx_http_cache.h
+++ b/src/http/ngx_http_cache.h
@@ -138,6 +138,8 @@ typedef struct {
     ngx_atomic_t                     cold;
     ngx_atomic_t                     loading;
     off_t                            size;
+    ngx_uint_t                       count;
+    ngx_uint_t                       watermark;
 } ngx_http_file_cache_sh_t;