1. 程式人生 > >壓測netty框架,返回少量java.net.ConnectException:Connection timed out,優化程式碼

壓測netty框架,返回少量java.net.ConnectException:Connection timed out,優化程式碼

xx專案需要做效能測試,開發端主要是netty框架,500併發TPS能達到7000+,但是返回少量

 Connection timed out,原因有可能是程式碼有問題,也有可能僅是客戶端主動關閉了連線,導致服務端的寫失敗,linux伺服器本身無法處理如此大量請求,監控到客戶端並未有大量CLOSE_WAIT狀態,不過大量timewait狀態,伺服器端linxu核心已做各項引數優化。

優化:一是限流,二是讓服務端在寫資料之前判斷一下channel是否已關閉。採用方法一,壓力端指令碼採用限流,處理正常(若壓測指令碼做分流限制,不符合生產大批量併發場景)。故採用方法二,讓服務端在寫資料之前判斷一下channel是否已關閉,本次優化方案主要採用優化程式碼:

1.      if (!channel.isConnected()) {  

2.          if (logger.isWarnEnabled()) {  

3.              logger.warn("Failed to write any response because the channel is not connected any more. Maybe the client has closed the connection? ");  

4.          }  

5.          return;  

6.      }  

優化程式碼後重新執行500併發壓測,持續壓測20分鐘以上,少量 Connection timed out解決。

相關推薦

netty框架返回少量java.net.ConnectException:Connection timed out優化程式碼

xx專案需要做效能測試,開發端主要是netty框架,500併發TPS能達到7000+,但是返回少量  Connection timed out,原因有可能是程式碼有問題,也有可能僅是客戶端主動關閉了連線,導致服務端的寫失敗,linux伺服器本身無法處理如此大量請求,監控到客

Caused by: java.net.ConnectException: Connection timed out: connect

spring boot專案整合mybatis時連線資料庫報錯 Caused by: java.net.ConnectException: Connection timed out: connect 我的是因為linux上的防火牆及3306埠沒開放 參考: https://blog

【已解決】java.net.ConnectException: Connection timed out: no further information

前言: 今天連線zookeepter的時候出現問題(上午連線的時候還沒問題的,下午就出現了問題,很是無奈) 報錯資訊如下: java.net.ConnectException: Connection timed out: no further information at

connection.getOutputStream() 報java.net.ConnectException: Connection timed out: connect

摘自stackoverflow Connection timeouts (assuming a local network and several client machines) typically result from a) some kind of firewall on the w

java.net.connectexception:connection timed out

我出現這個問題是由於專案中的gradle版本升級了,要下一個gradle-2.8的包,然而下不了。 首先我嘗試去ping一下網路,看看是不是網路出了問題, 此時出現了這種問題,我再去檢查一下我的DNS

讓人無語的java.net.ConnectException: Connection timed out: connect

今天上午在做s2sh專案的時候,突然報了這個錯誤。我查資料嘗試,重新部署專案,重啟Myecilpse,重啟電腦,搞了半天,還是沒有解決。結果中午回宿舍在筆記本上部署了一下,發現沒錯誤。我就睡了會,回去發現好了。真讓人蛋疼。如果你也遇到這問題,希望這對你也有效,先休息一下吧。

java.net.ConnectException: Connection timed out: connect原因及解決 java設定代理http請求

今天用URLConnection進行http請求時,返回錯誤如下: java.net.ConnectException: Connection timed out: connect  at java.net.PlainSocketImpl.socketConnect(Nat

java.net.ConnectException: Connection timed out: connect 錯誤

java.net.ConnectException: Connection timed out: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSock

javax.jms.JMSException: Could not connect to broker URL: tcp://localhost:61616. Reason: java.net.ConnectException: Connection timed out: connect

最好 端口號 圖片 col alt style url 解決 ava 本地測試向服務器中ActiveMQ添加隊列數據,報錯連接超時 解決: 查看服務器端口號是否存在,(最好是0.0.0.0格式的,雖然暫時還不知道為啥得這個格式) 通過telnet測試該端口不通(6

虛擬機器上的centos7安裝reids本機不能訪解決方式:java.net.ConnectException: Connection refused

問題描述: 今天使用Jedis測試虛擬機器上的redis聯通,一直連線不上,但是使用命令視窗ping的時候,可以ping通(虛擬機器ip地址使用ifconfig獲取), 但是連線已經開啟的reids服務,卻不能連線。   錯誤提示如下: Exception in thr

Tomcat無法啟動8005埠提示:java.net.ConnectException: 拒絕連線 (Connection refused)

修改$JAVA_HOME/jre/lib/security/Java.security 檔案中 securerandom.source 配置項: 將 securerandom.source=file:/dev/random 修改為: securerandom.source=file:/dev/urand

java.net.SocketTimeoutException: Read timed out

enc awl lang erp 了解 nag request 調用 sop 1.問題展示: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRea

java.net.ConnectException: Connection refused 異常

ddr inux 服務器 address .html cti java.net linu .cn 錯誤信息: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl

JedisConnectionException: java.net.ConnectException: Connection refused

存在 都在 驗證 mta connect tails fontsize reat cte 出現問題 我遇到的一個問題,在連接redis的時候出現了錯誤!錯誤如下: JedisConnectionException: java.net.ConnectException: Co

java.net.ConnectException: Connection refused: connect

com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect 異常 1.異常描述;     springCloud專案本地

Linux下關閉tomcat報錯java.net.ConnectException: Connection refused

Linux下關閉tomcat報錯,具體如下: Using CATALINA_BASE: /home/alpha/apache-tomcat-7.0.62 Using CATALINA_HOME: /home/alpha/apache-tomcat-7.0.62 Using CATALIN

Caused by: java.net.ConnectException: Connection refused: connect

  Caused by: java.net.ConnectException: Connection refused: connect     at java.net.DualStackPlainSocketImpl.connect0(Native Met

解決Zookeeper叢集 java.net.ConnectException: Connection refused (Connection refused)

前言 今天在搭建Zookeeper叢集啟動出現異常。 異常資訊 java.net.BindException: Cannot assign requested address (Bind failed) at java.net.PlainSocketImpl.socketB

java.net.SocketTimeoutException: Read timed out的解決辦法

產生問題的環境:ssm+mysql+gridFS+tomcat 問題程式碼段: public void write(OutputStream os, InputStream is) { try (BufferedOutputStream bos = new BufferedOutputS

Eureka報錯“com.sun.jersey.api.client.ClientHandlerException : java.net.ConnectException : Connection

場景: 一個eureka server,一個client,且eureka server配置如下: spring.application.name=eureka server.port=9100 eureka.client.register-with-eureka=false eu