精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

.NET Core中的RabbitMQ消費者CPU高,竟然是這個原因

開發 架構
通過一段時間的努力,產品終于支持多租戶模式了,測試在做測試的時候發現了一個問題,隨著租戶數添加的越來越多,RabbitMQ 消費者的 CPU 占用也越來越高。

在 RabbitMQ 中有一個 vhsot 機制,可以用來做租戶隔離,當產品從單租戶演化為多租戶時,正好可以用到這個特性,不同 vhost 中的交換機、隊列互不影響。

起初在產品中引入 RabbitMQ 的時候,版本如下:

  • RabbitMQ:3.7.2 (后來升級為 3.8.2)。
  • RabbitMQ Client:5.1.2。
  • .NET Core:3.1。

通過一段時間的努力,產品終于支持多租戶模式了,測試在做測試的時候發現了一個問題,隨著租戶數添加的越來越多,RabbitMQ 消費者的 CPU 占用也越來越高。

100 左右的租戶數,每個租戶隊列大概 10 幾個,這時 CPU 占用穩定在 50% 左右,即使系統沒有任何人訪問。

分析下可能的原因:

  • 因產品比較復雜,可能是其代碼影響到。
  • 可能是 RabbitMQ 的參數問題。
  • 可能是 .NET Core 中的驅動的問題,可以嘗試下 Java 。

正式進入問題的排查。

簡單示例

1、在 .NET Core 3.1 中編寫一個簡單的 RabbitMQ 示例:

public void Start()
{
Console.WriteLine("App Start...");
_defMqConfig = new MQConfig()
{
MQAutomaticRecoveryEnabled = true,
MQHeartBeat = 5,
MQNetworkRecoveryInterval = 5,
MQVHost = "/",
MQHostName = _mqHostName,
MQUserName = _mqUserName,
MQPassword = _mqPassword,
MQPort = _mqPort,
MQServerPort = string.IsNullOrEmpty(_mqServerPort) ? $"1{_mqPort}" : _mqServerPort
};
Console.WriteLine(" MQ vhost init Start...");
string prefix = "testhost";
for (int i = 0; i < 200; i++)
{
string vhost = $"{prefix}{i}";
InitAllVhost(vhost);
Console.WriteLine($" 初始化vhost:{vhost}...");
}
Console.WriteLine(" MQ vhost init Done...");
Console.WriteLine("App Start Done...");
}
private void InitAllVhost(string vhost)
{
string url = $"http://{_mqHostName}:{_mqServerPort}";
_mqManager.AddVirtualHost(url, vhost, _mqUserName, _mqPassword);

_defMqConfig.MQVHost = vhost;
_mqManager.Subscribe(_defMqConfig);
}

2、監聽的代碼如下:

public void Subscribe(MQConfig engineConfig)
{
var factory = new ConnectionFactory();
factory.HostName = engineConfig.MQHostName;
factory.UserName = engineConfig.MQUserName;
factory.Password = engineConfig.MQPassword;
factory.VirtualHost = engineConfig.MQVHost;
factory.RequestedHeartbeat = (ushort) engineConfig.MQHeartBeat;
factory.AutomaticRecoveryEnabled = true;
factory.NetworkRecoveryInterval = new TimeSpan(engineConfig.MQNetworkRecoveryInterval);
var connection = factory.CreateConnection();
var channel = connection.CreateModel();
channel.QueueDeclare("TestQueue", false, false, false, null);
channel.ExchangeDeclare("TestQueueExchange", ExchangeType.Direct, false, false, null);
var consumer = new EventingBasicConsumer(channel);
channel.BasicConsume("TestQueue", false, consumer);
channel.QueueBind("TestQueue", "TestQueueExchange", "TestQueueExchange");
consumer.Received += (model, ea) =>
{
var body = ea.Body;
var message = Encoding.UTF8.GetString(body);
Console.WriteLine("已接收: {0}", message);
};
}

3、上面代碼創建了 200 個 vhost ,每個 vhost 中 1 個隊列,程序運行后觀察 cpu 如下圖:

