summaryrefslogtreecommitdiff
path: root/memcached.c
diff options
context:
space:
mode:
authordormando <dormando@rydia.net>2018-10-02 13:13:28 -0700
committerdormando <dormando@rydia.net>2018-10-02 13:13:28 -0700
commit566610d41bb224b3913ded99a53d1e2efa0a0d85 (patch)
tree2c4107dfbd439e5e58870c44b05174e36927a6c1 /memcached.c
parent3a4513ec445c559044a4cd981fd2b7679e450bf7 (diff)
downloadmemcached-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.c1
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
}