You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using loadtest to test the performance of my websocket server on an embedded device (which is why the #s are so low)
I have a script that tests at different levels of concurrent users, from 1 to 20. Everything works great from 1 to 7, but as soon as I test with a concurrency of 8 the program doesn't exit. It seems this is true for any concurrency # above 7. I am setting --cores to 1 since I want to control exactly how many connections I have to the device.
If I remove the --cores 1 option, then it works fine, although then I have to do some math to get the exact # of connections.
The weird thing is that the script completes and prints statistics, but then it simply doesn't exit as if its waiting for something else to complete.
Also, every time it starts up, it lists a bunch of potential memory leak errors which you can see below:
loadtest -c 8 --cores 1 -t 10 ws://192.168.2.131/ws
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 message listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 message listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 message listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 message listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 message listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 message listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
(node:34199) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 message listeners added to [WebSocketConnection]. Use emitter.setMaxListeners() to increase limit
Requests: 521, requests per second: 104, mean latency: 64.8 ms
Target URL: ws://192.168.2.131/ws
Max time (s): 10
Concurrent clients: 8
Agent: none
Completed requests: 1066
Total errors: 0
Total time: 10.006 s
Mean latency: 64.2 ms
Effective rps: 107
Percentage of requests served within a certain time
50% 57 ms
90% 103 ms
95% 114 ms
99% 132 ms
100% 146 ms (longest request)
Hi again! After some investigation, there is a definite memory leak for websockets. Support was added by another developer but the package has evolved a lot and I'm afraid it is not up to par at the moment. I don't have the knowledge or the time to fix it; if you want to work on it you are most definitely welcome!
I'm using loadtest to test the performance of my websocket server on an embedded device (which is why the #s are so low)
I have a script that tests at different levels of concurrent users, from 1 to 20. Everything works great from 1 to 7, but as soon as I test with a concurrency of 8 the program doesn't exit. It seems this is true for any concurrency # above 7. I am setting --cores to 1 since I want to control exactly how many connections I have to the device.
If I remove the --cores 1 option, then it works fine, although then I have to do some math to get the exact # of connections.
The weird thing is that the script completes and prints statistics, but then it simply doesn't exit as if its waiting for something else to complete.
Also, every time it starts up, it lists a bunch of potential memory leak errors which you can see below:
I am running on Mac with this software installed:
The text was updated successfully, but these errors were encountered: