天天看點

【巡檢問題分析與最佳實踐】Redis 流控問題往期分享概述判斷處理

往期分享

RDS MySQL

RDS MySQL 執行個體空間問題 RDS MySQL 記憶體使用問題 RDS MySQL 活躍線程數高問題 RDS MySQL 慢SQL問題 RDS MySQL 執行個體IO高問題 RDS MySQL 小版本更新最佳實踐

RDS PostgreSQL

RDS PostgreSQL 執行個體IO高問題 RDS PostgreSQL 慢SQL問題 RDS PostgreSQL CPU高問題

RDS SQL Server

RDS SQL Server 磁盤IO吞吐高問題 RDS SQL Server CPU高問題 RDS SQL Server 空間使用問題

概述

Redis一般作為更靠近應用服務的資料層,會進行較多資料存取消耗網絡帶寬。在阿裡雲的Redis服務中,帶寬根據執行個體規格綁定,當超過規格帶寬時會進行帶寬流控。當觸發流控時應用的帶寬流量被限制,容易對應用服務的資料通路性能造成影響,需要引起重視。

關于Redis規格請參考:

https://help.aliyun.com/document_detail/26350.html

判斷

可根據控制台-性能監控的執行個體進/出流量 (Intranet In/Intranet Out)或流量使用率(Intranet In Ratio/Intranet Out Ratio)結合規格來判斷流量使用情況。一般而言流量平均使用80%需引起注意。如圖1-1:

【巡檢問題分析與最佳實踐】Redis 流控問題往期分享概述判斷處理

圖1-1

處理

臨時擴容

當觸發流控時一般的應急處理辦法是臨時擴容帶寬(如圖2-1),将帶寬臨時擴容為規格标準帶寬的兩倍,時間為7天,這樣使用者可以有較長時間視窗來優化業務以解決問題。

【巡檢問題分析與最佳實踐】Redis 流控問題往期分享概述判斷處理

圖2-1

業務優化

當業務通路量與預期帶寬消耗不比對,建議檢查實際通路消耗,可使用CloudDBA-緩存分析功能找出大Key(一般大于10KB,可根據業務實際情況定義)加以優化,如去除不必要的大Key通路。緩存分析尋找大Key,如圖2-2、2-3:

【巡檢問題分析與最佳實踐】Redis 流控問題往期分享概述判斷處理

圖2-2

【巡檢問題分析與最佳實踐】Redis 流控問題往期分享概述判斷處理

圖2-3

擴容規格

當業務優化完成,而實際帶寬消耗依舊在原規格下無法滿足要求時,則建議升配Redis規格以支援更大的網絡流量帶寬。

使用Mybase

當Redis固有最高規格依舊無法滿足帶寬需求時,如單個Redis執行個體流量需求達到500MB/s,建議可考慮使用Mybase for Redis服務,使用者可根據實際需要配置執行個體的帶寬上限。