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

不好意思,沒(méi)達(dá)到公司性能目標(biāo),決定從 Go 切換到 Rust

開(kāi)發(fā)
Discord 廣泛使用 Rust 提升性能和安全性,如我們將它用于游戲 SDK、Go Live 的視頻捕獲和編碼、Elixir NIF、多個(gè)后端服務(wù)等。

今天分享篇文章關(guān)于 Discord 為什么從 Go 切換到 Rust。

如今 Rust 逐漸成為許多領(lǐng)域的一流語(yǔ)言,盡管還是相對(duì)較新的語(yǔ)言,但它已經(jīng)在重塑許多創(chuàng)新行業(yè)方面發(fā)揮了重要作用了。Rust 憑借其市場(chǎng)領(lǐng)先的性能、內(nèi)存安全性和并發(fā)性功能增強(qiáng)了眾多領(lǐng)域。 

下面一起來(lái)康康,這篇文章吧!

讀取狀態(tài)服務(wù)

Discord 是家專(zhuān)注于產(chǎn)品的公司,先從產(chǎn)品背景聊起,Discord 從 Go 語(yǔ)言遷移到 Rust 語(yǔ)言,以解決 "Read States" 服務(wù)的性能問(wèn)題。該服務(wù)負(fù)責(zé)追蹤用戶(hù)已讀的頻道和消息,對(duì)響應(yīng)速度有高要求。然而 Go 的內(nèi)存模型和垃圾收集器導(dǎo)致了性能不穩(wěn)定,非常影響用戶(hù)體驗(yàn)。

Go 沒(méi)有達(dá)到我們的性能目標(biāo)原因

為了解釋 Go 不能達(dá)到我們理想中性能目標(biāo),進(jìn)行以下 5 個(gè)方面解釋?zhuān)?/p>

  • 數(shù)據(jù)結(jié)構(gòu):使用"讀取狀態(tài)"來(lái)存儲(chǔ)每個(gè)用戶(hù)在每個(gè)頻道的讀取信息,每個(gè)狀態(tài)包含多個(gè)需要原子更新的計(jì)數(shù)器。
  • 規(guī)模:Discord擁有數(shù)十億個(gè)讀取狀態(tài),每個(gè)狀態(tài)服務(wù)器有數(shù)百萬(wàn)個(gè)用戶(hù)的緩存。
  • 訪問(wèn)模式:每秒有數(shù)十萬(wàn)次的緩存更新,以及數(shù)萬(wàn)次的數(shù)據(jù)庫(kù)寫(xiě)入。
  • 架構(gòu):使用Cassandra數(shù)據(jù)庫(kù)集群支持緩存,緩存鍵逐出時(shí)數(shù)據(jù)提交到數(shù)據(jù)庫(kù)。
  • 性能問(wèn)題:每2分鐘出現(xiàn)一次延遲和CPU峰值,可能與高頻率的緩存更新和數(shù)據(jù)庫(kù)寫(xiě)入有關(guān)。

那么為什么是2分鐘的峰值呢?

Go 語(yǔ)言的垃圾收集器(GC)每2分鐘強(qiáng)制執(zhí)行一次,導(dǎo)致性能短暫下降。我們也嘗試調(diào)整GC頻率但是以無(wú)效告終,根本原因是內(nèi)存分配速度不足以觸發(fā)更頻繁的GC。深入研究后發(fā)現(xiàn),GC 需掃描整個(gè)LRU緩存來(lái)識(shí)別無(wú)用內(nèi)存,是性能峰值的主因。

這樣導(dǎo)致了減小 LRU 緩存可以減少GC峰值,但會(huì)增加緩存未命中率,從而增加延遲。團(tuán)隊(duì)通過(guò)負(fù)載測(cè)試找到了一個(gè)折中的緩存設(shè)置,但并非完美。最終我們決定將服務(wù)切換到 Rust,希望利用 Rust 的優(yōu)勢(shì)解決性能問(wèn)題,提升用戶(hù)體驗(yàn)。

Rust 內(nèi)存管理優(yōu)勢(shì)

Rust 速度極快,內(nèi)存效率極高:無(wú)需運(yùn)行時(shí)或垃圾收集器,它可以為性能關(guān)鍵型服務(wù)提供支持,在嵌入式設(shè)備上運(yùn)行,并輕松與其他語(yǔ)言集成。

