你好,歡迎來到川北在線
微信
騰訊微博
新浪微博
亞馬遜云科技Amazon ElastiCache for Redis 7.1 微秒級響應時間內(nèi)擴展為每秒5億個請求
時間:2023-11-22 10:12   來源:搜狐   責任編輯:青青

  亞馬遜云科技Amazon ElastiCache for Redis是一項完全托管的服務,與Redis API兼容。ElastiCache是一種快速的內(nèi)存數(shù)據(jù)存儲,許多客戶選擇這種存儲來為一些對性能最為敏感的實時應用程序提供支持。與大家分享通過從ElastiCache for Redis 7.0升級到7.1,現(xiàn)在可以有效地 提高性能,并且可以在微秒級響應時間內(nèi)擴展為每秒5億個請求(RPS)。

  此次發(fā)布是亞馬遜云科技持續(xù)努力幫助您充分發(fā)揮ElastiCache性能的 舉措。2023年2月,亞馬遜云科技發(fā)布了具有增強型I/O多路復用功能的ElastiCache for Redis 7.0,該服務非常適合具有多個客戶端連接的吞吐量限制型工作負載,其優(yōu)勢可以隨工作負載并發(fā)水平而擴展。舉個例子,在使用r6g.xlarge節(jié)點并運行5200個并發(fā)客戶端時,與ElastiCache for Redis 6相比,最多可以將吞吐量(每秒讀寫操作數(shù))提高72%,P99延遲最多降低71%。它將許多客戶端請求合并到一個通道,提高了Redis主線程的效率,如下圖所示。

  2023年8月,亞馬遜云科技宣布支持Graviton3(M7g和R7g)實例,與Graviton2相比,除了增強型輸入/輸出多路復用帶來的改進外,Graviton3的RPS最多可提高28%,P99延遲最多可降低21%。

  現(xiàn)在,在具有至少8個物理內(nèi)核(Graviton為2xlarge,x86為4xlarge)的實例上,使用ElastiCache for Redis v7.1最多可將性能提升一倍。與7.0版相比,它的吞吐量最多可提高100%,P99延遲最多可降低50%。在足夠大的節(jié)點(例如r7g.4xlarge)上,可以實現(xiàn)每個節(jié)點每秒超過100萬個請求(RPS),每個集群5億個RPS。這一性能飛躍是通過亞馬遜云科技表示層卸載和內(nèi)存訪問分攤的技術實現(xiàn)的。

  Redis表示層卸載

  ElastiCache for Redis使用增強型I/O線程來處理網(wǎng)絡I/O和傳傳輸層安全性協(xié)議(TLS)加密。在7.1版中,亞馬遜云科技擴展了增強型I/O線程功能,使其還能處理表示層邏輯。亞馬遜云科技所說的表示層是指增強型I/O線程現(xiàn)在不僅會讀取客戶端輸入,還會將輸入解析為Redis二進制命令格式,然后將其轉發(fā)到主線程運行。同樣,在響應路徑上,主線程會將二進制格式的輸出重定向回增強型I/O線程。增強型I/O線程將格式化響應并將其發(fā)送到客戶端。如下圖所示,通過將這項工作推送到專用線程,亞馬遜云科技既能更充分地利用并行機制和每個實例中的可用CPU內(nèi)核,也能讓Redis主線程做它最擅長的工作,即運行命令。

  內(nèi)存訪問分攤

  隨機內(nèi)存訪問是一項高成本的操作,會影響內(nèi)存密集型應用程序的效率,F(xiàn)在,亞馬遜云科技引入了內(nèi)存訪問分攤(MAA),這是一種用于降低內(nèi)存訪問成本的技術,尤其適用于大型動態(tài)數(shù)據(jù)結構,例如在Redis中使用的結構。MAA將許多數(shù)據(jù)結構操作的步驟交錯在一起,以確保并行訪問內(nèi)存并減少內(nèi)存訪問延遲。在ElastiCache for Redis 7.1中,亞馬遜云科技在Redis字典中應用了這種方法,使哈希查找和加速命令減少多達60%。以下示例對此進行了描述,其中,Redis主處理線程從增強型I/O線程接收三個已解析的命令。接下來,它交錯執(zhí)行字典查找程序,以同時將所需數(shù)據(jù)預取到CPU緩存中。在亞馬遜云科技的簡單示例中,Redis主線程從增強型I/O線程接收以下命令:GET"19"、GET"65"和GET"23"。

  主線程現(xiàn)在從Redis字典中檢索這些密鑰。在ElastiCache 7.0版中,Redis字典中的哈希表遍歷將串行運行,而Redis會低效等待內(nèi)存。然而,在版本7.1中,三個哈希表遍歷交錯以獲得并行內(nèi)存請求。

  性能分析

  為了對使用ElastiCache for Redis 7.1可以實現(xiàn)的性能提升進行基準測試,亞馬遜云科技將其與7.0版本進行了比較。使用典型的基準測試設置,以及行業(yè)標準的Redis基準測試工具,其中包括20%的SET(寫入)和80%的GET(讀取)命令。所有測試均使用500個客戶端、80%的GET命令和20%的SET命令在填充有300萬個16字節(jié)密鑰和512字節(jié)字符串值的數(shù)據(jù)庫上運行。ElastiCache節(jié)點和客戶端應用程序均在同一亞馬遜云科技可用區(qū)內(nèi)運行。

  每秒請求次數(shù)增益

  下圖詳細介紹了在不同節(jié)點大小上運行基準測試的結果。它捕獲了ElastiCache for Redis 7.1中引入的每秒請求數(shù)(RPS)的百分比改進,并與7.0進行了比較。

  可以觀察到所有不同節(jié)點都實現(xiàn)了至少100%(雙倍)的改進,這著實令人興奮。這意味著r7g.4xlarge及更高版本可實現(xiàn)每秒超過100萬個請求。在同一個基準測試中,還測量了命令延遲。下圖顯示了引入的P99延遲改進。

  延遲降低

  可以觀察到,即使在最大RPS的峰值負載下,也能夠在所有節(jié)點大小上將每個節(jié)點的P99延遲降低50%以上,將每個請求的延遲加速到小于1毫秒。吞吐量翻了一番,同時延遲減少了一半。

  總結

  在大于xlarge的節(jié)點上,無論您的集群大小或模式如何,無論是否使用TLS,ElastiCache for Redis 7.1中引入的改進都能提供更好的性能。升級到 的ElastiCache,享受速度帶來的快感,無需額外付費,也無需對應用程序進行任何更改。ElastiCache for Redis 7.1現(xiàn)已在所有亞馬遜云科技區(qū)域推出。

   投稿郵箱:chuanbeiol@163.com   詳情請訪問川北在線:http://www.sanmuled.cn/

川北在線-川北全搜索版權與免責聲明
①凡注明"來源:XXX(非在線)"的作品,均轉載自其它媒體,轉載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責,本網(wǎng)不承擔此類稿件侵權行為的連帶責任。
②本站所載之信息僅為網(wǎng)民提供參考之用,不構成任何投資建議,文章觀點不代表本站立場,其真實性由作者或稿源方負責,本站信息接受廣大網(wǎng)民的監(jiān)督、投訴、批評。
③本站轉載純粹出于為網(wǎng)民傳遞更多信息之目的,本站不原創(chuàng)、不存儲視頻,所有視頻均分享自其他視頻分享網(wǎng)站,如涉及到您的版權問題,請與本網(wǎng)聯(lián)系,我站將及時進行刪除處理。



圖庫
合作媒體
金寵物 綠植迷
法律顧問:ITLAW-莊毅雄律師