netty服務器運行一段時間,出現一定比例的客戶端無法鏈接
cpu和記憶體占用都很低,客戶端鏈接服務器埠,服務器大概率沒有任何反應,但是客戶端顯示鏈接成功。
新啟動的服務,每個鏈接服務器都可以正確回應。
大家有遇到過嗎?有沒有什么好的建議?
uj5u.com熱心網友回復:
資訊太少,在什么環境運行的,作業系統,java版本等,多少用戶時候開始出現錯誤,比例是多少服務器的日志中找錯誤資訊,然后分析。找不到就壓測,找到錯誤原因
uj5u.com熱心網友回復:
java1.8
centos6.9
已經鏈接的客戶端190個,每個客戶端大概每30s一條訊息,服務器不主動下發訊息。
uj5u.com熱心網友回復:
客戶端鏈接時服務器沒有任何日志,netty的日志已經開啟了,Handler的channelActive()方法也沒有日志輸出。
但是客戶端顯示鏈接成功,客戶端發送訊息時服務器也不處理。
uj5u.com熱心網友回復:
這個連接數量,BIO都不會出問題,何況netty這樣的NIO了。問題可能是收到資料后處理程序,寫資料庫還是檔案?另外服務器是否優化?服務器優化參考:
https://blog.csdn.net/leonpengweicn/article/details/69388886
uj5u.com熱心網友回復:
接收到訊息后回復客戶端訊息,或者寫入mq
最奇怪的是服務器運行一段時間,才會出現這種情況。新啟動一個服務,鏈接多少客戶端就輸出多少日志。
uj5u.com熱心網友回復:
可能是處理程式沒有正確結束導致了阻塞。考慮增加一層內部訊息快取,避免在處理程式中呼叫mq連接積累性問題,很難除錯。寫客戶端壓測,否則很難找
uj5u.com熱心網友回復:
謝謝,我今天也準備壓測一下。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/100430.html
標籤:Java相關
