go实现Event事件context版
go实现Event事件模型修正

rabbitmq辣眼睛的忙等

妙音 posted @ 2021年5月28日 07:13 in golang with tags rabbitmq , 215 阅读

背景

 
用golang做了一个分布式结构的系统, 消息服务器用了rabbitmq。
 
整体是基于machinery+rabbitmq形式的分布式任务系统
 
在做压力测试时,发现rabbitmq的cpu使用率飙升
 
 

分析

 
* 官方给出的解释
 
scheduler采用了忙等,来提高消息传递性能
 
https://www.rabbitmq.com/runtime.html#cpu
 
其中也讲了一些方法来降低cpu使用率
 
* 官方建议
 
1. rabbtimq最好是装在单独的服务器,不与其它应用共用。
 
2. 也介绍了修改cpu使用个数的方法
 
* 对我而言
 
通信关cpu什么事,导致cpu飙升,就是不应该
 
* 站在传统语言java/python/...等语言角度
 
忙等好像也没啥
 
* 站在go的角度
 
忙等是上世纪的技术了。
 
看起来太辣眼睛。
 
* 从我的应用场景上来看
 
系统规模可大可小, 而且业务高峰时间很短
 
在系统规模小时,不大愿意单独给rabbitmq一台服务器
 
在业务高峰的这几分钟,正好会影响其它系统
 
* 是否有其它选择
 
nats
 
* 来源
 
 
[佛說大乘無量壽莊嚴清淨平等覺經pdf](http://doc.sxjy360.top/book/佛說大乘無量壽莊嚴清淨平等覺經(難字注音).pdf)
[净土大经科注2014-doc](http://doc.sxjy360.top/book/净土大经科注2014-doc.zip)
 
Avatar_small
sk 说:
2021年6月01日 03:06

Awesome article, it was exceptionally helpful! I simply began in this and I'm becoming more acquainted with it better! Cheers, keep doing awesome! Buy Fake passport Documents

Avatar_small
依云 说:
2021年6月12日 11:36

在做繁忙的通信时,忙等是降低延迟的基本操作了。rabbitmq 也有提供闲时休息的选项。
这个和语言无关。Python 从来不忙等,因为性能已经挺差了,不差唤醒那一会儿。Go 都有 gc 了,还考虑这个干嘛?

Avatar_small
妙音 说:
2021年6月12日 12:06

@依云: machinery在等待任务结果,会用sleep循环查询结果。查询频率太高,会导致rabbitmq的cpu使用率很高。已经改用nats-server了。

Avatar_small
JobsCircular 说:
2021年6月14日 02:46

The issue you we featured above is clearly esteem capable for anybody to exercise. the idea of your article is valid and It will bring about a positive way.

Avatar_small
aka.ms/remoteconnect 说:
2021年6月20日 03:18

This game is offered to all ages and genders, but their main focus is young boys mainly since boys particularly enjoy playing video games which include zombies, swords, and building things. aka.ms/remoteconnect

Avatar_small
Digital_Work 说:
2021年7月08日 07:36

Hello I am so delighted I located your blog, I really located you by mistake, while I was watching on google for something else, Anyways I am here now and could just like to say thank for a tremendous post and a all round entertaining website. Please do keep up the great work. 123movies.com official site


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter