<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    放翁(文初)的一畝三分地

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      210 隨筆 :: 1 文章 :: 320 評(píng)論 :: 0 Trackbacks
     

           集團(tuán)內(nèi)部很多團(tuán)隊(duì)都使用Memcache來(lái)提高應(yīng)用性能,最近的一次工作匯報(bào)中提及了MemcacheHash算法需要研究來(lái)滿足一些需求,同時(shí)提高Memcache的利用效率。討論了一下最后自己總結(jié)了這么幾點(diǎn)是對(duì)Hash算法需要著重考慮的。

    問(wèn)題:

    1.       存儲(chǔ)數(shù)據(jù)如何均勻分散。如何把數(shù)據(jù)盡可能的散開(kāi)存儲(chǔ),這樣對(duì)于Memcache的可擴(kuò)展性才會(huì)有充分利用,試想如果算法每次都會(huì)把數(shù)據(jù)定向到某幾臺(tái)機(jī)器,那么就會(huì)導(dǎo)致集群機(jī)器之間利用率的不均衡,無(wú)法發(fā)揮出集群效應(yīng)。

    2.       增減機(jī)器減小對(duì)原有數(shù)據(jù)存取的影響。由于業(yè)務(wù)量的增長(zhǎng)勢(shì)必需要對(duì)后端的服務(wù)器有所擴(kuò)容,但是增加或者減少機(jī)器如何盡可能小的影響已有的緩存數(shù)據(jù),這點(diǎn)直接影響業(yè)務(wù)處理以及應(yīng)用的效率。

    3.       提高Memcache效率。Memcache在壓力測(cè)試下也會(huì)暴露出對(duì)于網(wǎng)絡(luò)資源的消耗問(wèn)題,畢竟也是網(wǎng)絡(luò)間的Socket數(shù)據(jù)交互。

    解決的一些思路和方法:

    1.       Consistent Hashing是一種比較好的解決思路。可以參看一下:http://tech.idv2.com/2008/07/24/memcached-004/ 其中主要兩個(gè)亮點(diǎn)就是稀釋節(jié)點(diǎn)以及環(huán)狀分區(qū)段管理。稀釋節(jié)點(diǎn)就是將原來(lái)的節(jié)點(diǎn)再?gòu)?fù)制幾十倍,使得離散度更高,數(shù)據(jù)更加分散。環(huán)狀分區(qū)段管理,就能夠?qū)?shù)據(jù)分區(qū)管理,在加入和減少節(jié)點(diǎn)時(shí)對(duì)數(shù)據(jù)產(chǎn)生影響最低,最好的類比就是解放前的地下工作者單線聯(lián)系,如果被捕不會(huì)涉及到所有的地下黨同志。

    2.       集群的機(jī)器使用Memcache最好結(jié)合本地Cache,這里我們自己寫了一個(gè)本地的類似于Memcache有超時(shí)時(shí)間Cache,兩者結(jié)合一起使用緩存信息,在壓力測(cè)試下提高了20%左右的性能。這里和我們的系統(tǒng)也有關(guān)系,我們對(duì)于Memcache有比較大的依賴,雖然已經(jīng)對(duì)于每一個(gè)請(qǐng)求處理都防止重復(fù)獲取信息,將必要信息放在線程上下文中,但是在運(yùn)行期間還是會(huì)有不少的請(qǐng)求。

    存儲(chǔ)到Memcache中的數(shù)據(jù)類型:

    1. 一次寫入多次讀,很少更新。這種數(shù)據(jù)系統(tǒng)啟動(dòng)以后構(gòu)建,在非命中情況下不采用從后備數(shù)據(jù)源中獲取數(shù)據(jù)來(lái)填充Memcache。(也是提高效率,同時(shí)防止一些攻擊性的請(qǐng)求)

    2. 多次寫入多次讀取。這類數(shù)據(jù)往往是在運(yùn)行期被構(gòu)建,非命中下會(huì)從后備數(shù)據(jù)源中獲取,或者是某一種計(jì)算結(jié)果的緩存。

    對(duì)于第一類數(shù)據(jù)來(lái)說(shuō),增加機(jī)器需要重新構(gòu)建,如果采用分區(qū)分段,那么只需要構(gòu)建某一部分的數(shù)據(jù),或者是移動(dòng)數(shù)據(jù)。對(duì)于第二類數(shù)據(jù),增加機(jī)器如果采用簡(jiǎn)單的Hash算法也問(wèn)題不大,最多存儲(chǔ)多份,命中率降低,但是如果采用分區(qū),也可以降低命中率下降的情況。

           這里只是拋出問(wèn)題,后續(xù)如何解決請(qǐng)各位看官各抒己見(jiàn)了。當(dāng)然這里自己也會(huì)考慮這方面的實(shí)現(xiàn)和設(shè)計(jì)。
    posted on 2008-08-14 10:36 岑文初 閱讀(3435) 評(píng)論(1)  編輯  收藏

    評(píng)論

    # re: Memcache Hash算法值得探索的內(nèi)容 2008-08-14 14:22 小高
    關(guān)注一下  回復(fù)  更多評(píng)論
      


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产国产人免费人成免费视频| 亚洲av无码av制服另类专区| 四虎国产精品永久免费网址| 黄色毛片视频免费| 亚洲一区中文字幕在线电影网 | 亚洲国产精华液2020| 亚洲福利视频一区| 亚洲中文久久精品无码| 国产成人精品免费视频软件| 亚洲精品免费网站| 无码精品一区二区三区免费视频| 国产成人无码免费网站| AV激情亚洲男人的天堂国语| 中文字幕亚洲码在线| 亚洲黄色网站视频| 亚洲激情中文字幕| 亚洲Av综合色区无码专区桃色| 亚洲中文字幕伊人久久无码| 日本免费一区二区三区最新vr| 一个人免费观看视频www| 99久热只有精品视频免费观看17| 免费人成毛片动漫在线播放| 国色精品va在线观看免费视频 | 在线a人片天堂免费观看高清| xxxxx免费视频| 最近免费中文字幕大全高清大全1 最近免费中文字幕mv在线电影 | 中文文字幕文字幕亚洲色| 亚洲国产精品一区二区久| 亚洲网站视频在线观看| 亚洲免费在线视频| 久久亚洲精品无码AV红樱桃| 91亚洲va在线天线va天堂va国产| 亚洲s色大片在线观看| 亚洲成a人片在线观看无码专区| 人人狠狠综合久久亚洲婷婷| 亚洲人成网亚洲欧洲无码久久| 亚洲欧洲自拍拍偷午夜色无码| 亚洲熟妇无码八AV在线播放| 亚洲成A人片在线观看无码不卡| 久久国产乱子伦精品免费不卡| 国产天堂亚洲国产碰碰|