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

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