redis读写性能测试

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

鲁德培训软件测试学习一、基础测试:redis读写性能测试redis官网测试读写能到10万左右,非常吸引人,我在研发环境对redis进行测试,发现redis的速度的确很快,此测试是为日后应用优化提供研发参考。由于受到网络环境的限制,本机是100M的网卡,最高10M/s的传输速度,所以当测试到每秒读取45000条时,测试机和测试服务器上传或者下载速度已经达到10M/s,基本到了网络瓶颈,无法再提高,这个应该是网络吞吐量的原因,不过CPU的利用率直到20%左右。如果网络传输速度更快的话,应该还可以提高,另外,在不进行批量获取数据的时候,也就是每次发送一个key获取一个值的方式处理,基本处理能力只在1100条左右,估计是受制于网络速度的原因。二、加项测试:(1)单条处理:通过同一网段的两台Xeon(R)E5520服务器之间进行测试,网络速度也是10M/s的速度,通过发送一个key获取一个value的方式测试,速度明细要高于开发电脑的速度,也就是linux环境快于window环境,每秒能处理4000条左右的数据,比之前1000条提高4倍,而在服务器本机进行测试,性能突然开始变态了,存储数据达到1.5万左右,获取速度达到2万左右,比网络环境提供5倍,比windows环境提高20倍;(2)批量处理:批量存储、批量获取,linux服务器直接处理速度在4万以上,与windows环境下速度相当;不过在本机环境下,性能又开始变态了,批量存储速度能达到15万到20万以上,批量获取更是达到40万以上,整体性能比Linux服务器直接提高10倍到20倍。三、个人经验:(1)批量处理:redis在处理数据时,最好是要进行批量处理,将一次处理1条数据改为多条,性能可以成倍提高。测试的目的就是要弄清楚批量和非批量处理之间的差别,从测试结果来看,性能差异非常大,所以在开发过程中尽量使用批量处理,即每次发送多条数据,以抵消网络速度影响。(2)网络:redis在处理时受网络影响非常大,所以,部署最好能在本机部署,如果本机部署redis,能获取10到20倍的性能。集群情况下,网络硬件、网速要求一定要高。(3)内存:鲁德培训软件测试学习由于我在测试环境遇到过redis读取超时,排查原因定位在Linux交互分区上。如果没有足够内存,linux可能将reids一部分数据放到交换分区,导致读取速度非常慢导致超时。所以一定要预留足够多的内存供redis使用。具体测试内容如下:测试环境:redis主机:RedHatEnterpriseLinuxServerrelease5.4(Tikanga)Intel(R)Xeon(R)CPUE5520@2.27GHz内存8G硬盘300G测试主机:window7eclipseJunoServiceRelease2cpui3-2100内存4G硬盘500Gjava连接redis客户端jedis-2.1.0.jar测试数据:512个字符字符串测试结果:鲁德培训软件测试学习批量获取鲁德培训软件测试学习非批量提交处理数量批量设置鲁德培训软件测试学习非批量设置鲁德培训软件测试学习内网服务器直接数据处理鲁德培训软件测试学习鲁德培训软件测试学习服务器本机上测试鲁德培训软件测试学习鲁德培训软件测试学习

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功