日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis服务信息--Info指令

發布時間:2023/12/4 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis服务信息--Info指令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Redis服務信息–Info指令

  • 在使用Redis時候,可能會遇到一些異常情況,我們排查完代碼問題后,會需要對Redis進行排查,在對Redis錯誤進行排查之前,需要了解Redis運行狀態,通過強大Info指令,可以清晰的知道Redis內部的一些運行參數。
  • Info指令的信息是最全面的,分為如下9大塊,每一塊信息都有非常多的參數,如下:
    • Server:服務器運行環境參數
    • Clients:客戶端相關信息
    • Memory:服務器運行內存統計數據
    • Persistence:持久化信息
    • Stats:通用統計數據
    • Replication:主從復制相關信息
    • CPU:CPU使用情況
    • Cluster:集群信息
    • KeySpace:鍵值對統計數量信息
  • 以下介紹我認為對排查問題關鍵的一些內容。
Redis每秒執行次數指令
  • info stats中,可以看到每秒操作指令次數:
新docker-redis:0>info stats "# Stats total_connections_received:97290 total_commands_processed:106600526 instantaneous_ops_per_sec:732
  • 以上 instantaneous_ops_per_sec:732,也就是所有客戶端一起,每秒發送732 條指令到服務器執行。極限情況下,Redis可以10W/s的指令,測試環境我們可以通過monitor指令觀看觀察一下那些key被訪問的比較頻繁,從而在相應的業務上進行優化。以減少IO操作次數。
Redis客戶端連接數
  • 這部分信息在Clients塊中,通過info clients看到:
新docker-redis:0>info clients "# Clients connected_clients:141 client_longest_output_list:0 client_biggest_input_buf:0 blocked_clients:0 "
  • 以上信息也是比較重要的信息, connected_clients 標識正在連接的客戶端數量 141 個,可以通過這個看出是否有意料之外的連接。如果發現數量不對勁,可以使用client list指令列出所有客戶端連接地址來確定源頭:
新docker-redis:0>client list "id=97758 addr=172.0.0.1:39086 fd=131 name= age=108 idle=108 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=get ......
  • 與客戶端連接相關的參數還有另外一個比較重要:rejected_connections,標識因為超出最大連接數限制而被拒絕的客戶端連接的次數。如果這個數值很大,意味著我們的Redis服務無法承載限制的訪問量,需要調節連接數的最大值,maxclients參數:
新docker-redis:0>info stats "# Stats ...... instantaneous_output_kbps:190.50 rejected_connections:0 ......
Redis內存占用
  • 這塊信息是經常需查詢的信息,可以通過info memory看到
新docker-redis:0>info memory "# Memory used_memory:8575938024 used_memory_human:7.99G //內存分配器(jmealloc)從操作系統分配的內存總量 7.99G used_memory_rss:10298728448 used_memory_rss_human:9.59G //操作系統看到的內存占用,top命令看到的內存 used_memory_peak:8590183584 used_memory_peak_human:8.00G //Redis內存消耗的峰值 used_memory_peak_perc:99.83% //Redis內存消耗峰值占比總內存大小 ......
復制積壓緩沖區的大小
  • 這個信息在Replication塊里,可以通過info replication看到
新docker-redis:0>info replication "# Replication role:master connected_slaves:0 master_replid:cf472bcc723376a795b764b7496308068e661bda master_replid2:0000000000000000000000000000000000000000 master_repl_offset:0 second_repl_offset:-1 repl_backlog_active:0 repl_backlog_size:1048576 //積壓緩沖區大小 1048576 字節 repl_backlog_first_byte_offset:0 repl_backlog_histlen:0 "
  • 復制擠壓緩沖區大小非常重要,嚴重影響主從復制的效率。當從節點因為網絡原因臨時斷開了對主節點的復制,然后網絡恢復且又重新鏈接上,這期間發送在主節點是的修改指令都會被放再積壓緩沖區中,這樣從節點可以通過積壓緩沖區恢復中斷的主從同步過程。

  • 上一節主從同步中我們也討論過環形緩沖區問題,從節點端口時間過長,或者緩沖區設置太小,都會導致從節點無法快速恢復中斷,因為積壓緩沖區環形存儲滿之后會被之后的指令覆蓋,這時候只能全量同步,非常耗資源

  • 應該有一個適當的大小,當有多個從節點復制,積壓緩沖區是共享的,不會因為從節點格式線性增加

  • 如果實例修改指令請求頻繁,應該調大積壓緩沖區 幾十MB差不多

  • Redis閑置的時候,即MB即可

  • 可以通過sync_artial_err參數的次數來決定是否需要擴大積壓緩沖區,他標識主從同步復制失敗的次數。

新docker-redis:0>info stats "# Stats ...... sync_full:0 sync_partial_ok:0 sync_partial_err:0 //同步失敗次數 0 ......

上一篇:Redis高可用基石–主從同步
下一篇:Redis底層實現–字符串

總結

以上是生活随笔為你收集整理的Redis服务信息--Info指令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。