日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

一、措施

當向redis主節點添加從節點時,可以采取以下措施以最大程度地減少對主節點的阻塞和影響:

  • 使用初始同步:在添加從節點之前,可以先使用初始同步功能將主節點的數據復制到從節點。這樣,在將從節點添加到主節點之前,從節點已經具有與主節點相同的數據集。通過這種方式,可以避免在添加從節點時對主節點進行復制,減少對主節點的阻塞。
  • 使用復制積壓緩沖區:Redis提供了復制積壓緩沖區(repl-backlog)的配置選項。通過適當調整該選項的大小,可以在添加從節點時允許主節點保存一定數量的復制命令,而不會阻塞主節點。復制積壓緩沖區可以在一定程度上緩解主節點與從節點之間的網絡延遲和傳輸速率不匹配的問題。
  • 配置合理的復制延遲:可以通過調整從節點的復制延遲(replica-replica-lag)來減輕主節點的壓力。將復制延遲設置為適當的值,可以使從節點稍微滯后于主節點,從而減少對主節點的復制負載。
  • 增加主節點的資源:如果主節點的負載較重,而添加從節點會進一步加重主節點的負擔,可以考慮增加主節點的資源,如增加內存、CPU等。這樣可以提高主節點的處理能力,使其能夠更好地處理復制請求和其他客戶端請求。
  • 控制并發復制連接數:可以通過限制從節點的并發復制連接數,以控制對主節點的并發復制請求。通過適當設置最大連接數,可以確保主節點不會過載。
  • 調整其他復制相關參數: 通過加大復制相關參數的值,可以使得在大數據量復制過程中不會因為時間過長或數據在緩沖區中被刷掉導致初始化失敗。

二、具體操作

1、配置復制積壓緩沖區

通過配置復制積壓緩沖區大小,我們可以在添加從節點時緩解主從節點之間的網絡延遲。

在主節點的redis.conf文件中添加以下配置:

repl-backlog-size 10mb  # 適當調整大小,根據需求設置

或 通過config set 命令進行設置。

config set repl-backlog-size 10mb

這個緩沖區將保存歷史復制數據,確保即使在添加從節點期間也能保留完整的復制記錄。

2、配置復制延遲

調整從節點的復制延遲,以確保從節點稍微滯后于主節點,減輕主節點的復制壓力。執行以下命令:

CONFIG SET replica-replica-lag 5  # 適當調整延遲時間

這樣可以確保從節點不會對主節點造成過大的負擔。

3、增加主節點資源

如果主節點負載較重,考慮增加主節點的資源。增加內存、CPU等可以提高主節點的處理能力,使其更好地處理復制請求和其他客戶端請求。不過,在現實情況下,一般沒有操作空間,因為主庫主機在使用,無法擴容CPU或內存(非絕對,有的虛擬化方式可以做到在線擴容)

4、控制并發復制連接數

通過限制從節點的并發復制連接數,可以避免主節點過載。在從節點上執行以下命令:

CONFIG SET replica-max-replication-jobs 5  # 適當調整連接數

這有助于確保添加從節點時的流量控制,避免對主節點的并發請求過多。

5、從節點的磁盤寫入延遲

通過配置repl-diskless-sync-delay參數,可以調整從節點在同步期間的磁盤寫入頻率。這對于降低從節點對磁盤的寫入負載很有幫助。

CONFIG SET repl-diskless-sync-delay 5  # 適當調整延遲時間

6、從節點的最大內存限制

Redis從節點可以配置一個最大使用的內存量,以確保不會占用過多系統資源。

CONFIG SET maxmemory 8gb  # 適當調整內存限制

7、從節連接超時時間設置

根據系統的需要,你可能需要調整從節點的連接超時等設置。

CONFIG SET repl-timeout 60  # 適當調整超時時間

8、從節點檢活時間修改

repl-ping-slave-period:該參數定義主節點定期檢查從節點是否存活的時間間隔。增加這個間隔可能減輕主節點的負載,但會使主從節點之間的同步變得更加滯后。

CONFIG SET repl-ping-slave-period 60  # 適當調整間隔時間

9、復制積壓緩沖區存活時間

repl-backlog-ttl:該參數定義復制積壓緩沖區中數據的最大存活時間。適當調整可以在一定程度上控制主從節點之間的延遲。

CONFIG SET repl-backlog-ttl 3600  # 適當調整 TTL 時間

10、repl-disable-tcp-nodelay:

默認情況下,Redis使用TCP_NODELAY選項來減少傳輸延遲。但在某些情況下,你可能希望禁用這個選項以減輕網絡負擔。

CONFIG SET repl-disable-tcp-nodelay yes

11、復制刷盤同步參數設置

repl-diskless-sync:在磁盤同步時,Redis默認會寫入一個臨時文件。通過啟用磁盤同步,你可以選擇避免寫入磁盤。

CONFIG SET repl-diskless-sync yes

12、從節點寫入延遲

涉及min-replicas-to-write和min-replicas-max-lag,這兩個參數用于在高可用性(HA)設置中,定義最小數量的從節點確認寫入操作以及最大的允許延遲。

CONFIG SET min-replicas-to-write 3
CONFIG SET min-replicas-max-lag 10

三、建議

Redis 單個實例內存使用過大可能會導致系統性能下降,甚至影響整個系統的穩定性。以下是一些方式可以避免Redis單個實例內存使用過大:

  • 設置合理的過期時間:如果你的數據集中有很多過期的鍵,確保設置了合理的過期時間,以便Redis可以自動清理不再需要的鍵。使用 EXPIRE 命令或在 SET 命令中添加 EX 選項來設置過期時間。
  • 優化數據結構:選擇適當的數據結構,以減小存儲空間。例如,如果可以使用 HASH 代替 STRING,或者使用 ZSET 代替 SET,就可以有效地減小內存占用。
  • 使用合理的數據存儲方式:使用 HASH 或 ZSET 等數據結構存儲多個相關字段,而不是使用多個獨立的 STRING 類型。這可以減少內存的開銷。
  • 啟用壓縮功能:Redis 6.0 以后的版本支持對字符串進行壓縮。啟用壓縮可以減小存儲空間,特別是當存儲的是文本數據時。
# 在redis.conf文件中啟用壓縮
activate-key-compression yes
  • 分片(Sharding):將數據分散到多個Redis實例中,以減小每個實例的內存使用。這種方式需要對應用程序進行修改以支持分片。
  • 使用內存淘汰策略:Redis 提供了多種內存淘汰策略,例如 volatile-lru、allkeys-lru、volatile-ttl 等。選擇適合你業務場景的淘汰策略,確保及時清理不再需要的鍵。
  • 限制每個數據集的大小:設置 maxmemory 參數,限制Redis使用的內存總量。當內存達到這個限制時,Redis會根據所配置的淘汰策略自動刪除一些鍵。
# 在redis.conf文件中設置最大內存限制
maxmemory 8gb
  • 做好監控和優化:定期監控Redis的內存使用情況,使用Redis自帶的 INFO 命令或者監控工具。根據監控結果,及時采取優化措施。

分享到:
標簽:Redis
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定