中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

RocketMQ如何實現性能優化

發布時間:2021-11-18 09:29:59 來源:億速云 閱讀:774 作者:小新 欄目:大數據

小編給大家分享一下RocketMQ如何實現性能優化,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

一、系統優化
1.最大文件數

limits.conf 設置用戶能打開的最大文件數

vim /etc/security/limits.conf
# End of file
baseuser soft nofile 655360
baseuser hard nofile 655360
* soft nofile 655360
* hard nofile 655360

2.系統參數調整

vim /etc/sysctl.conf
vm.overcommit_memory=1
vm.drop_caches=1
vm.zone_reclaim_mode=0
vm.max_map_count=655360
vm.dirty_background_ratio=50
vm.dirty_ratio=50
vm.dirty_writeback_centisecs=360000
vm.page-cluster=3
vm.swappiness=1
sysctl -p

參數說明1.overcommit_memory

是否允許內存的過量分配
當為0的時候,當用戶申請內存的時候,內核會去檢查是否有這么大的內存空間
當為1的時候,內核始終認為,有足夠大的內存空間,直到它用完了為止
當為2的時候,內核禁止任何形式的過量分配內存

2.drop_caches

寫入的時候,內核會清空緩存,騰出內存來,相當于sync
寫1的時候,會清空頁緩存,就是文件
寫2的時候,會清空inode和目錄樹
寫3的時候,都清空
This is a non-destructive operation and will only free things that are completely unused.
Dirty objects will continue to be in use until written out to disk and are not freeable.
If you run "sync" first to flush them out to disk, these drop operations will tend to free more memory.

3.zone_reclaim_mode

如果為0的話,那么系統會傾向于從其他節點分配內存
如果為1的話,那么系統會傾向于從本地節點回收Cache內存多數時候

4.max_map_count

定義了一個進程能擁有的最多的內存區域,默認為65536

5.dirty_background_bytes/dirty_background_ratio

當dirty cache到了多少的時候,就啟動pdflush進程,將dirty cache寫回磁盤
當有dirty_background_bytes存在的時候,dirty_background_ratio是被自動計算的

6.dirty_bytes/dirty_ratio

當一個進程的dirty cache到了多少的時候,啟動pdflush進程,將dirty cache寫回磁盤
當dirty_bytes存在的時候,dirty_ratio是被自動計算的

7.dirty_writeback_centisecs

pdflush每隔多久,自動運行一次(單位是百分之一秒)

8.page-cluster

每次swap in或者swap out操作多少內存頁為2的指數。等于0的時候,為1頁;等于1的時候,為2頁;等于2的時候,為4頁

9.swappiness

swappiness=0 僅在內存不足的情況下,當剩余空閑內存低于vm.min_free_kbytes limit時,使用交換空間
swappiness=1 內核版本3.5及以上、Red Hat內核版本2.6.32-303及以上,進行最少量的交換,而不禁用交換
swappiness=10 當系統存在足夠內存時,推薦設置為該值以提高性能
swappiness=60 默認值
swappiness=100 內核將積極的使用交換空間

二、RocketMQ性能調優

線上RocketMQ的JVM未做調優,堆內存使用8G;主要從RocketMQ配置參數方面梳理下。

1.開啟異步刷盤

flushDiskType=ASYNC_FLUSH
同步刷盤TPS過低,較難滿足業務發展需求

2.開啟堆外內存設置

transientStorePoolEnable=true
消息寫入到堆外內存,消費時從pageCache消費,讀寫分離,提升集群性能

3.開啟文件預熱

warmMapedFileEnable=true
開啟文件預熱,避免日志文件在分配內存時缺頁中斷

4.開啟Slave讀權限

slaveReadEnable=true
消息占用物理內存的大小通過accessMessageInMemoryMaxRatio來配置默認為40%;如果消費的消息不在內存中,開啟slaveReadEnable時會從slave節點讀取;提高Master內存利用率

5.關閉堆內存據傳輸

transferMsgByHeap默認true設置為false
Broker響應消費請求時,不必將數據重新讀到堆內存再發送給客戶端;直接從PageCache將數據發送給客戶端

看完了這篇文章,相信你對“RocketMQ如何實現性能優化”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

濉溪县| 绥中县| 罗田县| 和林格尔县| 孟村| 康定县| 博乐市| 永善县| 堆龙德庆县| 荥阳市| 汪清县| 忻州市| 贵港市| 达拉特旗| 桦甸市| 万山特区| 秦皇岛市| 东方市| 吴江市| 孟津县| 辉县市| 陕西省| 三亚市| 大渡口区| 澎湖县| 报价| 泾川县| 雷山县| 安远县| 海林市| 伊宁市| 赤壁市| 房山区| 荣昌县| 蛟河市| 阳东县| 宁河县| 孝感市| 祁连县| 武夷山市| 旬阳县|