程式連線haproxy執行緒一直close_wait問題
今天一個rd反映連線haproxy叢集報錯,檢視應用伺服器程式大量的埠連線處於colse_wait狀態。
這個haproxy的redis叢集類似配置已經好幾組了,配置都相同問啥別的都好好的這個卻有問題。
自己嘗試使用redis-cli連線(haproxy做的redis分片叢集),確實能夠正常連線操作,但是連線狀態馬上就會變成
close_wait狀態,重新執行命令這個close_wait狀態會恢復ESTABLISHED,但是細心看埠號已經變化,也就是redis-cli
發生了重新連線。
於是問題清晰了:使用者客戶端工具建立連結後,沒有自動重連來保持連線,導致超時,伺服器主動斷開連線,客戶端再次
連結的時候socket已經損壞不可用了,導致報錯
解決辦法:調整haproxy的超時引數:
timeout connect 5s
timeout queue 5s
timeout client 30s
timeout server 30s
timeout client-fin 30s
timeout server-fin 30s
timeout tunnel 1h
引數解釋:
timeout connect 連線嘗試成功連線到server的超時時間
timeout queue 在佇列等待連線槽釋放的超時時間
timeout server server端非活動狀態超時時間
timeout client 客戶端非活動狀態超時時間
timeout server-fin 半關閉狀態連線,server端非活動超時時間
timeout client-fin 半關閉狀態連線,client端非活動超時時間
timeout tunnel 客戶端和伺服器端通道非活動超時時間
再次測試close_wait消失了。
這個haproxy的redis叢集類似配置已經好幾組了,配置都相同問啥別的都好好的這個卻有問題。
自己嘗試使用redis-cli連線(haproxy做的redis分片叢集),確實能夠正常連線操作,但是連線狀態馬上就會變成
close_wait狀態,重新執行命令這個close_wait狀態會恢復ESTABLISHED,但是細心看埠號已經變化,也就是redis-cli
發生了重新連線。
於是問題清晰了:使用者客戶端工具建立連結後,沒有自動重連來保持連線,導致超時,伺服器主動斷開連線,客戶端再次
連結的時候socket已經損壞不可用了,導致報錯
解決辦法:調整haproxy的超時引數:
timeout connect 5s
timeout queue 5s
timeout client 30s
timeout server 30s
timeout client-fin 30s
timeout server-fin 30s
timeout tunnel 1h
引數解釋:
timeout connect 連線嘗試成功連線到server的超時時間
timeout queue 在佇列等待連線槽釋放的超時時間
timeout server server端非活動狀態超時時間
timeout client 客戶端非活動狀態超時時間
timeout server-fin 半關閉狀態連線,server端非活動超時時間
timeout client-fin 半關閉狀態連線,client端非活動超時時間
timeout tunnel 客戶端和伺服器端通道非活動超時時間
再次測試close_wait消失了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20625855/viewspace-1753659/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Jedis 與 MySQL的連線執行緒安全問題MySql執行緒
- 求助!關於多執行緒連線資料庫的問題執行緒資料庫
- 執行緒問題執行緒
- 資料訪問連線池和執行緒池執行緒
- 多執行緒程式中對資料庫連線使用的疑問執行緒資料庫
- 多執行緒程式設計,處理多執行緒的併發問題(執行緒池)執行緒程式設計
- java多執行緒執行問題Java執行緒
- 多執行緒問題執行緒
- 多執行緒下的程式同步(執行緒同步問題總結篇)執行緒
- 多執行緒-執行緒安全問題的產生原因分析以及同步程式碼塊的方式解決執行緒安全問題執行緒
- SimpleDateFormat 執行緒安全問題ORM執行緒
- java執行緒安全問題Java執行緒
- 03 執行緒安全問題執行緒
- 多執行緒-生產者消費者問題程式碼2並解決執行緒安全問題執行緒
- MySQL中介軟體之ProxySQL(5):執行緒、執行緒池、連線池MySql執行緒
- Java多執行緒中執行緒安全與鎖問題Java執行緒
- 作業系統的程式/執行緒同步問題作業系統執行緒
- Linux每程式執行緒數問題處理Linux執行緒
- 關於在執行java連線MongoDB時遇到的連線超時問題JavaMongoDB
- Java多執行緒面試高配問題---多執行緒(3)🧵Java執行緒面試
- 多執行緒問題解釋執行緒
- JUC之多執行緒鎖問題執行緒
- ArrayList 的執行緒安全問題執行緒
- 深入JAVA執行緒安全問題Java執行緒
- 多執行緒相關問題執行緒
- 問題:執行緒的終止執行緒
- 關於執行緒的問題...執行緒
- Hibernate 多執行緒問題!執行緒
- 多執行緒鎖的問題執行緒
- 問一個守護執行緒問題?執行緒
- 多執行緒,你覺得你安全了?(執行緒安全問題)執行緒
- 多執行緒------執行緒與程式/執行緒排程/建立執行緒執行緒
- 程式執行緒篇——程式執行緒基礎執行緒
- 多執行緒之8鎖問題執行緒
- parallelStream中的執行緒安全問題Parallel執行緒
- 05.java多執行緒問題Java執行緒
- 子執行緒 UI 問題捉蟲執行緒UI
- 所謂的執行緒安全問題執行緒