cloudwego / cloudwego/netpoll-benchmark

P99 latency decreased, but throughput decreased too for netpool

Open
#3 3 comments 0 reactions 0 assignees View on GitHub
question
Dominant language
Go
Stars
45
Forks
11
PR merge metrics
No merged PRs in 30d

Description

Run benchmark_server with 100 and 200 concurrents for net and netpool.

As we can see, the P99 and P999 latencies for netpool are very promising, but the throughput decreased too compared to net, any idea?

```
Linux: 3.10.0-1160.45.1.el7.x86_64
go version go1.17.6 linux/amd64
CPU: 48c Intel(R) Xeon(R) Silver 4214R CPU @ 2.40GHz
```

```bash
benchmark mode=1
server net_reciever running with taskset -c 0-3
client net_bencher running with taskset -c 4-19
Info: [net] start ..., concurrent: 100, total: 5000000
Info: took 20595 ms for 5000000 requests
Info: requests total: 5000000, failed: 0
Info: [net]: TPS: 242775.61, TP99: 2.12ms, TP999: 11.51ms (b=1024 Byte, c=100, n=5000000)
[NET@Server] CPU Usage: MIN: 302.00%, TP50: 319.32%, TP90: 331.00%, TP99: 331.33%, MAX: 331.33%, AVG:321.03%
[NET@Client] CPU Usage: MIN: 168.54%, TP50: 768.77%, TP90: 795.00%, TP99: 801.00%, MAX: 806.81%, AVG:733.64%

server netpoll_reciever running with taskset -c 0-3
client net_bencher running with taskset -c 4-19
Info: [netpoll] start ..., concurrent: 100, total: 5000000
Info: took 20709 ms for 5000000 requests
Info: requests total: 5000000, failed: 0
Info: [netpoll]: TPS: 241429.79, TP99: 1.13ms, TP999: 2.63ms (b=1024 Byte, c=100, n=5000000)
[NETPOLL@Server] CPU Usage: MIN: 322.32%, TP50: 346.35%, TP90: 358.00%, TP99: 360.64%, MAX: 363.36%, AVG:346.11%
[NETPOLL@Client] CPU Usage: MIN: 184.18%, TP50: 777.00%, TP90: 797.80%, TP99: 811.81%, MAX: 818.00%, AVG:742.23%

server net_reciever running with taskset -c 0-3
client net_bencher running with taskset -c 4-19
Info: [net] start ..., concurrent: 200, total: 5000000
Info: took 20549 ms for 5000000 requests
Info: requests total: 5000000, failed: 0
Info: [net]: TPS: 243317.69, TP99: 4.89ms, TP999: 15.00ms (b=1024 Byte, c=200, n=5000000)
[NET@Server] CPU Usage: MIN: 312.31%, TP50: 324.32%, TP90: 335.34%, TP99: 337.34%, MAX: 337.65%, AVG:325.91%
[NET@Client] CPU Usage: MIN: 170.17%, TP50: 786.00%, TP90: 805.00%, TP99: 808.00%, MAX: 814.00%, AVG:742.77%

server netpoll_reciever running with taskset -c 0-3
client net_bencher running with taskset -c 4-19
Info: [netpoll] start ..., concurrent: 200, total: 5000000
Info: took 20328 ms for 5000000 requests
Info: requests total: 5000000, failed: 0
Info: [netpoll]: TPS: 245962.76, TP99: 2.16ms, TP999: 4.82ms (b=1024 Byte, c=200, n=5000000)
[NETPOLL@Server] CPU Usage: MIN: 319.44%, TP50: 354.48%, TP90: 373.00%, TP99: 373.99%, MAX: 376.62%, AVG:353.83%
[NETPOLL@Client] CPU Usage: MIN: 172.00%, TP50: 797.80%, TP90: 839.00%, TP99: 855.00%, MAX: 855.86%, AVG:750.29%
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.