Rust 通過(guò)獨(dú)特的內(nèi)存管理機(jī)制避免了與 Go 類(lèi)似的延遲峰值問(wèn)題。它采用內(nèi)存所有權(quán)的概念,編譯時(shí)就強(qiáng)制執(zhí)行內(nèi)存規(guī)則,自動(dòng)跟蹤并釋放不再使用的內(nèi)存。這意味著在 Rust 版本中,當(dāng)數(shù)據(jù)從緩存中逐出時(shí),內(nèi)存會(huì)立即被釋放,無(wú)需等待垃圾收集器介入,從而減少了性能波動(dòng)。

異步 Rust

Rust 的異步編程在穩(wěn)定版中支持不足,社區(qū)庫(kù)雖有支持但使用復(fù)雜且錯(cuò)誤信息難以理解。盡管如此,Discord 團(tuán)隊(duì)決定使用 Rust 的 Nightly 版本,以利用其先進(jìn)的異步特性。Discord 有采用新技術(shù)的歷史,愿意面對(duì)前沿技術(shù)的挑戰(zhàn)。他們堅(jiān)持使用 Nightly 版本直至異步特性在 Rust 穩(wěn)定版中成熟,最終這一決策證明是成功的。

實(shí)施、負(fù)載測(cè)試和啟動(dòng)

在重寫(xiě)服務(wù)為 Rust 版本的過(guò)程中,我們首先進(jìn)行了簡(jiǎn)單的翻譯,然后利用 Rust 的強(qiáng)類(lèi)型系統(tǒng)和泛型簡(jiǎn)化了代碼。Rust 的內(nèi)存安全特性也讓我們?nèi)サ袅?Go 中的一些手動(dòng)內(nèi)存保護(hù)。負(fù)載測(cè)試顯示,Rust 版本在延遲上與 Go 相當(dāng),但沒(méi)有出現(xiàn)峰值。

盡管只是進(jìn)行了基礎(chǔ)優(yōu)化,Rust 版本的表現(xiàn)已經(jīng)超越了經(jīng)過(guò)高度手動(dòng)調(diào)整的 Go 版本,顯示出 Rust 在編寫(xiě)高效程序方面的優(yōu)勢(shì)。進(jìn)一步的性能優(yōu)化,如使用 BTreeMap 優(yōu)化內(nèi)存使用、替換度量庫(kù)、減少內(nèi)存復(fù)制,使得 Rust 版本在延遲、CPU 和內(nèi)存使用上全面超越了 Go。

優(yōu)化后,我們順利地將服務(wù)推廣到生產(chǎn)環(huán)境,通過(guò) Canary 節(jié)點(diǎn)測(cè)試發(fā)現(xiàn)了一些邊緣情況并進(jìn)行了修復(fù),之后成功地將其擴(kuò)展到了整個(gè)服務(wù)艦隊(duì)。結(jié)果如下:

Go 是紫色,Rust 是藍(lán)色。

提高緩存容量

在 Rust 服務(wù)穩(wěn)定運(yùn)行幾天后,我們決定提高 LRU 緩存的容量。由于 Rust 不受垃圾收集影響,我們能夠安全地增加緩存上限至800萬(wàn)個(gè)讀取狀態(tài),提升性能。結(jié)果表明,這一變化顯著改善了性能,平均響應(yīng)時(shí)間降至微秒級(jí)別,而最大響應(yīng)時(shí)間也僅為毫秒級(jí)。

不斷發(fā)展的生態(tài)系統(tǒng)

最后,Rust 的另一個(gè)優(yōu)點(diǎn)是它擁有快速發(fā)展的生態(tài)系統(tǒng)。最近,tokio(我們使用的異步運(yùn)行時(shí))發(fā)布了 0.2 版。我們進(jìn)行了升級(jí),它為我們帶來(lái)了免費(fèi)的 CPU 優(yōu)勢(shì)。下面您可以看到,從 16 日左右開(kāi)始,CPU 一直較低。

總結(jié)

從 Go 到 Rust 的初始移植于 2019 年 5 月完成。Discord 廣泛使用 Rust 提升性能和安全性,如我們將它用于游戲 SDK、Go Live 的視頻捕獲和編碼、Elixir NIF、多個(gè)后端服務(wù)等。Rust 的優(yōu)勢(shì)包括易于重構(gòu)的類(lèi)型安全特性和強(qiáng)大的生態(tài)系統(tǒng)。

責(zé)任編輯:趙寧寧 來(lái)源: 碼農(nóng)漁夫
相關(guān)推薦

2024-09-13 09:32:30

2025-09-09 09:14:00

2022-06-28 08:03:06

緩存Redis

2020-05-19 13:34:20

ZookeeperZAB協(xié)議

2021-07-21 08:48:44

