# wrk benchmarks Real world usage, 500k requests replayed from server log. ### Hetnzer dedicated server with NVME ssd #### localhost clean cache after nginx restart. ``` service nginx restart 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 2.02ms 7.04ms 50.43ms 93.23% Req/Sec 8.42k 2.01k 18.52k 69.79% 2871265 requests in 1.00m, 230.65GB read Requests/sec: 47811.00 Transfer/sec: 3.84GB ``` 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. #### over network ``` wrk -c10 -t4 -d60s -s /data/ofm/benchmark/wrk_custom_list.lua http://x.x.x.x Running 1m te st @ http://144.76.168.195 4 threads and 10 connections Thread Stats Avg Stdev Max +/- Stdev Latency 7.57ms 6.61ms 45.34ms 84.32% Req/Sec 293.85 141.33 1.18k 73.07% 71628 requests in 1.00m, 6.05GB read Requests/sec: 1191.88 Transfer/sec: 103.01MB ``` 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.