From 51a828b91d9e6c1fe5798d934d9b6abbf0e0c617 Mon Sep 17 00:00:00 2001 From: dormando Date: Thu, 7 Jul 2016 00:50:53 -0700 Subject: startup options for chunked items. has spent some time under performance testing. For larger items there's less than 5% extra CPU usage, however the max usable CPU when using large items is 1/10th or less before you run out of bandwidth. Mixed small/large items will still balance out. comments out debugging (which must be removed for release). restores defaults and ensures only t/chunked-items.t is affected. dyn-maxbytes and item_size_max tests still fail. append/prepend aren't implemented, sasl needs to be guarded. slab mover needs to be updated. --- slabs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'slabs.c') diff --git a/slabs.c b/slabs.c index 4b43395..2cafe97 100644 --- a/slabs.c +++ b/slabs.c @@ -254,7 +254,7 @@ static void *do_slabs_alloc_chunked(const size_t size, slabclass_t *p, unsigned unsigned int chunks_req = size / csize; if (size % csize != 0) chunks_req++; - fprintf(stderr, "LARGE ITEM [%lu] CHUNKS REQUESTED [%d]\n", size, chunks_req); + //fprintf(stderr, "LARGE ITEM [%lu] CHUNKS REQUESTED [%d]\n", size, chunks_req); while (p->sl_curr < chunks_req) { if (do_slabs_newslab(id) == 0) break; @@ -370,7 +370,7 @@ static void do_slabs_free_chunked(item *it, const size_t size, unsigned int id, unsigned int chunks_req = realsize / p->size; if (realsize % p->size != 0) chunks_req++; - fprintf(stderr, "FREEING CHUNKED ITEM INTO SLABS: SIZE: [%lu] REALSIZE: [%lu] CHUNKS_REQ: [%d]\n", size, realsize, chunks_req); + //fprintf(stderr, "FREEING CHUNKED ITEM INTO SLABS: SIZE: [%lu] REALSIZE: [%lu] CHUNKS_REQ: [%d]\n", size, realsize, chunks_req); it->it_flags = ITEM_SLABBED; it->slabs_clsid = 0; -- cgit v1.2.1