為了確保分布式(shi)緩存服務(wu)(wu)發揮出最優性能(neng),您可以根據自己(ji)的(de)業(ye)務(wu)(wu)情況(kuang)對DCS緩存實例的(de)運行參數(shu)進行調(diao)整。
例如,需(xu)要(yao)將(jiang)實例持久化(hua)功能(neng)關閉,則需(xu)要(yao)將(jiang)“appendonly”修改為“no”。
說明
實例配置(zhi)參數修改之后,參數會立即(ji)生(sheng)效(xiao)(不需要手(shou)動重啟實例),如果是集群,會在所有分(fen)片生(sheng)效(xiao)。
操作步驟
步(bu)驟(zou) 1 登錄分布式緩(huan)存服務管理控制(zhi)臺。
步驟 2 在管理控制臺左上角單擊
,選擇區域和項目。
步驟 3 單(dan)擊左側(ce)菜單(dan)欄的“緩(huan)(huan)存管理”。進入(ru)緩(huan)(huan)存管理頁面。
步驟 4 在“緩存管理”頁面,單擊DCS緩存實例的名(ming)稱。
步驟 5 單(dan)擊(ji)“實例配置(zhi) > 參數配置(zhi)”頁簽進(jin)入(ru)配置(zhi)界面。
步驟 6 單擊(ji)“修改”。
步驟 7 根據需要修(xiu)改配置參數。
各(ge)參(can)數的詳(xiang)細(xi)介紹(shao)見下表,一般情況下,按照(zhao)系統(tong)默認值設置參(can)數即可。
Redis緩存(cun)實例配置參數說明
| 參數名 | 參數解釋 | 取值范圍 | 默認值 |
|---|---|---|---|
| timeout | 客戶端空閑N秒(timeout參數的取值)后將關閉連接。當N=0時,表示禁用該功能。Proxy集群實例不支持該參數。 | 0~7200,單位:秒。 | 0 |
| appendfsync | 操作系統的fsync函數刷新緩沖區數據到磁盤,有些操作系統會真正刷新磁盤上的數據,其他一些操作系統只會嘗試盡快完成。 Redis支持三種不同的調用 fsync的方式: no:不調用fsync,由操作系統決定何時刷新數據到磁盤,性能最高。 always:每次寫AOF文件都調用fsync,性能最差,但數據最安全。 everysec:每秒調用一次fsync。兼具數據安全和性能。單機實例不支持該參數。 |
l nol alwaysl everysec | no |
| appendonly | 指定是否在每次更新操作后進行日志記錄,Redis在默認情況下是異步的把數據寫入磁盤,如果不開啟,可能會在斷電時導致一段時間內的數據丟失。有2個取值供選擇:yes:開啟。no:關閉。單機實例不支持該參數。 | l yesl no | yes |
| client-output-buffer-limit-slave-soft-seconds | slave客戶端output-buffer超過client-output-buffer-slave-soft-limit設置的大小,并且持續時間超過此值(單位為秒),服務端會主動斷開連接。單機實例不支持該參數。 | 0~60 | 60 |
| client-output-buffer-slave-hard-limit | 對slave客戶端output-buffer的硬限制(單位為字節),如果slave客戶端output-buffer大于此值,服務端會主動斷開連接。單機實例不支持該參數。 | 取值范圍與實例的類型及規格有關 | 默認值與實例的類型及規格有關 |
| client-output-buffer-slave-soft-limit | 對slave客戶端output-buffer的軟限制(單位為字節),如果output-buffer大于此值并且持續時間超過client-output-buffer-limit-slave-soft-seconds設置的時長,服務端會主動斷開連接。單機實例不支持該參數。 | 取值范圍與實例的類型及規格有關 | 默認值與實例的類型及規格有關 |
| maxmemory-policy | 在達到內存上限(maxmemory)時DCS將如何選擇要刪除的內容。 有8個取值供選擇: volatile-lru:根據LRU算法刪除設置了過期時間的鍵值。 allkeys-lru:根據LRU算法刪除任一鍵值。 volatile-random:刪除設置了過期時間的隨機鍵值。 allkeys-random:刪除一個隨機鍵值。 volatile-ttl:刪除即將過期的鍵值,即TTL值最小的鍵值。 noeviction:不刪除任何鍵值,只是返回一個寫錯誤。 volatile-lfu:根據LFU算法刪除設置了過期時間的鍵值。 allkeys-lfu:根據LFU算法刪除任一鍵值。 |
取值范圍與實例的版本有關 | 默認值與實例的版本及類型有關 |
| lua-time-limit | Lua腳本的最長執行時間,單位為毫秒。讀寫分離實例不支持設置該參數。 | 100~5,000 | 5,000 |
| master-read-only | 設置實例為只讀狀態。設置只讀后,所有寫入命令將返回失敗。Proxy集群、讀寫分離實例不支持該參數。 | l yesl no | no |
| maxclients | 最大同時連接的客戶端個數。Proxy集群、讀寫分離實例不支持該參數。 | 取值范圍與實例的類型及規格有關 | 默認值與實例的類型及規格有關 |
| proto-max-bulk-len | Redis協議中的最大的請求大小,單位為字節。讀寫分離實例不支持設置該參數。 | 1,048,576~536,870,912 | 536,870,912 |
| repl-backlog-size | 用于增量同步的復制積壓緩沖區大小(單位為字節)。這是一個用來在從節點斷開連接時,存放從節點數據的緩沖區,當從節點重新連接時,如果丟失的數據少于緩沖區的大小,可以用緩沖區中的數據開始增量同步。單機實例不支持該參數。 | 16,384~1,073,741,824 | 1,048,576 |
| repl-backlog-ttl | 從節點斷開后,主節點釋放復制積壓緩沖區內存的秒數。值為0時表示永不釋放復制積壓緩沖區內存。單機實例不支持該參數。 | 0~604,800 | 3,600 |
| repl-timeout | 主從同步超時時間,單位為秒。單機實例不支持該參數。 | 30~3,600 | 60 |
| hash-max-ziplist-entries | 當hash表中只有少量記錄時,使用有利于節約內存的數據結構來對hashes進行編碼。 | 1~10000 | 512 |
| hash-max-ziplist-value | 當hash表中最大的取值不超過預設閾值時,使用有利于節約內存的數據結構來對hashes進行編碼。 | 1~10000 | 64 |
| set-max-intset-entries | 當一個集合僅包含字符串且字符串為在64位有符號整數范圍內的十進制整數時,使用有利于節約內存的數據結構對集合進行編碼。 | 1~10000 | 512 |
| zset-max-ziplist-entries | 當有序集合中只有少量記錄時,使用有利于節約內存的數據結構對有序序列進行編碼。 | 1~10000 | 128 |
| zset-max-ziplist-value | 當有序集合中的最大取值不超過預設閾值時,使用有利于節約內存的數據結構對有序集合進行編碼。 | 1~10000 | 64 |
| latency-monitor-threshold | 延時監控的采樣時間閾值(最小值),單位為毫秒。閾值設置為0:不做監控,也不采樣;閾值設置為大于0:將記錄執行耗時大于閾值的操作。可以通過LATENCY等命令獲取統計數據和配置、執行采樣監控。Proxy集群實例不支持該參數。 | 0~86400000,單位:毫秒。 | 0 |
| notify-keyspace-events | notify-keyspace-events選項的參數為空字符串時,功能關閉。另一方面,當參數不是空字符串時,功能開啟。 notify-keyspace-events的參數可以是以下字符的任意組合,它指定了服務器該發送哪些類型的通知: K:鍵空間通知,所有通知以__keyspace@__為前綴。 E:鍵事件通知,所有通知以__keyevent@__為前綴。 g:DEL、EXPIRE、RENAME等類型無關的通用命令的通知。 $:字符串命令的通知。l:列表命令的通知。 s:集合命令的通知。 h:哈希命令的通知。 z:有序集合命令的通知。 x:過期事件:每當有過期鍵被刪除時發送。 e:驅逐(evict)事件:每當有鍵因為maxmemory政策而被刪除時發送。 A:參數glshzxe的別名。輸入的參數中至少有一個K或者E,A不能與g$lshzxe同時出現,不能出現相同字母。舉個例子,如果只想訂閱鍵空間中和列表相關的通知,那么參數就應該設為Kl。將參數設為字符串"AKE"表示發送所有類型的通知。 Proxy集群實例不支持該參數。 |
請參考該參數的描述。 | Ex |
| slowlog-log-slower-than | Redis慢查詢會記錄超過指定執行時間的命令。slowlog-log-slower-than用于配置記錄到慢查詢的命令執行時間閾值,單位為微秒。 | 0~1,000,000 | 10,000 |
| slowlog-max-len | 慢查詢記錄的條數。注意慢查詢記錄會消耗額外的內存。可以通過執行SLOWLOG RESET命令清除慢查詢記錄。 | 0~1,000 | 128 |
| multi-db | 開啟或關閉多DB特性。要求先清除已有數據。清除數據之前請先手動備份生成備份文件。若要恢復已清除的數據請通過數據遷移頁面的備份導入功能進行數據恢復。有2個取值供選擇:yes:開啟。no:關閉。僅Redis 4.0及以上版本的Proxy集群實例支持該參數。 | l yesl no | no |

說明1.上表中的內存優化相關參數可以參考Redis官網說明,鏈接://redis.io/topics/memory-optimization。
2.latency-monitor-threshold參數一般在定位問題時使用。采集完latency信息,定位問題后,建議重新將latency-monitor-threshold設置為0,以免引起不必要的延遲。
3.notify-keyspace-events參數的其他描述:
有效值為[K|E|KE][A|g|l|s|h|z|x|e|$],即輸入的參數中至少要有一個K或者E。
A為“g$lshzxe”所有參數的集合別名。A與“g$lshzxe”中任意一個不能同時出現。
例如,如果只想訂閱鍵空間中和列表相關的通知,那么參數就應該設為Kl。若將參數設為字符串"AKE"表示發送所有類型的通知。
4.不同實例類型支持配置的參(can)數和取值可能略(lve)有不同,請以控(kong)制臺顯(xian)示為準。
步(bu)驟 8 單擊“保存”。
步驟 9 在彈出的(de)修(xiu)改(gai)(gai)確認對話框中(zhong),單擊(ji)“是”,確認修(xiu)改(gai)(gai)參數。