diff options
author | dormando <dormando@rydia.net> | 2018-10-02 13:13:28 -0700 |
---|---|---|
committer | dormando <dormando@rydia.net> | 2018-10-02 13:13:28 -0700 |
commit | 566610d41bb224b3913ded99a53d1e2efa0a0d85 (patch) | |
tree | 2c4107dfbd439e5e58870c44b05174e36927a6c1 /memcached.c | |
parent | 3a4513ec445c559044a4cd981fd2b7679e450bf7 (diff) | |
download | memcached-566610d41bb224b3913ded99a53d1e2efa0a0d85.tar.gz |
extstore: balance IO thread queues1.5.11
queues were roundrobin before. during sustained overload some queues
can get behind while other stays empty. Simply do a bit more work to
track depth and pick the lowest queue. This is fine for now since the
bottleneck remains elsewhere.
Been meaning to do this, benchmark work made it more obvious.
Diffstat (limited to 'memcached.c')
-rw-r--r-- | memcached.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/memcached.c b/memcached.c index c77f28e..f7c4359 100644 --- a/memcached.c +++ b/memcached.c @@ -3214,6 +3214,7 @@ static void server_stats(ADD_STAT add_stats, conn *c) { APPEND_STAT("extstore_bytes_used", "%llu", (unsigned long long)st.bytes_used); APPEND_STAT("extstore_bytes_fragmented", "%llu", (unsigned long long)st.bytes_fragmented); APPEND_STAT("extstore_limit_maxbytes", "%llu", (unsigned long long)(st.page_count * st.page_size)); + APPEND_STAT("extstore_io_queue", "%llu", (unsigned long long)(st.io_queue)); } #endif } |