Closed tinganho closed 3 years ago
Not as yet, no. It's definitely not engineered for speed, but I'd be happy to move it in that direction if that would be useful for others.
From Csaba Csoma: " To get a feel for how it works I ran a "siege" on Ubuntu 14.04: siege -b -c 100 -r 90 --log=/dev/null http://127.0.0.1:9090/
I got around 1k transactions/sec, about 10% of what I expected (+ some errors too). Is this normal, or I did something wrong and I should dig more?
The server is now under siege... [error] socket: read error Connection reset by peer sock.c:479: Connection reset by peer done.
Transactions: 8999 hits Availability: 99.99 % Elapsed time: 7.51 secs Data transferred: 2.98 MB Response time: 0.03 secs Transaction rate: 1198.27 trans/sec Throughput: 0.40 MB/sec Concurrency: 32.44 Successful transactions: 8999 Failed transactions: 1 Longest transaction: 4.22 Shortest transaction: 0.00
This is what kore reported (11.6k/sec) on the same laptop:
Transactions: 9000 hits Availability: 100.00 % Elapsed time: 0.77 secs Data transferred: 1.98 MB Response time: 0.01 secs Transaction rate: 11688.31 trans/sec Throughput: 2.57 MB/sec Concurrency: 94.27 Successful transactions: 9000 Failed transactions: 0 Longest transaction: 0.02 Shortest transaction: 0.00 "
A bit more details on the tests: https://github.com/csoma/Cpp-SpeedTest
Not that I put much stock in these artificial benchmarks, but it might be interesting to port seasocks to this benchmark:
https://github.com/uWebSockets/uWebSockets/tree/master/benchmarks
I'm going to close this: again Seasocks isn't really about performance, more just general handiness in particular situations. Thanks all.
Do you have any benchmark on how this lib performs?