前置内容:https://blog.csdn.net/yangxiaobo118/article/details/80716709
资源地址:https://download.csdn.net/download/yangxiaobo118/10482990
测试内容
一. 测试前准备
110.109.104三台linux服务器启动zookeeper集群
启动activitymq集群
当前master为109
启动memcached集群
启动命令:/usr/local/memcache/bin/memcached -d-l 192.168.1.109 -p 11211 -m 2048 -u root
客户端连接memcached正常
模拟数据采集添加
一千条模拟数据添加:
数据添加中
数据添加完毕
数据源消费完成
下载apache旗下httpd利用其组件ab进行测试
启动完成
一. 开启分布式缓存和不开启缓存的纯mysql系统的并发能力测试
1.编写测试接口
接口说明:由于ab并发测试不支持地址的变换,所以只能在业务层去模拟用户随机访问系统资源。解决方案是通过随机数后缀去模拟用户要查询的数据后缀,从而实现数据查询。模拟随机实现代码如下:
2.开启分布式缓存并发100和不开启分布式缓存并发100的比较图
开启分布式缓存测试结果
不开启分布式缓存结果
如上图所示开启缓存百分之九十九的请求在1秒内完成,而不开启缓存百分之五十的在四秒内完成。
3.开启分布式缓存并发200和不开启分布式缓存并发200的比较图
开启分布式缓存测试结果
不开启分布式缓存结果
如上图所示开启缓存百分之一百的请求在1秒内完成,而不开启缓存百分之五十的在四秒内完成。
4.开启分布式缓存并发300和不开启分布式缓存并发300的比较图
开启分布式缓存测试结果
不开启分布式缓存结果
如上图所示开启缓存百分之九十九的请求在1秒内完成,而不开启缓存百分之五十的在四秒内完成。
Ab测试选项
测试所用url为
http://localhost:8080/CacheManagerV1.0/ha.do
如下输出
二.相同并发量请求下,开启分布式缓存的系统和纯mysql系统的平均处理时间的测试
1.开启memcached缓存测试300并发量,30000次请求参数填写
./ab -n 30000 -c 300 http://192.168.1.103:8080/CacheManagerV1.0/ha.do
2.开启memcached缓存的测试结果为,如下图所示,300并发量,30000次请求,百分之百的请求响应都没超过1秒。百分之九十八的请求是在0.5秒内完成的,失败的请求为2974个。
3.我们将memcached集群停掉继续测试300并发30000请求,如下图所示,300并发量,30000次请求,百分之五十的请求响应超过了4秒。百分之九十九的请求是在8秒内完成的。
所以得出结论,分布式缓存大大提升了系统的性能,使高并发和HA为大流量访问解决方案成为可能。