2016-05-19 5 views
0

私のmemcachedサーバの統計情報は、奇妙な関係を示しています:total_itemsはcmd_setより小さいです。このサーバー上で実行される唯一の操作は、「追加」、「置換」、「削除」、CASベースの操作など、「設定」と「取得」です。memcached statistics total_itemsはcmd_setより小さい

memcachedソースコードを調べると、「通常の」セット(CASなし)がアイテムを置き換えたり書き込んだりして、どちらもtotal_itemsを増やすことがわかります。

do_store_item() { 
    // ... 
    if (old_it != NULL) 
     item_replace(old_it, it, hv); 
    else 
     do_item_link(it, hv); 
    // ... 
} 

do_item_link())TOTAL_ITEMSを増加させ、item_replace()も(do_item_link呼び出します。では、total_itemsはどのようにcmd_setよりも小さくなりますか? memcachedの統計情報(読みやすくするためにインデント番号)から

抜粋:彼らは間違っているので

STAT cmd_set   12827359728 
STAT total_items  4237422053 
STAT curr_items   60745375 
STAT expired_unfetched 9898430934 
STAT evicted_unfetched 30415090 
STAT evictions   30421532 
STAT reclaimed   9900995350 
+0

回答がありません。私と同じくらい全員が似ているように見える。したがって、私はmemcachedバグを開いた:https://github.com/memcached/memcached/issues/161 –

答えて

1

統計はとても奇妙に見えました。これはmemcachedバグ(2^32の整数オーバーラン)です。 memcachedの開発者はそれを認め、修正しました。詳細はhttps://github.com/memcached/memcached/issues/161を参照してください。

関連する問題