3 ms·
Is 100K mps on 8 cores considered high for node/websockets microbenchmarking of the socket path? That doesn't seem like much from past experience writing high-
by teacup50 12y ago
Is 100K mps on 8 cores considered high for node/websockets microbenchmarking of the socket path?
That doesn't seem like much from past experience writing high-throughput messaging code, and all this is doing is spitting out length-framed messages to a socket.
- limsup 12y agoCan you give some numbers of your past experience?
- brianwawok 12y agoNot OP, but a solar flare can shoot 20 million packets per second.. http://www.solarflare.com/09-11-12-Solarflares-Industry-Leading-Highest-Performance-Adapter-Now-Available-in-Dell-Mezzanine-Form-Factor http://www.solarflare.com/09-11-12-Solarflares-Industry-Lead... You need to totally bypass the linux kernel to do this, and have high perf C or Java code...
- chmod775 12y agoThat's raw network (TCP/UDP) packets, not WebSocket frames/messages. Plus that product is a solution to a hardware problem, not a software problem. It doesn't relate at all.
- pktgen 12y agoJust for anyone else who sees that and thinks "WTF": it's 20M PPS across two ports. (14,880,952 is the max for 10GbE.)
- bilbo0s 12y agoIt's not high at all. I have never worked with node though... so maybe it's ... sort of ... "fast for node". Not fast in absolute terms.
- Pacabel 12y agoThat's what I was thinking, too. That's merely around 13,000 messages per second per core. Rates like that weren't all that impressive on low end server hardware a decade ago, so I'd hope that it's even less impressive today when using more modern hardware (or even VMs).
- bhauer 12y agoWe do not (yet) measure the performance of Websocket in our project (the TechEmpower framework benchmarks), but our "Plaintext" test is a rough analogue to a ping-pong test on Websocket. Our Plaintext test uses HTTP pipelining on a keep-alive connection. However, in our case, each request is sending a couple hundred bytes of HTTP request headers and receiving about the same in response HTTP headers prior to a "Hello world" payload. We see approximately 600,000 of these HTTP "messages" per second on a i7-2600K 8 HT core workstation [1] from top performers such as Netty and Undertow and these top performers are network limited by our gigabit Ethernet. We are using Undertow for a Websocket project presently and its performance there has been very good. [1] http://www.techempower.com/benchmarks/#section=data-r9&hw=i7&test=plaintext http://www.techempower.com/benchmarks/#section=data-r9&hw=i7...
- zoomerang 12y agoI'd be expecting more in the realm of millions of messages per second, at least from a Java solution.