赞
踩
之前两篇内容介绍了一下 WebSocket 和 SocketIO 的基础内容。之后用 Netty-SocketIO 开发了一个简单的服务端,支持服务端主动向客户端发送消息,同时也支持客户端请求,服务端响应方式。本文主要想了解一下服务端的性能怎么样,选择使用 JMeter 对 WebSocket 应用进行性能测试。
JMeter 是目前最为流行的开源性能测试工具,JMeter 本身提供的基于插件的机制允许第三方实现标准 JMeter 所不支持的协议,而 WebSocket 的一个比较好的实现是 WebSocketSampler 。利用此插件,能完成基于 WebSocket 协议的基本性能测试。
很简单,用下面的代码替换
Queue<String> responeBacklog = new ConcurrentLinkedQueue<String>();
ServiceSocket.java 中的
protected Deque<String> responeBacklog = new LinkedList<String>();
一行即可。
java.util.LinkedList\$ListItr.checkForComodification(LinkedList.java:953)异常解决方案参考地址:
WebSocket plugin for Jmeter - Stack Overflow
Concurrent Modification · Issue #21 · fshutdown/JMeter-WebSocketSampler · GitHub
jetty-http-9.1.1.v20140108.jar
jetty-io-9.1.1.v20140108.jar
jetty-util-9.1.1.v20140108.jar
websocket-api-9.1.1.v20140108.jar
websocket-client-9.1.1.v20140108.jar
websocket-common-9.1.1.v20140108.jar
注意版本号要写插件项目里的版本一致,我在最开始使用上面的 jar 包时用的最新版本,报错。
如果没有上面的6个 jar 包,在进行测试的时候同样也会报错。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。