websocket怎么优化?
1、1、优化Connector
对于Connector的优化,一般有以下三种优化方法:
(1)bio优化,此种模式下的优化,性能最低,没有经过任何处理和支持;
(2)nio优化,利用java的异步io护理技术,noblocking IO技术;
(3)apr优化,级别最高,执行也是最难的,大幅度提高性能。

2、2、优化Apache Tomcat
Java WebSocket 1.0 规范要求在一个不同的线程上执行到发起写入的线程的异步写入回调;WebSocket实现必须提供自己的线程池。
在web.xml中写入以下优化程序:
<!--websocket executor 线程池的核心容量大小 --><context-param><param-name>org.apache.tomcat.websocket.executorCoreSize</param-name><param-value>200</param-value></context-param><!--websocket executor 线程池的最大容量大小 --><context-param><param-name>org.apache.tomcat.websocket.executorMaxSize</param-name><param-value>1000</param-value></context-param>


3、3、优化最大线程数
在apache-tomcat-7.0.73\conf\server.xml中写入以下程序:
<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />
进行线程优化。

4、4、页面检测
页面检测 seesionStorage 中是否有 websocket 标志位,没的话实例化一个,然后打标记。

5、5、模块监听
websokcet 的相关模块监听storage 事件,分发处理相关消息,和后端交互。
如图:

6、6、实例链接
其他页面的 websocket 模块发现已经有页面实例化连接了,就直接向 storage 放数据,然后发送消息。
