很多時候需要監控伺服器上的Memcached運行情況,比如緩衝的查詢次數,命中率之類的。但找到的那個memcached-tool是linux下用perl寫的,我也沒試過windows能不能用。後來發現個簡單的辦法可以做到,就是使用Telnet。
首先登入到伺服器,然後在cmd命令列中鍵入
telnet
127.0.0.1 11211
其中127.0.0.1是伺服器的地址(這裡是本機) ,11211是memcached綁定的連接埠號碼。之後命令列視窗全黑只有游標提示,摸黑輸入stats,即可得到描述Memcached伺服器運行情況的參數。如:
其中,uptime 是memcached啟動並執行秒數,cmd_get是查詢快取的次數。這兩個資料相除一下就能得到平均每秒請求緩衝的次數——最近niupu的流量很低,所以平均也就一秒請求一次多,這麼點大的壓力,用檔案系統快取一樣沒問題,根本不會體現出使用memcached的優越。
下面的cmd_set 就是設定key=>value的次數。整個memcached是個大hash,用cmd_get沒有找到的內容,就會調用一下cmd_set寫進緩衝裡。緊跟著是get_hits,就是快取命中的次數。快取命中率
=
get_hits/cmd_get *
100%。
下面的get_misses的數字加上get_hits應該等於cmd_get。而total_itemscurr_items表示現在在緩衝中的索引值對個數,在圖上total_items
== cmd_set ==
get_misses,不過當可用最大記憶體用光時,memcached就會刪掉一些內容,上面的等式就不成立了。話說回來,memcached要是能有一套完整的監測工具就太好了。memcached的安裝和php相應配置請看這裡。
Memcached的stats命令
telnet到memcached伺服器後有很多的命令可以使用,除了大家熟知的add、get、set、incr、decr、replace、delete等賦值命令外,還有一系列的擷取伺服器資訊的命令,這部分命令都是以stats開頭的。
用PHP的Memcache::getStats($cmd)也可以訪問這些命令
常用的命令
stats
顯示伺服器資訊、統計資料等
stats reset
清空統計資料
stats malloc
顯示記憶體配置資料
stats cachedump slab_id limit_num
顯示某個slab中的前limit_num個key列表,顯示格式如下
ITEM key_name [ value_length b; expire_time|access_time s]
其中,memcached 1.2.2及以前版本顯示的是 訪問時間(timestamp)1.2.4以上版本,包括1.2.4顯示 到期時間(timestamp)
如果是永不到期的key,expire_time會顯示為伺服器啟動的時間
stats cachedump 7 2
ITEM copy_test1 [250 b; 1207795754 s]
ITEM copy_test [248 b; 1207793649 s]
stats slabs
顯示各個slab的資訊,包括chunk的大小、數目、使用方式等
stats items
顯示各個slab中item的數目和最老item的年齡(最後一次訪問距離現在的秒數)
stats detail [on|off|dump]
設定或者顯示詳細操作記錄
參數為on,開啟詳細操作記錄
參數為off,關閉詳細操作記錄
參數為dump,顯示詳細操作記錄(每一個索引值get、set、hit、del的次數)
stats detail dump
PREFIX copy_test2 get 1 hit 1 set 0 del 0
PREFIX copy_test1
get 1 hit 1 set 0 del 0
PREFIX cpy get 1 hit 0 set 0 del 0
轉:http://www.cnblogs.com/eoiioe/archive/2009/06/03/1495338.html
很多時候需要監控伺服器上的Memcached運行情況,比如緩衝的查詢次數,命中率之類的。但找到的那個memcached-tool是linux下用perl寫的,我也沒試過windows能不能用。後來發現個簡單的辦法可以做到,就是使用Telnet。
首先登入到伺服器,然後在cmd命令列中鍵入
telnet
127.0.0.1 11211
其中127.0.0.1是伺服器的地址(這裡是本機) ,11211是memcached綁定的連接埠號碼。之後命令列視窗全黑只有游標提示,摸黑輸入stats,即可得到描述Memcached伺服器運行情況的參數。如:
其中,uptime 是memcached啟動並執行秒數,cmd_get是查詢快取的次數。這兩個資料相除一下就能得到平均每秒請求緩衝的次數——最近niupu的流量很低,所以平均也就一秒請求一次多,這麼點大的壓力,用檔案系統快取一樣沒問題,根本不會體現出使用memcached的優越。
下面的cmd_set 就是設定key=>value的次數。整個memcached是個大hash,用cmd_get沒有找到的內容,就會調用一下cmd_set寫進緩衝裡。緊跟著是get_hits,就是快取命中的次數。快取命中率
=
get_hits/cmd_get *
100%。
下面的get_misses的數字加上get_hits應該等於cmd_get。而total_itemscurr_items表示現在在緩衝中的索引值對個數,在圖上total_items
== cmd_set ==
get_misses,不過當可用最大記憶體用光時,memcached就會刪掉一些內容,上面的等式就不成立了。話說回來,memcached要是能有一套完整的監測工具就太好了。memcached的安裝和php相應配置請看這裡。
Memcached的stats命令
telnet到memcached伺服器後有很多的命令可以使用,除了大家熟知的add、get、set、incr、decr、replace、delete等賦值命令外,還有一系列的擷取伺服器資訊的命令,這部分命令都是以stats開頭的。
用PHP的Memcache::getStats($cmd)也可以訪問這些命令
常用的命令
stats
顯示伺服器資訊、統計資料等
stats reset
清空統計資料
stats malloc
顯示記憶體配置資料
stats cachedump slab_id limit_num
顯示某個slab中的前limit_num個key列表,顯示格式如下
ITEM key_name [ value_length b; expire_time|access_time s]
其中,memcached 1.2.2及以前版本顯示的是 訪問時間(timestamp)1.2.4以上版本,包括1.2.4顯示 到期時間(timestamp)
如果是永不到期的key,expire_time會顯示為伺服器啟動的時間
stats cachedump 7 2
ITEM copy_test1 [250 b; 1207795754 s]
ITEM copy_test [248 b; 1207793649 s]
stats slabs
顯示各個slab的資訊,包括chunk的大小、數目、使用方式等
stats items
顯示各個slab中item的數目和最老item的年齡(最後一次訪問距離現在的秒數)
stats detail [on|off|dump]
設定或者顯示詳細操作記錄
參數為on,開啟詳細操作記錄
參數為off,關閉詳細操作記錄
參數為dump,顯示詳細操作記錄(每一個索引值get、set、hit、del的次數)
stats detail dump
PREFIX copy_test2 get 1 hit 1 set 0 del 0
PREFIX copy_test1
get 1 hit 1 set 0 del 0
PREFIX cpy get 1 hit 0 set 0 del 0