I know.  :)

What I'm trying to figure out is what the bytes/limit_maxbytes ratio
shows me - theoretical % used bytes if there was no wastage from
excess space allocation for each chunk?

Thanks,
Nicholas

On 4/29/09, Dustin <[email protected]> wrote:
>
>
>  Slabs are fixed size.  If you have a 1 byte object to store, by
> default, it's going to use 80 bytes of memory.
>
> On Apr 29, 3:54 pm, ntang <[email protected]> wrote:
>> Ok, I've got a question on slabs vs. main stats...
>>
>> So here's one of my servers:
>>
>> [r...@cc12-5 ~]# telnet 10.50.9.90 11213
>> Trying 10.50.9.90...
>> Connected to cc90-9.web.nap.ccops.us (10.50.9.90).
>> Escape character is '^]'.
>> stats
>> STAT pid 24458
>> STAT uptime 694639
>> STAT time 1241044888
>> STAT version 1.2.8
>> STAT pointer_size 64
>> STAT rusage_user 63.251384
>> STAT rusage_system 146.914665
>> STAT curr_items 754674
>> STAT total_items 2309096
>> STAT bytes 1860697442
>> STAT curr_connections 1044
>> STAT total_connections 846349
>> STAT connection_structures 1772
>> STAT cmd_flush 0
>> STAT cmd_get 6623750
>> STAT cmd_set 2309076
>> STAT get_hits 4234984
>> STAT get_misses 2388766
>> STAT evictions 53109
>> STAT bytes_read 4224402099
>> STAT bytes_written 4002657189
>> STAT limit_maxbytes 2097152000
>> STAT threads 2
>> STAT accepting_conns 1
>> STAT listen_disabled_num 0
>> END
>> ^]
>> telnet> quit
>> Connection closed.
>>
>> If you compare bytes and limit_maxbytes, it looks like this memcached
>> instance is 88.7% used.
>>
>> But I wrote a quick script to grab the per-slab stats:
>>
>> SERVER: 10.50.9.90:11213
>> SLAB    SIZE    #/page  #PAGES  #CHUNKS AVAIL   ASPACE  %USED
>> 1       104     10082   15      151230  0       0       100.0%
>> 2       136     7710    2       15420   0       0       100.0%
>> 3       176     5957    6       35742   1       176     100.0%
>> 4       224     4681    2       9362    4       896     100.0%
>> 5       280     3744    1       3744    237     66360   93.7%
>> 6       352     2978    48      142944  4       1408    100.0%
>> 7       440     2383    23      54809   0       0       100.0%
>> 8       552     1899    54      102546  1       552     100.0%
>> 9       696     1506    18      27108   2       1392    100.0%
>> 10      872     1202    46      55292   1       872     100.0%
>> 11      1096    956     23      21988   0       0       100.0%
>> 12      1376    762     20      15240   1       1376    100.0%
>> 13      1720    609     62      37758   3       5160    100.0%
>> 14      2152    487     14      6818    0       0       100.0%
>> 15      2696    388     34      13192   0       0       100.0%
>> 16      3376    310     18      5580    1       3376    100.0%
>> 17      4224    248     3       744     59      249216  92.1%
>> 18      5280    198     3       594     114     601920  80.8%
>> 19      6600    158     2       316     35      231000  88.9%
>> 20      8256    127     27      3429    0       0       100.0%
>> 21      10320   101     59      5959    1       10320   100.0%
>> 22      12904   81      145     11745   0       0       100.0%
>> 23      16136   64      80      5120    2       32272   100.0%
>> 24      20176   51      30      1530    0       0       100.0%
>> 25      25224   41      16      656     0       0       100.0%
>> 26      31536   33      19      627     0       0       100.0%
>> 27      39424   26      240     6240    0       0       100.0%
>> 28      49280   21      831     17451   0       0       100.0%
>> 29      61600   17      20      340     0       0       100.0%
>> 30      77000   13      30      390     0       0       100.0%
>> 31      96256   10      56      560     0       0       100.0%
>> 32      120320  8       84      672     0       0       100.0%
>> 33      150400  6       1       6       5       752000  16.7%
>> TOTALS:                         755152  471     1958296 99.9%
>>
>> As you can see, it's a slightly different story.  To see if it would
>> make a difference, I tried to figure out what the available space from
>> those 480 chunks would be, and compared that to the limit_maxbytes,
>> and it still seemed to come out around that same 99.9% level of
>> utilization.
>>
>> So is that 99.9% the accurate number I should be using for
>> utilization?  (Or more accurately, should I calculate 1.) the total
>> size based on the total of (# chunks * size) for each slab,  and
>> compare it to 2.) the total available space based on the total of
>> ( avail chunks * size) for each slab?)
>>
>> And if that's accurate, is the rest of the space lost to the slab
>> allocation and overhead?
>>
>> Now I'm debating if I should update memcache-top to report on actual
>> available space based on the slab stats, since that's a very different
>> number from the available space according to bytes vs.
>> limit_maxbytes... :)
>>
>> Thanks,
>> Nicholas

-- 
Sent from my mobile device

Reply via email to