tomcat中关于websocket的性能优化配置
一、優化Connector?
http://www.aikaiyuan.com/8466.html
tomcat的運行模式有3種?
1)bio?
默認的模式,性能非常低下,沒有經過任何優化處理和支持.
2)nio?
利用java的異步io護理技術,noblocking IO技術.?
想運行在該模式下,直接修改server.xml里的Connector節點,修改protocol為?
protocol=”org.apache.coyote.http11.Http11NioProtocol” 啟動后,就可以生效。?
(?http://www.365mini.com/page/tomcat-connector-mode.htm?)
3)apr?
安裝起來最困難,但是從操作系統級別來解決異步的IO問題,大幅度的提高性能.
二、Apache Tomcat 8 WebSocket How-To 中文翻譯版?
http://blog.csdn.net/hills/article/details/39368951
Java WebSocket 1.0 規范要求在一個不同的線程上執行到發起寫入的線程的異步寫入回調。?
由于容器線程池不是通過Servlet API被暴露,因此WebSocket實現必須提供自己的線程池。該線程池可以通過下列servlet context初始化參數被控制:?
org.apache.tomcat.websocket.executorCoreSize: executor線程池的核心大小。如果不設置,則默認為0。?
org.apache.tomcat.websocket.executorMaxSize:executor線程池所允許的最大值。如果不設置,則默認為200。?
org.apache.tomcat.websocket.executorKeepAliveTimeSeconds:executor線程池中空閑進程所保留的最大時間。如果未指定,則默認為60秒。?
設置方法:?
web.xml中
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
三、設置最大線程數?
apache-tomcat-7.0.73\conf\server.xml
- 1
- 2
- 3
修改為:
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="1000" minSpareThreads="4"/><Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000"redirectPort="8443" />總結:我采用第三種方案優化,使用tomcat8.5.3 ,
??????? <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="20" />
??????? <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="40000" redirectPort="8443" acceptCount="1000" />
靜待效果中參考:https://blog.csdn.net/jkxqj/article/details/72640037
總結
以上是生活随笔為你收集整理的tomcat中关于websocket的性能优化配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吴恩达Coursera机器学习 - Ch
- 下一篇: [转]Using Angular in