内容简介:redis于3.2版本加入了geohash的数据库结构。使坐标的计算变得非常方便。 下面对redis的geohash做性能测试,看可以支持怎样的并发。压测客户端使用go语言编码。所有代码在:我们分别产生10000,100000,1000000个数据加入到redis,然后再随机生产一个坐标来去计算与redis里的坐标小于10千米的点。
redis于3.2版本加入了geohash的数据库结构。使坐标的计算变得非常方便。 下面对 redis 的geohash做性能测试,看可以支持怎样的并发。
环境
redis版本:使用了 docker 的redis:5-alpine的版本。
服务器配置如下图:压测客户端使用 go 语言编码。所有代码在: redis-geo-test
我们分别产生10000,100000,1000000个数据加入到redis,然后再随机生产一个坐标来去计算与redis里的坐标小于10千米的点。
因为redis是单线程程序,cpu最高跑到100%,在生产环境,CPU超过80%就高负载,要考虑扩容了。 所以我们以80%的负载做临界点来看qps。
结果
在原始数据为10000的情况下,20个并发,每个并发sleep 500微秒,cpu压力83%左右,内存使用5.5MB,qps 26000。 结果如下图:
在原始数据为100000的情况下,20个并发,每个并发sleep 600微秒,cpu压力84%左右,内存使用14MB,qps 22000。 结果如下图:
在原始数据为1000000的情况下,20个并发,每个并发sleep 1500微秒,cpu压力84%左右,内存使用102MB,qps 10000。 结果如下图:
对比如下表:
原始数据大小 | mem | 80%cpu qps |
---|---|---|
10000 | 5.5MB | 26000 |
100000 | 14MB | 22000 |
1000000 | 102MB | 10000 |
以上所述就是小编给大家介绍的《redis geohash的性能测试》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 微服务测试之性能测试
- Go 单元测试和性能测试
- 性能测试vs压力测试vs负载测试
- SpringBoot | 第十三章:测试相关(单元测试、性能测试)
- Golang 性能测试 (2) 性能分析
- 随行付微服务测试之性能测试 原 荐
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java编程思想
[美] Bruce Eckel / 陈昊鹏、饶若楠 / 机械工业出版社 / 2005-9 / 95.00元
本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。 从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到......一起来看看 《Java编程思想》 这本书的介绍吧!