很多時候需要監(jiān)控服務(wù)器上的Memcached運行情況,比如緩存的查詢次數(shù),命中率之類的。但找到的那個memcached-tool是linux下用perl寫的,我也沒試過windows能不能用。后來發(fā)現(xiàn)個簡單的辦法可以做到,就是使用Telnet。
首先登錄到服務(wù)器,然后在cmd命令行中鍵入
telnet 127.0.0.1 11211
其中127.0.0.1是服務(wù)器的地址(這里是本機) ,11211是memcached綁定的端口號。
之后命令行窗口全黑只有光標提示,摸黑輸入stats,即可得到描述Memcached服務(wù)器運行情況的參數(shù)。如下圖:
下面的cmd_set 就是設(shè)置key=>value的次數(shù)。整個memcached是個大hash,用cmd_get沒有找到的內(nèi)容,就會調(diào)用一下cmd_set寫進緩存里。緊跟著是get_hits,就是緩存命中的次數(shù)。緩存命中率 = get_hits/cmd_get * 100%。
下面的get_misses的數(shù)字加上get_hits應(yīng)該等于cmd_get。而total_itemscurr_items表示現(xiàn)在在緩存中的鍵值對個數(shù),在圖上total_items == cmd_set == get_misses,不過當可用最大內(nèi)存用光時,memcached就會刪掉一些內(nèi)容,上面的等式就不成立了。
話說回來,memcached要是能有一套完整的監(jiān)測工具就太好了。memcached的安裝和php相應(yīng)配置請看這里。