Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

P99 latency decreased, but throughput decreased too for netpool #3

Open
siddontang opened this issue Jan 31, 2022 · 3 comments
Open
Labels
question Further information is requested

Comments

@siddontang
Copy link

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
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%
@siddontang
Copy link
Author

I commented out Mem usage because of #2

@siddontang
Copy link
Author

I use netpoll_bencher instead of origin net_bencher to do the benchmark again, now the result is promising:

benchmark mode=1
server net_reciever running with taskset -c 0-3
client netpoll_bencher running with taskset -c 4-19
Info: [net] start ..., concurrent: 100, total: 5000000
Info: took 21234 ms for 5000000 requests
Info: requests total: 5000000, failed: 0
Info: [net]: TPS: 235469.05, TP99: 2.28ms, TP999: 11.67ms (b=1024 Byte, c=100, n=5000000)
[NET@Server] CPU Usage: MIN: 310.00%, TP50: 322.65%, TP90: 329.33%, TP99: 331.99%, MAX: 334.00%, AVG:322.43%
[NET@Server] Mem Usage: AVG: 0 KB, MAX: 0 KB
[NET@Client] CPU Usage: MIN: 163.16%, TP50: 571.00%, TP90: 602.00%, TP99: 605.61%, MAX: 607.00%, AVG:541.38%
[NET@Client] Mem Usage: AVG: 0 KB, MAX: 0 KB


server netpoll_reciever running with taskset -c 0-3
client netpoll_bencher running with taskset -c 4-19
Info: [netpoll] start ..., concurrent: 100, total: 5000000
Info: took 20433 ms for 5000000 requests
Info: requests total: 5000000, failed: 0
Info: [netpoll]: TPS: 244693.71, TP99: 1.11ms, TP999: 2.34ms (b=1024 Byte, c=100, n=5000000)
[NETPOLL@Server] CPU Usage: MIN: 346.00%, TP50: 364.64%, TP90: 378.00%, TP99: 379.34%, MAX: 380.00%, AVG:365.06%
[NETPOLL@Server] Mem Usage: AVG: 0 KB, MAX: 0 KB
[NETPOLL@Client] CPU Usage: MIN: 158.00%, TP50: 617.00%, TP90: 633.00%, TP99: 638.00%, MAX: 639.64%, AVG:580.85%
[NETPOLL@Client] Mem Usage: AVG: 0 KB, MAX: 0 KB


server net_reciever running with taskset -c 0-3
client netpoll_bencher running with taskset -c 4-19
Info: [net] start ..., concurrent: 200, total: 5000000
Info: took 21101 ms for 5000000 requests
Info: requests total: 5000000, failed: 0
Info: [net]: TPS: 236952.38, TP99: 5.85ms, TP999: 14.56ms (b=1024 Byte, c=200, n=5000000)
[NET@Server] CPU Usage: MIN: 317.32%, TP50: 327.00%, TP90: 336.00%, TP99: 336.31%, MAX: 338.34%, AVG:326.91%
[NET@Server] Mem Usage: AVG: 0 KB, MAX: 0 KB
[NET@Client] CPU Usage: MIN: 158.16%, TP50: 559.00%, TP90: 592.00%, TP99: 598.60%, MAX: 601.00%, AVG:532.23%
[NET@Client] Mem Usage: AVG: 0 KB, MAX: 0 KB


server netpoll_reciever running with taskset -c 0-3
client netpoll_bencher running with taskset -c 4-19
Info: [netpoll] start ..., concurrent: 200, total: 5000000
Info: took 20020 ms for 5000000 requests
Info: requests total: 5000000, failed: 0
Info: [netpoll]: TPS: 249741.09, TP99: 2.15ms, TP999: 4.53ms (b=1024 Byte, c=200, n=5000000)
[NETPOLL@Server] CPU Usage: MIN: 356.07%, TP50: 373.00%, TP90: 381.57%, TP99: 382.83%, MAX: 386.00%, AVG:373.19%
[NETPOLL@Server] Mem Usage: AVG: 0 KB, MAX: 0 KB
[NETPOLL@Client] CPU Usage: MIN: 163.00%, TP50: 636.00%, TP90: 654.65%, TP99: 657.00%, MAX: 661.66%, AVG:591.41%
[NETPOLL@Client] Mem Usage: AVG: 0 KB, MAX: 0 KB

@Hchenn
Copy link
Contributor

Hchenn commented Feb 10, 2022

No idea for now, we'll follow up later. THANKS !

@Hchenn Hchenn added the question Further information is requested label Feb 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Development

No branches or pull requests

2 participants