[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [libmicrohttpd] Help : Any HTTP Performance Benchmark Comparison for
From: |
Evgeny Grin |
Subject: |
Re: [libmicrohttpd] Help : Any HTTP Performance Benchmark Comparison for Microhttpd with Go HTTP Servers |
Date: |
Thu, 29 Jun 2023 22:29:17 +0300 |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 |
Hi Forrest,
The tool for performance replies is shaping, I have alpha version and
made some test with suggested wrk.
Here are the initial results:
-----------------------------------------
$ wrk -c100 -d30s -t4 http://127.0.0.1:39683
Running 30s test @ http://127.0.0.1:39683
4 threads and 100 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 143.75us 57.42us 1.93ms 69.18%
Req/Sec 102.70k 2.45k 108.02k 70.92%
12262004 requests in 30.00s, 479.45MB read
Requests/sec: 408721.22
Transfer/sec: 15.98MB
$ wrk -c100 -d30s -t8 http://127.0.0.1:39683
Running 30s test @ http://127.0.0.1:39683
8 threads and 100 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 110.83us 251.91us 23.18ms 99.77%
Req/Sec 101.68k 15.28k 130.87k 65.28%
24297494 requests in 30.10s, 0.93GB read
Requests/sec: 807215.36
Transfer/sec: 31.56MB
$ wrk -c400 -d30s -t8 http://127.0.0.1:39683
Running 30s test @ http://127.0.0.1:39683
8 threads and 400 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 387.42us 159.03us 13.43ms 74.39%
Req/Sec 109.04k 13.31k 133.24k 59.58%
26036491 requests in 30.04s, 0.99GB read
Requests/sec: 866619.04
Transfer/sec: 33.89MB
$ wrk -c400 -d30s -t4 http://127.0.0.1:39683
Running 30s test @ http://127.0.0.1:39683
4 threads and 400 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 482.26us 266.28us 25.07ms 94.71%
Req/Sec 108.71k 4.57k 120.72k 80.42%
12979154 requests in 30.06s, 507.49MB read
Requests/sec: 431811.63
Transfer/sec: 16.88MB
$ wrk -c1000 -d30s -t4 http://127.0.0.1:39683
Running 30s test @ http://127.0.0.1:39683
4 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 1.17ms 475.29us 29.10ms 70.65%
Req/Sec 101.63k 8.46k 126.45k 81.94%
12121757 requests in 30.05s, 473.97MB read
Requests/sec: 403322.87
Transfer/sec: 15.77MB
$ wrk -c1000 -d30s -t8 http://127.0.0.1:39683
Running 30s test @ http://127.0.0.1:39683
8 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 1.20ms 368.89us 20.19ms 88.20%
Req/Sec 89.15k 8.66k 116.86k 71.04%
21283031 requests in 30.09s, 832.18MB read
Requests/sec: 707233.60
Transfer/sec: 27.65MB
-----------------------------------------
I'll let you know when tool is published.
--
Evgeny
On 26.06.2023 3:52, lingweicai via libmicrohttpd wrote:
Thanks for your reply and the information. I setup my environmement to
run the benchmark with "wrk -t 4 -c 1000 -d 10s" for go and microhttpd.
I configured libmicrohttp with epoll and tls. and run the benchmark with
src/example/benchmark, the results are :
[root@oe23 examples]# wrk -t 4 -c 1000 -d 10s http://localhost:80/
Running 10s test @ http://localhost:80/
4 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 9.11ms 12.81ms 240.35ms 94.05%
Req/Sec 19.52k 4.15k 31.42k 66.75%
779860 requests in 10.10s, 110.07MB read
Requests/sec: 77221.73
Transfer/sec: 10.90MB
I also install golang, and run hello test like ( HTTP Server Benchmark
(ssut.me) <https://tech.ssut.me/http-server-benchmark/> ), the results :
[root@oe23 ~]# wrk -t 4 -c 1000 -d 10s http://localhost:10000/
Running 10s test @ http://localhost:10000/
4 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 5.98ms 5.81ms 75.36ms 84.23%
Req/Sec 47.99k 16.21k 104.91k 73.35%
1907367 requests in 10.07s, 232.83MB read
Requests/sec: 189439.19
Transfer/sec: 23.12MB
The microhttp results are too slow. I looked the code of
src/microhttpd/test_client_put_stop.c, but I dont know how to build it
to a benchmark for a test with wrk.
any suggestions to build a "hello world" with Microhttp to compete with
go in "wrk" ? though the results of "ab" of microhttp is better than go
run "ab", as more benchmark is using "wrk", less mentioned in "ab", for
example, "ab" is not on the list Top 10 HTTP Benchmarking and Load
Testing Tools (thechief.io)
<https://thechief.io/c/editorial/top-10-http-benchmarking-and-load-testing-tools/>
Thanks,
Forrest
OpenPGP_0x460A317C3326D2AE.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature