HTTP benchmarking tool https://github.com/grafana/k6
Source image (5141x3434): https://raw.githubusercontent.com/mamchyts/benchmark-thumbnails/master/pexels-magda-ehlers.jpg
More info about testing [RU]: https://habr.com/ru/post/578282/
root@ubuntu-s-1vcpu-2gb-70gb-intel-sfo3-01:~# free -h
total used free shared buff/cache available
Mem: 1.9Gi 311Mi 1.4Gi 4.0Mi 320Mi 1.6Gi
Swap: 0B 0B 0B
root@ubuntu-s-1vcpu-2gb-70gb-intel-sfo3-01:~# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 40 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Vendor ID: GenuineIntel
BIOS Vendor ID: QEMU
Model name: DO-Premium-Intel
BIOS Model name: pc-i440fx-6.1 CPU @ 2.0GHz
BIOS CPU family: 1
CPU family: 6
Model: 85
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1
Stepping: 7
BogoMIPS: 3999.99
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush
mmx fxsr sse sse2 syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtop
ology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2
x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lah
f_lm abm 3dnowprefetch cpuid_fault ssbd ibrs ibpb ibrs_enhanced tpr_shadow flex
priority ept vpid ept_ad fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx s
map clflushopt clwb xsaveopt xsavec xgetbv1 arat vnmi pku ospke arch_capabiliti
es
Virtualization features:
Virtualization: VT-x
Hypervisor vendor: KVM
Virtualization type: full
Caches (sum of all):
L1d: 32 KiB (1 instance)
L1i: 32 KiB (1 instance)
L2: 4 MiB (1 instance)
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0
Vulnerabilities:
Gather data sampling: Unknown: Dependent on hypervisor status
Itlb multihit: KVM: Mitigation: VMX disabled
L1tf: Not affected
Mds: Not affected
Meltdown: Not affected
Mmio stale data: Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Reg file data sampling: Not affected
Retbleed: Mitigation; Enhanced IBRS
Spec rstack overflow: Not affected
Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Spectre v2: Mitigation; Enhanced / Automatic IBRS; IBPB conditional; RSB filling; PBRSB-eIB
RS SW sequence; BHI SW loop, KVM SW loop
Srbds: Not affected
Tsx async abort: Not affected
320x240 | 854x480 | 1280x720 | 1920x1080 | 3840x2160 | |
---|---|---|---|---|---|
imgproxy/imgproxy | 433.64ms | 379.25ms | 440.73ms | 567.97ms | 1060s |
thumbor/thumbor | 851.45ms | 931.91ms | 1030ms | 1030ms | 1710ms |
thumbor/thumbor (cache) | 6.99ms | 8.58ms | 9.43ms | 10.49ms | 38.05ms |
h2non/imaginary | 642.61ms | 672.92ms | 656.05ms | 842.92ms | 1210ms |
thoas/picfit | 2650ms | 2890ms | 2037ms | 2950ms | 2990ms |
thoas/picfit (cache) | 4.99ms | 5.98ms | 8.17ms | 12.46ms | 35.99ms |
willnorris/imageproxy | 2100ms | 2220ms | 2290ms | 2660ms | 5230ms |
willnorris/imageproxy (cache) | 5.11ms | 5.23ms | 5.6ms | 8.98ms | 30.45ms |
weserv/images | 434.07ms | 422.99ms | 750.17ms | 718.39ms | 1030ms |
weserv/images (cache) | 2.35ms | 5.15ms | 3.04ms | 8.05ms | 13.98ms |
flyimg/flyimg | 928.6ms | 2310ms | 2480ms | 3870ms | 7530ms |
flyimg/flyimg (cache) | 24.6ms | 21.23ms | 17.82ms | 21.18ms | 30.55ms |
aldor007/mort | 602.31ms | 695.02ms | 801.82ms | 1260ms | 1120ms |
aldor007/mort (cache) | 6.6ms | 4.91ms | 5.61ms | 6.99ms | 12.79ms |
cshum/imagor | 494.75ms | 711.92ms | 1240ms | 1500ms | 6490ms |
cshum/imagor (cache) | 3.24ms | 2.95ms | 6.09ms | 4.27ms | 9.47ms |
data_received........................: 757 MB 135 kB/s
data_sent............................: 783 kB 140 B/s
dropped_iterations...................: 937 0.167621/s
http_req_blocked.....................: avg=280.67µs min=0s med=8.83µs max=1.01s p(90)=11.43µs p(95)=18.45µs
http_req_connecting..................: avg=269.49µs min=0s med=0s max=1.01s p(90)=0s p(95)=0s
http_req_duration....................: avg=467.65ms min=0s med=15.22ms max=59.99s p(90)=1.23s p(95)=1.82s
{ expected_response:true }.........: avg=442.21ms min=1.1ms med=17.45ms max=10.34s p(90)=1.31s p(95)=1.85s
http_req_failed......................: 5.12% 202 out of 3941
http_req_receiving...................: avg=1.91ms min=0s med=993.64µs max=52.99ms p(90)=4.23ms p(95)=6.76ms
http_req_sending.....................: avg=30.1µs min=0s med=25.25µs max=471.34µs p(90)=38.5µs p(95)=49.92µs
http_req_tls_handshaking.............: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s
http_req_waiting.....................: avg=465.7ms min=0s med=11.3ms max=59.99s p(90)=1.23s p(95)=1.82s
http_reqs............................: 3941 0.705008/s
iteration_duration...................: avg=468.2ms min=1.28ms med=15.51ms max=1m0s p(90)=1.23s p(95)=1.82s
iterations...........................: 3941 0.705008/s
latency_flyimg_1280x720..............: avg=1.9s min=1.49s med=1.78s max=2.59s p(90)=2.42s p(95)=2.48s
latency_flyimg_1920x1080.............: avg=3.11s min=2.4s med=3.05s max=4.19s p(90)=3.78s p(95)=3.87s
latency_flyimg_320x240...............: avg=708.62ms min=539.12ms med=672.73ms max=1.28s p(90)=916.56ms p(95)=928.6ms
latency_flyimg_3840x2160.............: avg=6.28s min=4.94s med=6.26s max=7.66s p(90)=7.39s p(95)=7.53s
latency_flyimg_854x480...............: avg=1.43s min=987.78ms med=1.26s max=3.4s p(90)=1.72s p(95)=2.31s
latency_flyimg_cache_1280x720........: avg=41.4ms min=7.73ms med=11.56ms max=1.76s p(90)=16.43ms p(95)=17.82ms
latency_flyimg_cache_1920x1080.......: avg=57.38ms min=8.72ms med=11.05ms max=2.66s p(90)=17.81ms p(95)=21.18ms
latency_flyimg_cache_320x240.........: avg=27.49ms min=7.49ms med=11.47ms max=933.57ms p(90)=17.8ms p(95)=24.6ms
latency_flyimg_cache_3840x2160.......: avg=141.92ms min=11.08ms med=14.68ms max=6.9s p(90)=25.28ms p(95)=30.55ms
latency_flyimg_cache_854x480.........: avg=34.53ms min=7.98ms med=10.72ms max=1.36s p(90)=16.55ms p(95)=21.23ms
latency_imageproxy_1280x720..........: avg=1.76s min=1.4s med=1.65s max=2.37s p(90)=2.28s p(95)=2.29s
latency_imageproxy_1920x1080.........: avg=2s min=1.62s med=1.85s max=2.68s p(90)=2.59s p(95)=2.66s
latency_imageproxy_320x240...........: avg=1.69s min=1.22s med=1.7s max=2.67s p(90)=2.01s p(95)=2.1s
latency_imageproxy_3840x2160.........: avg=3.74s min=2.72s med=3.32s max=6.75s p(90)=4.51s p(95)=5.23s
latency_imageproxy_854x480...........: avg=1.65s min=1.35s med=1.51s max=2.29s p(90)=2.12s p(95)=2.22s
latency_imageproxy_cache_1280x720....: avg=28.17ms min=1.83ms med=2.99ms max=1.49s p(90)=5.28ms p(95)=5.6ms
latency_imageproxy_cache_1920x1080...: avg=33.13ms min=2.32ms med=4.81ms max=1.68s p(90)=7.47ms p(95)=8.98ms
latency_imageproxy_cache_320x240.....: avg=41.33ms min=1.39ms med=1.91ms max=2.31s p(90)=3.02ms p(95)=5.11ms
latency_imageproxy_cache_3840x2160...: avg=84.29ms min=2.82ms med=14.25ms max=3.9s p(90)=23.53ms p(95)=30.45ms
latency_imageproxy_cache_854x480.....: avg=35.67ms min=1.55ms med=2.33ms max=1.98s p(90)=3.71ms p(95)=5.23ms
latency_imaginary_1280x720...........: avg=596.02ms min=371.11ms med=487.96ms max=5.64s p(90)=631.61ms p(95)=656.05ms
latency_imaginary_1920x1080..........: avg=492.86ms min=336.58ms med=434.32ms max=1.2s p(90)=682.08ms p(95)=842.92ms
latency_imaginary_320x240............: avg=511.22ms min=249.6ms med=371.09ms max=3.56s p(90)=528.62ms p(95)=642.61ms
latency_imaginary_3840x2160..........: avg=911.51ms min=683.43ms med=858.74ms max=1.55s p(90)=1.12s p(95)=1.21s
latency_imaginary_854x480............: avg=592.86ms min=436.58ms med=534.32ms max=1.5s p(90)=582.08ms p(95)=672.92ms
latency_imagor_1280x720..............: avg=645.28ms min=427.21ms med=611.82ms max=1.55s p(90)=796.22ms p(95)=1.24s
latency_imagor_1920x1080.............: avg=1.14s min=869.83ms med=1.09s max=1.64s p(90)=1.44s p(95)=1.5s
latency_imagor_320x240...............: avg=383.19ms min=277.33ms med=375.41ms max=596.29ms p(90)=483.09ms p(95)=494.75ms
latency_imagor_3840x2160.............: avg=2.75s min=1.56s med=1.98s max=10.34s p(90)=4.87s p(95)=6.49s
latency_imagor_854x480...............: avg=537.06ms min=420.57ms med=503.58ms max=792.97ms p(90)=668.36ms p(95)=711.92ms
latency_imagor_cache_1280x720........: avg=12.19ms min=1.88ms med=2.77ms max=561.72ms p(90)=4.2ms p(95)=6.09ms
latency_imagor_cache_1920x1080.......: avg=21.27ms min=1.98ms med=2.92ms max=1.09s p(90)=4.13ms p(95)=4.27ms
latency_imagor_cache_320x240.........: avg=12.17ms min=1.3ms med=1.67ms max=629.34ms p(90)=2.64ms p(95)=3.24ms
latency_imagor_cache_3840x2160.......: avg=43.59ms min=2.76ms med=4.88ms max=2.26s p(90)=7.16ms p(95)=9.47ms
latency_imagor_cache_854x480.........: avg=12.81ms min=1.47ms med=2.13ms max=650.72ms p(90)=2.81ms p(95)=2.95ms
latency_imgproxy_1280x720............: avg=311.52ms min=238.9ms med=299.38ms max=494.35ms p(90)=418.54ms p(95)=440.73ms
latency_imgproxy_1920x1080...........: avg=394.47ms min=291.43ms med=372.14ms max=635.08ms p(90)=508.66ms p(95)=567.97ms
latency_imgproxy_320x240.............: avg=303.91ms min=219.27ms med=293.39ms max=741.17ms p(90)=395.62ms p(95)=433.64ms
latency_imgproxy_3840x2160...........: avg=689.1ms min=468.26ms med=645.15ms max=1.47s p(90)=871.29ms p(95)=1.06s
latency_imgproxy_854x480.............: avg=303.08ms min=233.17ms med=303.93ms max=414.23ms p(90)=366.42ms p(95)=379.25ms
latency_mort_1280x720................: avg=517.95ms min=388.49ms med=492.15ms max=726.06ms p(90)=654.83ms p(95)=695.02ms
latency_mort_1920x1080...............: avg=570.69ms min=384.94ms med=506.27ms max=1.49s p(90)=731.79ms p(95)=1.26s
latency_mort_320x240.................: avg=686.75ms min=248.88ms med=313.42ms max=17.26s p(90)=479.42ms p(95)=602.31ms
latency_mort_3840x2160...............: avg=872.26ms min=732.7ms med=816.89ms max=1.28s p(90)=1.07s p(95)=1.12s
latency_mort_854x480.................: avg=432.21ms min=290.56ms med=376.72ms max=1.1s p(90)=670.4ms p(95)=801.82ms
latency_mort_cache_1280x720..........: avg=13.72ms min=1.96ms med=2.63ms max=656.33ms p(90)=4.38ms p(95)=5.61ms
latency_mort_cache_1920x1080.........: avg=10.53ms min=1.85ms med=3.12ms max=422.15ms p(90)=5.54ms p(95)=6.99ms
latency_mort_cache_320x240...........: avg=11.31ms min=1.51ms med=2.07ms max=534.68ms p(90)=3.99ms p(95)=6.6ms
latency_mort_cache_3840x2160.........: avg=26.46ms min=2.81ms med=4.62ms max=1.26s p(90)=9.4ms p(95)=12.79ms
latency_mort_cache_854x480...........: avg=9.2ms min=1.67ms med=2.49ms max=385.83ms p(90)=4.66ms p(95)=4.91ms
latency_picfit_1280x720..............: avg=1.82s min=1.4s med=1.76s max=2.78s p(90)=2.19s p(95)=2.37s
latency_picfit_1920x1080.............: avg=2.08s min=1.57s med=1.99s max=3.03s p(90)=2.57s p(95)=2.95s
latency_picfit_320x240...............: avg=1.89s min=1.37s med=1.79s max=3.33s p(90)=2.51s p(95)=2.65s
latency_picfit_3840x2160.............: avg=2.64s min=2.23s med=2.59s max=3.4s p(90)=2.91s p(95)=2.99s
latency_picfit_854x480...............: avg=1.94s min=1.28s med=1.62s max=5.53s p(90)=2.59s p(95)=2.89s
latency_picfit_cache_1280x720........: avg=29.09ms min=2.43ms med=3.93ms max=1.48s p(90)=7.33ms p(95)=8.17ms
latency_picfit_cache_1920x1080.......: avg=33.91ms min=3.06ms med=5.55ms max=1.67s p(90)=10.18ms p(95)=12.46ms
latency_picfit_cache_320x240.........: avg=38.29ms min=1.61ms med=2.21ms max=2.1s p(90)=3.69ms p(95)=4.99ms
latency_picfit_cache_3840x2160.......: avg=65.31ms min=9.35ms med=14.63ms max=2.89s p(90)=26.37ms p(95)=35.99ms
latency_picfit_cache_854x480.........: avg=26.56ms min=1.96ms med=3.1ms max=1.37s p(90)=5.15ms p(95)=5.98ms
latency_thumbor_1280x720.............: avg=778.72ms min=575.09ms med=697.27ms max=1.9s p(90)=939.98ms p(95)=1.03s
latency_thumbor_1920x1080............: avg=819.31ms min=620.51ms med=818.75ms max=1.19s p(90)=996.98ms p(95)=1.03s
latency_thumbor_320x240..............: avg=675.79ms min=530.89ms med=659.86ms max=1.01s p(90)=820.95ms p(95)=851.45ms
latency_thumbor_3840x2160............: avg=1.12s min=869.68ms med=1.01s max=1.89s p(90)=1.5s p(95)=1.71s
latency_thumbor_854x480..............: avg=704.26ms min=526.17ms med=698.05ms max=1.06s p(90)=872.37ms p(95)=931.91ms
latency_thumbor_cache_1280x720.......: avg=20.37ms min=3.37ms med=4.83ms max=917.75ms p(90)=8.95ms p(95)=9.43ms
latency_thumbor_cache_1920x1080......: avg=22.36ms min=3.83ms med=5.43ms max=1s p(90)=7.38ms p(95)=10.49ms
latency_thumbor_cache_320x240........: avg=16.74ms min=2.61ms med=3.37ms max=779.24ms p(90)=4.8ms p(95)=6.99ms
latency_thumbor_cache_3840x2160......: avg=28.86ms min=15.36ms med=20.57ms max=263.52ms p(90)=32.79ms p(95)=38.05ms
latency_thumbor_cache_854x480........: avg=22.47ms min=2.84ms med=4.05ms max=1.07s p(90)=7.5ms p(95)=8.58ms
latency_weserv_1280x720..............: avg=358.84ms min=1.28ms med=373.44ms max=993.4ms p(90)=554.13ms p(95)=750.17ms
latency_weserv_1920x1080.............: avg=421.06ms min=1.12ms med=497.85ms max=1.05s p(90)=663.78ms p(95)=718.39ms
latency_weserv_320x240...............: avg=255.8ms min=1.14ms med=278.23ms max=572.13ms p(90)=389.21ms p(95)=434.07ms
latency_weserv_3840x2160.............: avg=617.65ms min=1.08ms med=768.62ms max=1.21s p(90)=993.02ms p(95)=1.03s
latency_weserv_854x480...............: avg=246.91ms min=1.19ms med=309.28ms max=443.16ms p(90)=409.34ms p(95)=422.99ms
latency_weserv_cache_1280x720........: avg=9.09ms min=1.14ms med=1.51ms max=447.51ms p(90)=2.52ms p(95)=3.04ms
latency_weserv_cache_1920x1080.......: avg=23.05ms min=1.73ms med=2.75ms max=673.95ms p(90)=6.39ms p(95)=8.05ms
latency_weserv_cache_320x240.........: avg=13.42ms min=1.1ms med=1.41ms max=380.59ms p(90)=1.83ms p(95)=2.35ms
latency_weserv_cache_3840x2160.......: avg=39.84ms min=2.34ms med=3.77ms max=1.13s p(90)=11.01ms p(95)=13.98ms
latency_weserv_cache_854x480.........: avg=14.83ms min=1.26ms med=2.04ms max=389.41ms p(90)=3.31ms p(95)=5.15ms
vus..................................: 0 min=0 max=1
vus_max..............................: 1 min=1 max=1
docker run --rm --env HOST=http://10.124.0.2 -i grafana/k6 run - <run/k6.js
$ make help
git.checkout-pull Git checkout to master and pull
up Run project
down Shutdown project
build Build docker images
update Update project
test-localhost Run testing on localhost