benchmark

This commit is contained in:
Zsolt Ero
2024-02-23 14:54:47 +01:00
parent 2e3618be5f
commit edb076a71a
2 changed files with 51 additions and 5 deletions

View File

@@ -1,7 +1,13 @@
### wrk localhost # wrk benchmarks
Real world usage, 500k requests replayed from server log. Real world usage, 500k requests replayed from server log.
### Hetnzer dedicated server with NVME ssd
#### localhost
clean cache after nginx restart. clean cache after nginx restart.
``` ```
@@ -20,11 +26,11 @@ Transfer/sec: 3.84GB
Super much overkill, we'd only need 125 MB/s for Gigabit connection and this is 3840 MB/s. Super much overkill, we'd only need 125 MB/s for Gigabit connection and this is 3840 MB/s.
Also max request time is super nice + no errors. Also max request time is super nice + no errors.
### wrk over network #### over network
``` ```
wrk -c10 -t4 -d60s -s /data/ofm/benchmark/wrk_custom_list.lua http://x.x.x.x wrk -c10 -t4 -d60s -s /data/ofm/benchmark/wrk_custom_list.lua http://x.x.x.x
Running 1m test @ http://144.76.168.195 Running 1m te st @ http://144.76.168.195
4 threads and 10 connections 4 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev Thread Stats Avg Stdev Max +/- Stdev
Latency 7.57ms 6.61ms 45.34ms 84.32% Latency 7.57ms 6.61ms 45.34ms 84.32%
@@ -35,3 +41,40 @@ Transfer/sec: 103.01MB
``` ```
Realistically this is the max over Gigabit connection. Realistically this is the max over Gigabit connection.
---
### BuyVM KVM machine with 1 TB BuyVM Block Storage Slab
Advertisement: 40Gbit+ InfiniBand RDMA Storage Fabric giving near local storage performance.
Reality:
```
wrk -c10 -t4 -d60s -s /data/ofm/benchmark/wrk_custom_list.lua http://localhost
Running 1m test @ http://localhost
4 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 226.10ms 343.52ms 1.99s 87.75%
Req/Sec 29.77 38.06 272.00 89.72%
3655 requests in 1.00m, 232.76MB read
Socket errors: connect 0, read 0, write 0, timeout 8
Requests/sec: 60.87
Transfer/sec: 3.88MB
```
Wow, this is 60 request per second compared to Hetzner's 47000, just wow! Repeated tests with hot cache resulted in a bit better performance, but still not Gigabit.
```
Requests/sec: 266.99
Transfer/sec: 23.07MB
```
Abandoned the idea of using BuyVM, even though their unlimited bandwidth is quite unique in this price range in USA.

View File

@@ -133,6 +133,9 @@ def upload_certificates(c):
def install_benchmark(c): def install_benchmark(c):
"""
Read docs/quick_notes/http_benchmark.md
"""
c1000k(c) c1000k(c)
wrk(c) wrk(c)
@@ -215,7 +218,7 @@ def tile_gen(hostname, user, port):
@common_options @common_options
def debug(hostname, user, port): def debug(hostname, user, port):
c = get_connection(hostname, user, port) c = get_connection(hostname, user, port)
c.run('pwd') install_benchmark(c)
# upload_https_host_files(c) # upload_https_host_files(c)
# run_http_host_sync(c) # run_http_host_sync(c)