收獲最大的部分,我覺得是在應用上如何更好的對緩存進行使用和處理,來解決 Cache Stamples 的問題。通常只進行一次緩存判斷的邏輯,在應對高并發(fā)的訪問時,經(jīng)常會引起問題,因此增加鎖機制和Mutex就非常必要。
Memcache服務器的狀態(tài)
如果有人反映memcache鏈接比較慢的時候,可以按照下面的步驟來進行查看
首先檢查Memcached服務器組的 listen_disabled_num 參數(shù),這個參數(shù)表明了這臺服務器曾經(jīng)達到最大連接的次數(shù),這個數(shù)字當然是越小越好,如果這個數(shù)字不斷快速的增長,我們就該小心我們的服務了。
accepting_conns 這個參數(shù)與上一個有關(guān),我們可以簡單的查看這個值是 1 或者 0 來判斷服務器是否達到過最大連接。
curr_connections 這個狀態(tài)顯示了當前連接到服務器上的數(shù)量,注意這個數(shù)字不要超過設(shè)置的最大值
limit_maxbytes 當前服務器可以使用的最大內(nèi)存數(shù)量,實際上服務器中的 memcached 進程占用的內(nèi)存會比這個數(shù)字大一些
cmd_flush 服務器上執(zhí)行了 flush_all 的次數(shù)
evictions 這個數(shù)字表示一些項目還沒有過期,但是因為 slab 中已經(jīng)沒有可用的空間,導致最后根據(jù)LRU算法被剔除的情況
一些統(tǒng)計數(shù)值
緩存命中率:計算公式 get_hits / ( get_hits + get_misses ) 服務器的緩存命中率,越高越好
另外,可以使用下面這個腳本進行服務器的測試
測試腳本: http://consoleninja.net/code/memcached/mc_conn_tester.pl
利用Cacti監(jiān)控Memcached
Cacti作為一套成熟的系統(tǒng),可以用來繪制與Memcached相關(guān)的各種統(tǒng)計圖表。下面提供的插件可以結(jié)合Cacti進行繪圖,但是需要下面幾個要求:1、系統(tǒng)已經(jīng)安裝了Cacti;2、已經(jīng)安裝好了Memcached;3、Cacti的機器上同時安裝了Python;4、安裝了Python的Memcached客戶端。
下面是一些截圖
下載Cacti取數(shù)據(jù)的腳本: Cacti-memcached-1.0.tar.gz
安裝配置過程:
1、下載Python的客戶端API,
python-memcached-1.47.tar.gz
2、解壓后安裝
tar –xvzf python-memcached-1.47.tar.gz
python setup.py install
3、下載Cacti的模板, Cacti-memcached-1.0.tar.gz
4、解壓縮,然后將 memcached.py 拷貝到 cacti 的 /scripts/ 目錄中
5、為了確認這個腳本是否能夠正常運行,可以運行腳本進行測試
python memcached.py hostname
正常情況下,我們可以取得所連接服務器的一些數(shù)據(jù)。
6、登錄進入Cacti系統(tǒng),選擇導入模板,選擇我們下載的模板中的 cacti_memcached_host_template.xml 文件,其它選項保持默認,進行保存
此時,我們在Cacti系統(tǒng)中引入模板就已經(jīng)完成了,你會看到成功的提示,并且有一些相關(guān)的信息顯式或者一些報錯的界面。如果沒有成功,可以參考這里的 幫助 。
7、系統(tǒng)的配置和使用
安裝完成后,我們可以在新建Device時看到對應的模板,如下圖
對于已經(jīng)存在的Device,也可以在Associated Graph Templates中選擇對應的模板
8、之后就可以在Graph中看到對應圖表了。
參考資料
1、
Memcached Wiki Timeouts
2、
利用Cacti監(jiān)控Memcached
3、
Memcached數(shù)據(jù)被踢現(xiàn)象分析(evicitions>0)
更多文章、技術(shù)交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