圖片

4、在 Subscribe 方法中有創建 Connection 和 CreateModel 方法,如果使用 using 或在方法最后對其進行釋放,CPU 會是一個正常的狀態,但消息也就接收不到了。

調整參數

1、在 RabbitMQ 中有兩個參數 MQHeartBeat、MQNetworkRecoveryInterval :

  • MQHeartBeat:心跳檢測
  • MQNetworkRecoveryInterval:掉線重連

2、不斷調整這兩個參數的值,進行嘗試,發現 CPU 并沒有明顯改善。

嘗試 Java

當沒有什么頭緒的時候,就會采用各種方式進行嘗試,來排除問題,所以決定用 Java 試試。

在 Java 程序中,使用的 RabbitMQ 客戶端為 rabbitmq-java-client ,版本為 5.14.2 ,因為之前在 .NET 程序驗證時已經創建了 vhost ,所以在 Java 程序中只寫了消費者進行監聽。

當 Java 程序跑起來的時候,發現 CPU 占用是正常的,在遍歷 vhost 監聽的過程中 CPU 有所波動,遍歷完后 ,CPU 占用比較穩定。

真正的原因

這時基本可以確定,是 .NET Core 的 RabbitMQ 客戶端的問題,到這時才想起有可能是 .NET Core  RabbitMQ 客戶端的版本問題,檢查發現目前使用的版本是 5.1.2,而最新的版本為 6.3.0 。

升級 .NET Core RabbitMQ 到最新版本,升級后有兩個地方不兼容:

  • RequestedHeartbeat 類型變成了 TimeSpan。
  • 接收的消息由 byte[] 變成了 ReadOnlyMemory類型。

圖片

修改這兩處后,趕緊運行進行測試,CPU 終于正常了。

查看了下 RabbitMQ 客戶端在 GitHub 上的更新記錄,發現在版本 6.2.4 中有修復一個關于連接的 Bug:

圖片

又繼續將版本回退到 6.2.3 進行測試,問題又能重現了,就更加確定了這個問題是在 6.2.4 中解決了。

最后

現在無論是做項目還是做產品,都會使用很多中間件,這些中間件和相關的庫也是在不斷地更新迭代的,當我們進行功能迭代的同時,也需要關注這些中間件的發展,在新的版本中提供了什么新特性,修復了什么問題,這給我們是否升級提供依據。

責任編輯:姜華 來源: 今日頭條
相關推薦

2024-09-27 11:38:49

2021-10-18 13:42:52

加密貨幣金融工具

2022-07-07 19:44:22

Python 3.1

2016-10-25 21:00:27

云計算

2017-11-03 09:10:48

2024-09-30 09:48:41

RabbitMQ消息中間件

2019-02-12 14:53:44

物聯網設備物聯網IOT

2020-09-29 06:45:49

JDK

2020-08-19 09:23:10

傳輸網絡WDM網絡技術

2020-11-03 09:14:30

編程語言Go技術

2009-07-15 19:51:01

AMD六核CPU服務器

2015-06-18 11:04:58

2020-12-15 08:05:40

路由器服務器網絡層

2021-07-28 06:51:08

Nacos代理模式

2024-08-05 01:28:26

2018-06-23 13:49:56

蘋果谷歌手機

2022-11-15 07:35:50

Spring事件觀察者模式

2018-07-06 00:09:47

2023-03-13 08:09:03

Protobuffeature分割
點贊
收藏

51CTO技術棧公眾號

