linux redis最大连接数,并发编程-并发下redis连接数监测-Go语言中文社区
背景
用go語言寫的服務,之前在并發過后,redis連接很久沒有釋放,下面來做下監測的過程。
監測命名netstat
實戰
netstat -nat | grep 6379
可以檢測端口的情況
可以看到,現在客戶端沒有啟動端口。
下面我們打開rdm客戶端(mac上的ui客戶端)看看效果。
最后面的狀態,說明已經建立連接。
常用參數
以下是他人總結:
-a (all)顯示所有選項,netstat默認不顯示LISTEN相關
-t (tcp)僅顯示tcp相關選項
-u (udp)僅顯示udp相關選項
-n 拒絕顯示別名,能顯示數字的全部轉化成數字。(重要)
-l 僅列出有在 Listen (監聽) 的服務狀態
-p 顯示建立相關鏈接的程序名(macOS中表示協議 -p protocol)
-r 顯示路由信息,路由表
-e 顯示擴展信息,例如uid等
-s 按各個協議進行統計 (重要)
-c 每隔一個固定時間,執行該netstat命令
以下是linux服務器man截圖:
注:在mac os上和linux上還是有差異的。。
比如-p參數,在linux上可以打印出來program名稱,在mac os上的netstat就沒有。。
啟動服務
把rdm關掉,然后啟動我們的應用程序。
發現之前的連接time_wait了,新的連接被創建。 驗證了tcp連接的兩個狀態。
下面用ab給點并發,看看效果。
ab -c 10 -n 100 "壓測網址"
c,表示用戶
n,表示請求總次數
發現的確有10個連接一直在,這說明客戶端沒有主動斷開這些連接。
下面調整下代碼,添加IdleTimeout字段的配置,為20秒,看看效果。
總結
以上是生活随笔為你收集整理的linux redis最大连接数,并发编程-并发下redis连接数监测-Go语言中文社区的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux x和s 的区别,Hadoop
- 下一篇: linux 两个驱动 竞争,Linux设