西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发C#.NET → 用c#实现一致性Hash算法(KetamaHash)

用c#实现一致性Hash算法(KetamaHash)

相关软件相关文章发表评论 来源:本站整理时间:2010/8/24 18:04:18字体大小:A-A+

作者:佚名点击:612次评论:0次标签: Hash

abylon FREEHASH1.5 安装版
  • 类型:密码相关大小:9.4M语言:英文 评分:5.0
  • 标签:
立即下载
3 页 .net版本下的测试结果
  下面是.net版本下的测试结果
   
       分布平均性测试:测试随机生成的众多key是否会平均分布到各个结点上测试结果如下:     
    
         
    
      最上面一行是参数说明,节点数目,总共有多少key,每个节点应该分配key的比例是多少。下面是每个结点分配到key的数目和比例。 多次测试后发现,这个Hash算法的节点分布都在标准比例左右徘徊。


      节点增删测试:在环上插入N个结点,每个节点nCopies个虚拟结点。随机生成众多key,在增删节点时,测试同一个key选择相同节点的概率,测试如果如下:

            

      上面三行分别是正常情况,节点增加,节点删除情况下的节点数目。下面两行表示在节点增加和删除情况下,同一个key分配在相同节点上的比例(命中率)。

      后来我修改了几次增删结点的数量,基本验证了JAVA那位仁兄所说的那样:
    
      多次测试后发现,命中率与结点数目和增减的节点数量有关。同样增删结点数目情况下,结点多时命中率高。同样节点数目,增删结点越少,命中率越高。这些都与实际情况相符。


     这里还有一些链接,都是介绍和讨论Consistent Hashing的,有兴趣的朋友可以看一下,呵呵:)

本文导航

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)