文章目录
- 1、测试步骤
- 2 单机性能测试
- 2.1 机器信息
- 2.2 缓存性能对比
- 3 集群性能测试
- 3.1 机器信息
- 3.2 缓存性能对比
- 4、测试结论
- 技术交流
1、测试步骤
在单机和集群环境下,通过DAL中find不同数量id进行set和get缓存的操作,记录操作的时间。
表数据采用siteletter中的数据。
2 单机性能测试
2.1 机器信息
2.2 缓存性能对比
1、set性能: 采用脚本调取DAL不同数量的ids进行缓存,Redis和Memcached在不同数量id下的消耗时间如下:
2、get性能:采用脚本调用DAL命中缓存,Redis和Memcached在不同数量id下的消耗时间如下:
3 集群性能测试
3.1 机器信息
3.2 缓存性能对比
1、set性能: 采用脚本调取DAL不同数量的ids进行缓存,Redis和Memcached在不同数量id下的消耗时间如下:
2、get性能:采用脚本调用DAL命中缓存,Redis和Memcached在不同数量id下的消耗时间如下:
4、测试结论
1、无论在单机还是集群环境下,DAL的性能采用memcached缓存要比redis高,这和我们的实现方式有关系。
2、memcached的支持二进制和文本序列化采用 客户端自己实现的,而Redis是我们先把对象序列化再set到redis中,get的时候需要反序列化操作,这里存在性能损耗。
3、memcached支持一次性发多个key=>value到server进行存储,节省了网络的的时间;而redis集群模式下不支持mset和mget,导致我们必须采用循环get和set的方式去实现接口功能,性能损耗在RTT上。
4、Redis在相同的情况下qps和memcached相比也存在差距。
综上,DAL一次平均一个id采用redis缓存比memcached损耗大约1ms左右,能满足我们的需求,应该不会拖慢网站速度。