码迷,mamicode.com
首页 > 数据库 > 详细

redis和ssdb读取性能对比

时间:2014-08-12 19:13:35      阅读:364      评论:0      收藏:0      [点我收藏+]

标签:http   使用   os   io   文件   数据   ar   2014   

      最近关注了一下ssdb,他的特点是基于文件存储系统所以它支撑量大的数据而不因为内存的限制受取约束.从官网的测试报告来看其性能也非常出色和redis相当,因此可以使用他代表redis来进行k-v数据业务的处理.想法总是美好的,不过现实中就可能非常骨感.

    以于针对Redis和ssdb的几个读操进行一个简单的性能测试对比,这个测试不是直接在本机调用Redis和ssdb. 而是通过一个程序在别的服务器上调用.测试指令(get,hget,lregion)以下是测试结果截图

bubuko.com,布布扣

测试代码

 private void HGetHandler(RedisClient e)
        {
            while (mRuning)
            {
                long index = System.Threading.Interlocked.Increment(ref mIndex);
                ProtobufKey key = "user_" + Data.Import.Users[(int)(index % Data.Import.Users.Count)].Name;
                key.Get<Model.Order, Model.Employee, Model.Customer>(e);
                System.Threading.Interlocked.Increment(ref mCount);
            }
        }

        private void LRegionHandler1TO2(RedisClient e)
        {
            while (mRuning)
            {
                ProtobufList<Model.Order> list = "Orders";
                list.Range(1, 2, e);
                System.Threading.Interlocked.Increment(ref mCount);
            }
        }

        private void LRegionHandler50TO60(RedisClient e)
        {
            while (mRuning)
            {
                ProtobufList<Model.Order> list = "Orders";
                list.Range(50, 60, e);
                System.Threading.Interlocked.Increment(ref mCount);
            }
        }
        private void LRegionHandler100TO110(RedisClient e)
        {
            while (mRuning)
            {
                ProtobufList<Model.Order> list = "Orders";
                list.Range(100, 110, e);
                System.Threading.Interlocked.Increment(ref mCount);
            }
        }

        private  void GetHandler(RedisClient e)
        {
            while (mRuning)
            {
                long index = System.Threading.Interlocked.Increment(ref mIndex);
                ProtobufKey key = "user_" + Data.Import.Users[(int)(index % Data.Import.Users.Count)].Name;
                key.Get<Model.User>(e);
                System.Threading.Interlocked.Increment(ref mCount);
            }
        }

从测试结果看来差距还是非常明显,并不象官网那样说得这么理想.虽然SSDB效率上不如REDIS,但其基于磁盘存储有着其最大的优势,毕竟很多业务数据远超过服务器内存的容量.

redis和ssdb读取性能对比,布布扣,bubuko.com

redis和ssdb读取性能对比

标签:http   使用   os   io   文件   数据   ar   2014   

原文地址:http://my.oschina.net/ikende/blog/300443

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!