memcached經常使用命令

詳見:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt104php

1、Memcache面向對象的經常使用接口包括:
Memcache::connect — 打開一個到Memcache的鏈接
Memcache::pconnect — 打開一個到Memcache的長鏈接
Memcache::close — 關閉一個Memcache的鏈接
Memcache::set — 保存數據到Memcache服務器上
Memcache::get — 提取一個保存在Memcache服務器上的數據
Memcache::replace — 替換一個已經存在Memcache服務器上的項目
Memcache::delete — 從Memcache服務器上刪除一個保存的項目
Memcache::flush — 刷新全部Memcache服務器上保存的項目(相似於刪除全部的保存的項目)
Memcache::getStats — 獲取當前Memcache服務器運行的狀態html

For More: http://cn.php.net/memcacheshell

2、查看系統的運行狀態:vim

[root@localhost softwear]# telnet 127.0.0.1 11211                         
Trying 127.0.0.1…
Connected to localhost.localdomain (127.0.0.1).
Escape character is ‘^]’. 
stats                                      輸入stats,顯示服務器信息、統計數據等
STAT pid 8257                              進程ID
STAT uptime 683101                         服務器運行秒數
STAT time 1288179433                       服務器當前unix時間戳
STAT version 1.2.6                         memcached版本
STAT pointer_size 32                       當前操做系統的指針大小(32位系統通常是32bit)
STAT rusage_user 7.269894                  該進程累計用戶時間
STAT rusage_system 27.697789               該進程累計的系統時間
STAT curr_items 8311                       服務器當前存儲的內容數量
STAT total_items 255141                    服務器啓動以來存儲過的內容總數
STAT bytes 4875895                         服務器當前存儲內容所佔用的字節數
STAT curr_connections 12                   當前打開鏈接數
STAT total_connections 131                 服務器運行以來接受的鏈接總數
STAT connection_structures 13              服務器分配的鏈接結構數
STAT cmd_get 534959                        執行get命令總數
STAT cmd_set 255507                        執行set命令總數
STAT get_hits 279452                       get命中次數
STAT get_misses 255507                     get未命中次數
STAT evictions 0                           爲獲取空間刪除item的總數(分配給memcache的空間用滿後須要刪除舊的items來獲得空間分配給新的items)
STAT bytes_read 217230173                  服務器從網絡讀取到的總字節數
STAT bytes_written 246524464               服務器向網絡發送的總字節數
STAT limit_maxbytes 134217728              服務器在存儲時被容許使用的字節總數,分配的內存數(字節),這個是128M
STAT threads 1                             當前線程數
END數組

其中,幾個重要的參數:
uptime:是memcached運行的秒數。
cmd_get:是查詢緩存的次數。
cmd_get/uptime 結果是平均每秒請求緩存的次數——結果值越大,說明Memcached的利用率越高,站點的訪問量大,若是過低,用文件系統緩存就能夠了,根本不會體現出使用memcached的強大性能。
cmd_set:是設置key=>value的次數。整個memcached是個大hash,用cmd_get沒有找到的內容,就會調用一下cmd_set寫進緩存裏。
get_hits:是緩存命中的次數。所謂的命中率 = get_hits/cmd_get * 100%。
get_misses:是緩存未命中的次數。get_misses加上get_hits就等於cmd_get。
stats:顯示服務器信息、統計數據等
stats reset:清空統計數據緩存

stats slabs:顯示各個slab的信息,包括chunk的大小、數目、使用狀況等
stats items:顯示各個slab中item的數目和存儲時長(最後一次訪問距離如今的秒數)
quit:退出服務器

3、利用shell命令操做Memcached網絡

一、查看Memcached當時狀態
printf 「stats\r\n」 | nc 127.0.0.1 11211dom

二、查看Memcached實時狀態
watch 「printf ‘stats\r\n’ | nc 127.0.0.1 11211″memcached

Memcached protocol 中英文檔能夠參考:http://blog.s135.com/book/memcached/

四. 查看slabs的使用情況
使用memcached的創造着Brad寫的名爲 memcached-tool 的Perl腳本,能夠方便地得到slab的使用狀況(它將memcached的返回值整理成容易閱讀的格式)。能夠從下面的地址得到腳本:
http://code.sixapart.com/svn/memcached/trunk/server/scripts/memcached-tool
[root@localhost html]# vim memcached-tool
[root@localhost html]# chmod +x memcached-tool
[root@localhost html]# ./memcached-tool 127.0.0.1:11211
  #  Item_Size   Max_age  1MB_pages Count   Full?
  1      80 B        0 s               1           0      no
  2     104 B       12175 s         1           1      no
  3     176 B    1339587 s       33       196567  yes

各列的含義:
#: slab class編號
Item_Size: Chunk大小
Max_age: LRU內最舊的記錄的生存時間
1MB_pages: 分配給Slab的頁數
Count: Slab內的記錄數
Full?: Slab內是否含有空閒chunk

五. 也能夠圖形化監控 Memcached 的運行狀態
http://livebookmark.net/journal/2008/05/21/memcachephp-stats-like-apcphp/是一個PHP源文件,只須要修改源碼中的用戶名、密碼以及數組$MEMCACHE_SERVERS 就能夠了。

相關文章
相關標籤/搜索