內(nèi)卷技術(shù)競(jìng)賽

2015-07-13 09:48:21

iOS

2021-11-18 10:28:27

云計(jì)算云計(jì)算環(huán)境云應(yīng)用

2020-12-17 08:56:51

單例模式JVM

2019-01-23 10:58:52

接入層架構(gòu)負(fù)載均衡

2020-09-16 09:08:49

訂單微服務(wù)架構(gòu)

2013-02-28 09:46:18

程序員巖機(jī)Hacker News

2015-09-06 09:50:59

創(chuàng)業(yè)大數(shù)據(jù)

2015-12-31 10:23:06

2015公有云中國(guó)云市場(chǎng)

2018-07-11 08:19:26

高并發(fā)架構(gòu)網(wǎng)絡(luò)

2017-04-26 10:42:27

搜狗輸入法

2017-04-26 10:49:25

搜狗輸入法

2021-04-12 20:42:50

K8S端口內(nèi)存

2019-10-18 16:05:32

框架開(kāi)發(fā)Java

2010-09-15 09:28:35

云計(jì)算

2021-05-17 10:53:49

5G手機(jī)4G
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

91精品国产91久久久久久一区二区 | 综合在线影院| 国产日产欧美一区二区视频| 国产狼人综合免费视频| 久久久久成人网站| 伊人春色精品| 欧美成人女星排名| 看欧美ab黄色大片视频免费| 国产乱理伦片a级在线观看| 久久se精品一区精品二区| 性欧美长视频免费观看不卡| 五月婷婷六月香| 久久丝袜视频| 欧美一级在线视频| 中文字幕第80页| 激情影院在线| 中文字幕一区二区5566日韩| 久久国产手机看片| av资源免费看| 免费的成人av| 欧美重口另类videos人妖| 国产精品精品软件男同| 国产亚洲一区| 精品视频一区在线视频| 欧美一级大片免费看| 欧美国产日韩电影| 欧美视频一区二区三区…| 91视频成人免费| 99精品老司机免费视频| 2023国产精品自拍| 国产精品二区二区三区| 国产视频在线观看免费| 麻豆一区二区三区| 国产va免费精品高清在线观看| 久艹视频在线观看| 中文字幕一区二区av| 在线丨暗呦小u女国产精品| 欧美做受xxxxxⅹ性视频| 国产精品美女在线观看直播| 欧美一区二区三区四区高清 | 国产一区在线视频| 国产精品影院在线观看| 亚洲黄网在线观看| 亚洲一区自拍| 5278欧美一区二区三区| 日本一级黄色录像| 国产视频一区在线观看一区免费| 欧美黑人xxxx| 国产一级二级毛片| 激情五月***国产精品| 色综合久久久888| 欧美日韩在线国产| 欧美亚洲不卡| 欧美激情视频在线免费观看 欧美视频免费一 | 色综合综合色| 亚洲图片制服诱惑| 99久久99久久精品免费看小说.| 国产不卡av一区二区| 亚洲深夜福利视频| 精品熟妇无码av免费久久| 欧洲杯半决赛直播| www.日韩系列| 欧美国产在线看| 亚洲免费播放| 国产精品 欧美在线| 性色av一区二区三区四区| 热久久一区二区| 国产日韩欧美电影在线观看| 国产日本精品视频| 成人美女视频在线看| 久久伦理网站| 自拍视频在线免费观看| 亚洲天堂2016| 少妇人妻在线视频| 素人啪啪色综合| 91麻豆精品国产自产在线 | 制服丝袜在线一区| 狠狠色丁香久久婷婷综合丁香| 91视频88av| 欧美 日韩 国产 成人 在线| 久久嫩草精品久久久精品一| 亚洲欧洲中文| 成人性生交大片免费看网站| 天天操天天干天天综合网| jizz欧美激情18| 蜜桃在线一区| 亚洲欧美另类在线观看| 在线日韩国产网站| 日韩视频在线一区二区三区| 国产精品色视频| 性网爆门事件集合av| 久久综合丝袜日本网| 一区二区三区日韩视频| 波多野结衣视频一区二区| 欧美亚洲国产bt| 精品人妻一区二区乱码| 国产一区二区三区四区五区传媒| 久久精品亚洲精品| 国产成人无码av| 国产宾馆实践打屁股91| 日本不卡在线播放| 欧洲精品二区| 欧美在线影院一区二区| 白丝校花扒腿让我c| 精品国产午夜| 国模精品一区二区三区色天香| 精品乱码一区内射人妻无码| 99视频精品在线| 日本精品免费视频| 午夜无码国产理论在线| 精品粉嫩aⅴ一区二区三区四区| 内射毛片内射国产夫妻| 亚洲欧美激情诱惑| av一区和二区| 日本高清中文字幕在线| 色哟哟国产精品| 精品人妻一区二区免费| 香蕉精品视频在线观看| 国产精品∨欧美精品v日韩精品| 亚洲精品成人电影| 亚洲欧美一区二区久久| 黄色手机在线视频| 蜜桃国内精品久久久久软件9| 精品视频9999| 国产三级视频在线播放| 国产精品午夜在线观看| 国产三级三级三级看三级| 四虎5151久久欧美毛片| 欧美激情精品在线| 99在线精品视频免费观看软件| 国产欧美日韩一区二区三区在线观看 | 污污网站在线免费观看| 一区二区三区欧美视频| 欧美又黄又嫩大片a级| 欧美色图一区| 国产成人精品电影久久久| 日本福利在线观看| 岛国视频午夜一区免费在线观看| 日批视频免费看| 午夜精品久久99蜜桃的功能介绍| 国产主播喷水一区二区| 1024国产在线| 欧美日本在线看| 日本成人精品视频| 久久99热99| 国产精品无码乱伦| 亚洲免费资源| 久久人人爽亚洲精品天堂| 91 中文字幕| 亚洲欧洲99久久| 四虎国产精品永久免费观看视频| 亚洲精品久久| 91免费在线观看网站| 美女精品导航| 日韩av有码在线| 福利网址在线观看| 国产精品网站一区| 亚洲18在线看污www麻豆| 女人香蕉久久**毛片精品| www.成人三级视频| 嗯~啊~轻一点视频日本在线观看| 亚洲激情小视频| 中文字幕免费观看| 国产精品久久久久三级| 波多野结衣网页| 影音先锋国产精品| 欧美精品123| 久久99国产精品二区高清软件| 久久久av电影| 亚洲毛片欧洲毛片国产一品色| 亚洲va国产天堂va久久en| 天堂久久久久久| 人人爽香蕉精品| 精品人妻人人做人人爽| 色综合久久中文| 国产欧美日韩视频| 爱看av在线入口| 亚洲人成电影网站色xx| 97精品人妻一区二区三区在线 | 这里只有精品久久| www.五月婷| 欧美日韩在线视频一区二区| av免费播放网站| 国产成人精品免费一区二区| 欧美日韩在线中文| 91精品综合| 精品视频在线观看| 宅男噜噜噜66国产精品免费| 97视频在线观看免费高清完整版在线观看 | 国产一区二区三区影视| 色综合久久88| 爱爱爱免费视频在线观看| 精品国产免费一区二区三区香蕉| 黄瓜视频在线免费观看| 亚洲美女一区二区三区| 日本黄色特级片| 国产精选一区二区三区| 日韩中文字幕免费在线| 欧美女激情福利| 视频一区二区三区免费观看| 国产精品调教| 91精品美女在线| 外国成人直播| 久久免费视频网| 国产黄色在线观看| 亚洲一区二区精品| 色婷婷av一区二区三区之红樱桃| 欧美日韩三级视频| 亚洲第一在线播放| 一区二区三区四区av| 999久久久国产| 久久美女艺术照精彩视频福利播放| 亚洲AV无码久久精品国产一区| 日韩高清在线不卡| 97国产在线播放| 国产精品99一区二区| 一区二区三区四区视频在线观看| 亚洲bt欧美bt精品777| 1卡2卡3卡精品视频| 亚洲日本免费电影| 国产精品日韩av| **在线精品| 欧美亚洲成人xxx| av福利在线导航| 欧美乱人伦中文字幕在线| 嫩草在线视频| 日韩最新av在线| youjizz在线播放| 亚洲一级片在线看| 你懂得在线网址| 国产丝袜精品视频| 亚洲欧洲精品视频| 日韩电影大全免费观看2023年上| www.国产精品视频| 欧美一区二区黄| 国产三级伦理片| 91精品中文字幕一区二区三区| 中文字幕二区三区| 欧美色欧美亚洲另类二区| 免费黄色片视频| 在线一区二区视频| 在线观看不卡的av| 欧美色精品在线视频| 艳妇乳肉豪妇荡乳av无码福利| 色婷婷久久一区二区三区麻豆| 久久艹免费视频| 色综合天天综合在线视频| 亚洲s码欧洲m码国产av| 日本乱码高清不卡字幕| 少妇久久久久久久| 欧美性xxxxxxxx| 91禁在线观看| 日韩欧美中文一区| 欧美特黄一级视频| 国产视频久久网| xxxxx日韩| 久久精品2019中文字幕| 18+视频在线观看| 久久久在线观看| 涩涩视频在线播放| 国产成人拍精品视频午夜网站| 精品欧美一区二区三区在线观看| 国产精品久久久久99| 91成人在线网站| 国产成人亚洲欧美| 欧美高清视频看片在线观看| 欧美连裤袜在线视频| 久久免费av| 久久香蕉视频网站| 一本色道久久综合亚洲精品不| 国产成人精品无码播放| 久久成人综合网| 波多野结衣三级视频| 91麻豆精品视频| 亚洲欧美综合7777色婷婷| 一区二区三区美女| 国产黄色片免费看| 欧美剧情片在线观看| 亚洲第一页综合| 国产一区二区三区毛片| www.久久ai| 欧美在线性视频| 91精品亚洲一区在线观看| 国产精品区一区二区三在线播放| 国产精品免费不| 国产在线拍揄自揄拍无码| 日韩视频精品在线观看| 永久免费的av网站| 99这里只有精品| 国产91在线播放九色| 亚洲二区在线视频| 中文字幕免费在线看| 日韩精品一区二区三区四区视频| 你懂的在线观看视频网站| 久久精品一本久久99精品| 亚洲最大成人| 99在线首页视频| 欧美日韩一区二区三区视频播放| 国产免费内射又粗又爽密桃视频| 久久成人精品| 久久久久无码国产精品一区李宗瑞| 国产日韩精品一区二区三区| 精品少妇theporn| 9191成人精品久久| 欧美女优在线| 国模吧一区二区三区| 日韩成人在线一区| 美女被啪啪一区二区| 欧美视频一区| 日韩va在线观看| 久久精品人人做| 日韩欧美一级视频| 欧美精品一区视频| 国产精品久久久久久福利| 国产97在线亚洲| 欧美a级网站| 欧美国产视频一区| 精品亚洲porn| 中文字幕在线观看免费高清| 午夜欧美在线一二页| 精品人妻伦一二三区久久| 中文字幕欧美日韩在线| 成人国产二区| 激情伦成人综合小说| 国产精品99一区二区| 三日本三级少妇三级99| 中文字幕在线观看不卡| 无码视频一区二区三区| 国产视频自拍一区| 在线黄色的网站| 精品欧美一区二区精品久久| 黄色亚洲在线| 免费看三级黄色片| 一区二区国产视频| 国产高清视频免费观看| 日韩有码在线观看| 亚洲国产精选| 中文字幕在线中文字幕日亚韩一区| 日本免费新一区视频| 中文字幕成人动漫| 欧洲av一区二区嗯嗯嗯啊| 番号集在线观看| 国产精品狼人色视频一区| 精品久久影视| 日本 片 成人 在线| 综合精品久久久| 国产深喉视频一区二区| 欧美成人午夜免费视在线看片| 警花av一区二区三区| 精品视频在线观看一区二区| 国产成人av电影免费在线观看| 欧美精品色哟哟| 精品国产露脸精彩对白 | 91成人影院| 天天久久综合网| 亚洲一区欧美一区| 少妇人妻精品一区二区三区| 久久久亚洲国产| 亚洲春色h网| 中文字幕第36页| 亚洲色图制服丝袜| 亚洲精品无amm毛片| 81精品国产乱码久久久久久| 亚洲免费观看高清完整版在线观| 黄色国产小视频| 中文字幕在线不卡国产视频| 国产99对白在线播放| 久久免费成人精品视频| 在线日韩网站| 成人av毛片在线观看| 亚洲精品欧美激情| 天天色天天操天天射| 国产精品久久久久免费a∨| 亚洲成av人电影| 国产成人精品无码片区在线| 91久久精品日日躁夜夜躁欧美| 日本黄色片在线观看| 国产精品一码二码三码在线| 日韩在线一二三区| 26uuu成人网| 精品网站999www| 91精品国产一区二区在线观看| 国产69精品久久久久999小说| 国产日韩欧美综合在线| 99国产精品久久久久久久成人| 66m—66摸成人免费视频| 欧美韩日一区| 无码精品一区二区三区在线播放| 欧美三级在线看| av蜜臀在线| 欧美 日韩 国产 在线观看| www.色综合.com| 97人妻精品一区二区三区| 91精品国产沙发| 夜间精品视频| 久久久久久亚洲中文字幕无码| 日韩欧美电影在线| 日本在线中文字幕一区二区三区 | 美女av在线免费看| 中文字幕日韩精品一区二区|