亚洲激情第一页| 国产成人激情av| 亚洲午夜精品视频| 宅男噜噜噜66国产免费观看| 欧美一区二区三区在线观看免费| 国内外成人在线视频| 欧美韩日一区二区| 色婷婷av777| 国产人与zoxxxx另类91| 岛国av在线不卡| 亚洲欧美精品| 亚洲 欧美 激情 小说 另类| 久久精品国产成人一区二区三区 | 久久精品a一级国产免视看成人| 精品欧美一区二区三区在线观看| 国产精品久久久久久久久久免费看 | 青青艹在线观看| 福利视频在线看| 国产乱对白刺激视频不卡| 97国产精品人人爽人人做| 亚洲精品国产精品国自| 极品国产人妖chinesets亚洲人妖| 欧美性生活一区| 久久一区视频| 精品动漫一区二区三区| 一道精品一区二区三区| 天堂中文在线8| 国产精品99久久久久久有的能看 | 亚洲国产欧美日本视频| 亚洲免费在线视频一区 二区| 九九热99久久久国产盗摄| 午夜av免费看| 日韩欧美中文字幕一区二区三区 | 国产乱子伦精品无码码专区| 免费在线欧美黄色| 国内自拍欧美激情| 久久中文字幕在线观看| 中文在线播放一区二区| 中文字幕日韩免费视频| 国产熟妇搡bbbb搡bbbb| 超碰成人在线免费| 欧美一区二区三区免费视频| 国产精品免费久久久久影院| 日韩精品久久久免费观看| 欧美在线精品一区二区三区| 国产一区二区三区国产| 国产噜噜噜噜噜久久久久久久久 | 午夜时刻免费入口| 亚洲精品一线| 国产精品电影院| 色视频一区二区三区| av资源免费观看| 亚洲高清在线| 91精品国产91久久久久久| 精品无码免费视频| 亚洲青色在线| 欧美中文字幕第一页| 五月激情六月丁香| 视频一区中文字幕国产| 日本三级韩国三级久久| 久久国产乱子伦精品| 天堂成人免费av电影一区| 日本久久亚洲电影| 欧美性猛交xxxx乱大交hd| 日韩激情中文字幕| 国产精品免费一区豆花| 亚洲天堂网在线视频| 极品少妇一区二区三区精品视频| 91久久在线观看| 国产高清在线观看视频| 成人免费高清在线观看| 国产网站一区二区三区| 欧美日本亚洲视频| 国产在线观看成人| 亚洲高清激情| 国产成人av网| 国产精品系列视频| 高清成人免费视频| 免费看成人午夜电影| 成人在线免费观看| 亚洲日本欧美天堂| 日本大片免费看| 天堂а√在线最新版中文在线| 色综合久久88色综合天天6| www黄色在线| av网站在线免费看推荐| 91免费在线看| 日韩欧美亚洲区| www.久久ai| 国产欧美精品日韩区二区麻豆天美| 日韩精品欧美在线| 成人片在线看| 欧美日韩性视频在线| 日本激情综合网| www.亚洲一二| 中文字幕免费精品一区高清| 久久国产精品国语对白| 在线视频精品| 91精品久久久久久久久不口人| 亚洲爆乳无码一区二区三区| 久久九九久久九九| 成人小视频在线观看免费| 日韩欧美看国产| 日韩一区二区在线观看视频播放| 免费污网站在线观看| 97国产成人高清在线观看| 欧美精品久久久久久久| 欧美日韩 一区二区三区| 丰满亚洲少妇av| 亚洲激情一区二区三区| 欧美裸体视频| 日韩三级中文字幕| 少妇太紧太爽又黄又硬又爽小说| 亚洲国产免费| 亚洲free嫩bbb| 中文字幕在线免费| 欧美日韩亚洲视频一区| 性一交一黄一片| 久久影院一区| 国产ts人妖一区二区三区| 99热精品在线播放| 国产精品天天看| 日韩久久一级片| 国产精品sss在线观看av| 久久久91精品| av片在线免费看| 国产日韩一区| 国产精品免费在线播放| 国产cdts系列另类在线观看| 欧美在线你懂得| 日韩精品卡通动漫网站| 99香蕉国产精品偷在线观看| 欧美制服丝袜第一页| 国产欧美在线看| 日韩电影网址| 黄色一区二区在线观看| av天堂一区二区| 欧美黄色精品| 91pron在线| 精品黑人一区二区三区国语馆| 久久久久久9999| 成年网站在线免费观看| 先锋影音国产精品| 2019av中文字幕| 精品国产一级片| 亚洲一区在线视频观看| 精品无码av一区二区三区不卡| 91精品国产自产在线丝袜啪 | 亚洲最大免费视频| 亚洲国产影院| 国产综合18久久久久久| 97在线视频免费观看完整版| 精品国精品国产| 精品少妇久久久久久888优播| 国产成人av一区二区三区在线观看| 国产精品12p| 日韩欧美中文在线观看| 高清欧美性猛交xxxx| 狠狠躁日日躁夜夜躁av| 亚洲成人自拍一区| 久久久久久久久久久免费视频| 国产图片一区| 7777精品视频| 欧美日韩国产精品一区二区| 日本一二三区在线视频| 日韩欧美在线第一页| 精品无人区无码乱码毛片国产| 麻豆亚洲精品| 成人av在线天堂| 久久五月精品| 精品女同一区二区| 天堂中文在线网| 国产日韩欧美麻豆| 天天久久综合网| 影音先锋日韩资源| 欧美一区二区三区电影在线观看| 色综合一本到久久亚洲91| 在线视频中文亚洲| 精品久久人妻av中文字幕| 亚洲国产成人av好男人在线观看| 9.1成人看片| 麻豆精品视频在线观看免费| 免费网站永久免费观看| 亚洲黄页在线观看| 91深夜福利视频| 超级白嫩亚洲国产第一| 一区国产精品视频| 欧美三级韩国三级日本三斤在线观看| 99国内精品久久| 黄色永久免费网站| 亚洲特级毛片| 亚洲高清123| 国产精品调教视频| 国产精品视频一区国模私拍| 婷婷色在线资源| 亚洲视频一区二区| 成人黄色在线观看视频| 日本大香伊一区二区三区| 欧美黑吊大战白妞| 国产亚洲污的网站| 99免费观看视频| 蜜臀久久久99精品久久久久久| 久久riav二区三区| 四虎国产精品永久在线国在线| 国产最新精品视频| av在线免费播放网站| 欧美精品一区二区高清在线观看| 中文字幕乱码一区二区| 亚洲成av人片观看| 日韩在线不卡av| 久久午夜老司机| 蜜桃色一区二区三区| 美女视频黄a大片欧美| 怡红院av亚洲一区二区三区h| 亚洲精品国产首次亮相| 欧美成人一区二区在线| 日韩精品中文字幕一区二区 | 亚洲天堂第一区| 国产精品成人国产| 在线观看日韩欧美| 天天av天天翘| 日韩三级视频在线看| 91丨九色丨海角社区| 午夜精品爽啪视频| 欧美成人一二三区| 成人免费在线播放视频| 娇妻被老王脔到高潮失禁视频| eeuss影院一区二区三区| 久久久福利影院| 麻豆精品在线视频| mm1313亚洲国产精品无码试看| 99精品热6080yy久久| 99久久免费观看| 亚洲精品一区二区妖精| 亚洲欧洲另类精品久久综合| 国产精品日韩精品中文字幕| 精品国产第一页| 豆花视频一区二区| 超碰97人人在线| 视频一区在线| 99久久99久久| 凹凸av导航大全精品| 高清不卡日本v二区在线| 日本免费精品| 超碰在线97av| 粉嫩久久久久久久极品| 国产精品日韩欧美一区二区| 99香蕉久久| 国产综合av一区二区三区| 久久综合社区| 久热国产精品视频一区二区三区| 九一亚洲精品| 亚洲国产日韩综合一区| 日韩大片在线| 亚洲综合激情五月| 亚洲九九视频| 国产 日韩 欧美在线| 精品国产一区二区三区| 欧美主播一区二区三区美女 久久精品人 | 国产剧情在线| 久久视频在线直播| 欧美性爽视频| 国产69久久精品成人| 欧美日韩123区| 国产精品入口日韩视频大尺度| 欧美日韩视频免费看| 亚洲专区中文字幕| 精品在线网站观看| 日韩av一区二区三区在线| 日本一区二区在线看| 特级黄色录像片| 亚洲精品1区2区| 国产一级不卡毛片| 国产一区二区三区av电影 | 91精品91久久久中77777老牛| 久久婷婷亚洲| 天天影视色综合| 成人av在线一区二区| 91成人在线免费视频| 亚洲欧洲精品成人久久奇米网| 免费又黄又爽又色的视频| 偷拍一区二区三区四区| 国产成人av免费| 日韩免费电影一区| 久青青在线观看视频国产| 日韩一区二区三区高清免费看看| 亚洲精品久久久久avwww潮水| 亚洲精品成人久久久| 91在线高清| 国模视频一区二区三区| 91在线亚洲| 国产精品乱码| 久久中文字幕av| 免费看一级大黄情大片| 经典三级在线一区| 一本色道久久综合亚洲精品图片| 亚洲免费在线播放| 手机在线看片1024| 日韩免费成人网| 1769视频在线播放免费观看| 久久青草精品视频免费观看| 国产精品99| 蜜桃麻豆www久久国产精品| 亚洲国产一区二区在线观看| 日韩avxxx| 成人天堂资源www在线| 国产视频精品免费| 欧美性生交xxxxx久久久| www.av黄色| 日韩一区二区久久久| av影片在线看| 国内偷自视频区视频综合 | 国产精品视频在线免费观看| 欧美视频网址| 日韩中文字幕在线视频观看| 国产一区二区调教| 在线观看日本黄色| 一本色道久久加勒比精品| 刘玥91精选国产在线观看| 久久精品中文字幕免费mv| 欧美日韩五区| 欧美日本国产精品| 亚洲精品韩国| 国产69视频在线观看| 亚洲精品你懂的| 日韩熟女一区二区| 亚洲精选在线观看| xxx性欧美| 春色成人在线视频| 午夜欧美理论片| 亚洲五月激情网| 国产精品欧美一区喷水| 无码人妻一区二区三区免费| 亚洲精品美女视频| 激情aⅴ欧美一区二区欲海潮| 粉嫩高清一区二区三区精品视频| 亚洲欧美综合国产精品一区| 国产精品999.| 亚洲猫色日本管| a在线观看免费| 久久91精品国产| 51vv免费精品视频一区二区 | 五月婷婷婷婷婷| 精品视频色一区| 95在线视频| 国产主播喷水一区二区| 99热国内精品| 亚洲制服中文字幕| 亚洲男帅同性gay1069| 国产女人18毛片水18精| 不卡av电影院| www.成人网| 国产aaa一级片| 欧美国产日韩一二三区| 91精品国自产| 蜜月aⅴ免费一区二区三区 | 亚洲国产精品成人va在线观看| 人人澡人人添人人爽一区二区| 99久热re在线精品视频| 国模吧视频一区| 日韩av一二区| 欧美视频一区在线| 毛片av在线| 国产精品v欧美精品∨日韩| 一区二区黄色| 夜夜春很很躁夜夜躁| 51精品秘密在线观看| 午夜成年人在线免费视频| 精品国产乱码久久久久久88av | 亚洲五月综合| 高清中文字幕mv的电影| 黑人与娇小精品av专区| yw视频在线观看| 2019国产精品视频| 一本久道综合久久精品| 婷婷色一区二区三区| 欧美二区乱c少妇| 9lporm自拍视频区在线| 日本在线观看不卡| 国产美女视频一区| 国产精品美女久久久久av爽| 伊人成人开心激情综合网| 国产精品久久久久久av公交车 | 久久国产尿小便嘘嘘| 免费在线观看黄色av| 亚洲日本aⅴ片在线观看香蕉| 91麻豆精品国产综合久久久 | 国产a视频精品免费观看| 丰满人妻老熟妇伦人精品| xxx一区二区| 亚洲精品白浆高清| 亚洲欧美天堂在线| 色哟哟日韩精品| 四虎影视国产在线视频| 欧美一区二区影视| 国产成人精品综合在线观看| 秋霞av一区二区三区| 欧美激情一二三| 日韩大片在线观看| 亚洲一区二区在线免费|