分享
  1. 首页
  2. 文章

golang 压测redis 消息队列

wenfh2020 · · 7243 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

用 redis 的 list 数据结构作为轻量级的消息队列,对于小系统确实是小而美,可控能力强。

当然与kafka 和 rabbitmq 相比它还有很多缺陷,在服务进行生产和消费的时候,还需要加上部分逻辑进行处理。


自己写了点 golang 代码,压力测试 redis 列表的性能。

机器配置:双核,4G

测试数据:100w

压力测试源码(github)


生产者,生产 100 w 条数据,平均,每秒能写 13817 条数据。

begin time: 2018年07月29日 14:03:55.606

end time: 2018年07月29日 14:05:07.976

Produce message: 1000000

avg: 13817.860879118389

负载
代码片段

消费者,消费 100 w 条数据,平均每秒能读 9433 条数据左右。

begin time: 2018年07月29日 14:46:11.166

end time: 2018年07月29日 14:47:58.038

custom message: 1000000

avg: 9433

负载
代码片段

总结:

以上生产和消费测试都是独立测试的,生产数据和消费数据,能达到 1w 左右的并发;如果生产者和消费者同时进行工作,各自并发能力还要下降 20% 左右。

讲真,一般的小企业业务系统,真正核心的业务数据(非流水,行为记录等日志型数据),写并发能达到 1 w 的已经很厉害了,某些金融公司,几百万注册用户(活跃度不够),峰值写并发也只有几千而已。一般系统都应该是读操作多于写操作,当然具体情况应该具体分析^_^。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:wenfh2020

查看原文:golang 压测redis 消息队列

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
7243 次点击
被以下专栏收入,发现更多相似内容
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