真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Redisdb連接超時怎么辦-創(chuàng)新互聯(lián)

小編給大家分享一下Redis db連接超時怎么辦,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

目前成都創(chuàng)新互聯(lián)已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機、網(wǎng)站托管維護、企業(yè)網(wǎng)站設(shè)計、稱多網(wǎng)站維護等服務(wù),公司將堅持客戶導向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

問題描述:

現(xiàn)象是redis db訪問出現(xiàn)超時。

問題分析:

網(wǎng)絡(luò)流量出現(xiàn)瓶頸,訪問變慢。

  • [machine1 ~]$ ping 192.168.10.66

  • PING 192.168.10.66 (192.168.10.66) 56(84) bytes of data.

  • 64 bytes from 192.168.10.66: icmp_seq=1 ttl=64 time=17.7 ms

  • 64 bytes from 192.168.10.66: icmp_seq=2 ttl=64 time=17.2 ms

  • Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 0

  •   Queueing strategy: fifo

  •   Output queue: 0/40 (size/max)

  •   5 minute input rate 874639000 bits/sec, 85931 packets/sec –網(wǎng)絡(luò)流量每秒800m bit

  •   5 minute output rate 47017000 bits/sec, 75274 packets/sec

  •      96257027404 packets input, 21537684106526 bytes, 0 no buffer

  •      Received 70287596 broadcasts (69442689 multicasts)

主機的網(wǎng)卡流量也達到了瓶頸。

redis主機的某些實例內(nèi)存也開始報警,超過90%。

停止中間件應(yīng)用后,發(fā)現(xiàn)問題還是沒有解決,網(wǎng)絡(luò)流量依舊很高。

將redis db切換到備機后,系統(tǒng)恢復,網(wǎng)絡(luò)流量下降。redis db從庫的內(nèi)存使用率很低。

發(fā)生問題時當時主庫的內(nèi)存最高是14g,但是從庫的內(nèi)存才1.9g。那主庫的內(nèi)存占用是從哪里來的呢?

根據(jù)網(wǎng)絡(luò)同事的反饋,網(wǎng)絡(luò)請求的大小大概也就幾十個字節(jié),但是輸出的大小每次達到了幾M。

Redis輸出緩沖區(qū)可能占用大量的內(nèi)存空間,這和oracle的pga內(nèi)存非常類似,每個oracle會話會獨立分配一個內(nèi)存區(qū)域。那么繼續(xù)看看本案例是否也是輸出緩沖區(qū)內(nèi)存占用過多。查看zabbix相關(guān)指標,發(fā)現(xiàn)client_longest_output_list的確有增加。應(yīng)該是輸出緩沖區(qū)占用內(nèi)存較大,也就是有大量的數(shù)據(jù)

從Redis服務(wù)器向某些客戶端輸出。


查看當時的日志,有omem比較大的情況。

  • id=411550 addr=172.24.1.30:34542 fd=280 name= age=2 idle=1 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=9

  • omem=237928 events=rw cmd=lrange

后續(xù)從slowlog中也發(fā)現(xiàn)有返回數(shù)據(jù)較多的操作。

  • [machine1 ~]$redis-cli -p 6500 slowlog get 10

  • 1) 1) (integer) 2245

  •     2) (integer) 1460002216

  •     3) (integer) 23236

  •     4) 1) "SMEMBERS"

  •        2) "prdkey1"

一次獲取9075多個元素。

  • 127.0.0.1:6410> scard prdkey1

  • (integer) 9075


經(jīng)過和開發(fā)一起分析,類似于Oracle中的數(shù)據(jù)傾斜,redis的某個分片上返回的數(shù)據(jù)很大,導致服務(wù)器向客戶端發(fā)送數(shù)據(jù)的buffer的積壓。后續(xù)開發(fā)將這些數(shù)據(jù)分批取出,并放到JVM中進行緩存。

以上是“Redis db連接超時怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!


網(wǎng)頁題目:Redisdb連接超時怎么辦-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://weahome.cn/article/ddojdj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部