Closed as not planned
Description
Shlink version
4.1.0
PHP version
8.2
How do you serve Shlink
Self-hosted RoadRunner
Database engine
MicrosoftSQL
Database version
2022
Current behavior
``We did performance tests without and with this param turned to true.
/\ |‾‾| /‾‾/ /‾‾/
/\ / \ | |/ / / /
/ \/ \ | ( / ‾‾\
/ \ | |\ \ | (‾) |
/ __________ \ |__| \__\ \_____/ .io
execution: local
script: script.js
output: -
scenarios: (100.00%) 1 scenario, 10 max VUs, 40s max duration (incl. graceful stop):
* default: 10 looping VUs for 10s (gracefulStop: 30s)
data_received..................: 341 kB 34 kB/s
data_sent......................: 265 kB 26 kB/s
http_req_blocked...............: avg=16.33µs min=2µs med=5µs max=911µs p(90)=7µs p(95)=10µs
http_req_connecting............: avg=7.75µs min=0s med=0s max=572µs p(90)=0s p(95)=0s
http_req_duration..............: avg=159.74ms min=96.56ms med=149.79ms max=528.73ms p(90)=191.99ms p(95)=210.66ms
{ expected_response:true }...: avg=159.74ms min=96.56ms med=149.79ms max=528.73ms p(90)=191.99ms p(95)=210.66ms
http_req_failed................: 0.00% ✓ 0 ✗ 630
http_req_receiving.............: avg=90.68µs min=31µs med=80µs max=751µs p(90)=128.1µs p(95)=168.74µs
http_req_sending...............: avg=40.05µs min=13µs med=37µs max=381µs p(90)=52µs p(95)=62.54µs
http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s
http_req_waiting...............: avg=159.61ms min=96.46ms med=149.7ms max=528.6ms p(90)=191.85ms p(95)=210.53ms
http_reqs......................: 630 62.13345/s
iteration_duration.............: avg=160ms min=96.78ms med=150.01ms max=529.87ms p(90)=192.15ms p(95)=210.85ms
iterations.....................: 630 62.13345/s
vus............................: 10 min=10 max=10
vus_max........................: 10 min=10 max=10
So 62 per second. At times reaching 80, so solid!
When we set it to true...
/\ |‾‾| /‾‾/ /‾‾/
/\ / \ | |/ / / /
/ \/ \ | ( / ‾‾\
/ \ | |\ \ | (‾) |
/ __________ \ |__| \__\ \_____/ .io
execution: local
script: script.js
output: -
scenarios: (100.00%) 1 scenario, 10 max VUs, 40s max duration (incl. graceful stop):
* default: 10 looping VUs for 10s (gracefulStop: 30s)
data_received..................: 13 kB 928 B/s
data_sent......................: 10 kB 718 B/s
http_req_blocked...............: avg=327.7µs min=3µs med=9µs max=810µs p(90)=794.1µs p(95)=805.2µs
http_req_connecting............: avg=194.95µs min=0s med=0s max=522µs p(90)=490.8µs p(95)=497.1µs
http_req_duration..............: avg=5.78s min=4.29s med=5.74s max=7.33s p(90)=7.1s p(95)=7.13s
{ expected_response:true }...: avg=5.78s min=4.29s med=5.74s max=7.33s p(90)=7.1s p(95)=7.13s
http_req_failed................: 0.00% ✓ 0 ✗ 24
http_req_receiving.............: avg=147.45µs min=53µs med=121.5µs max=381µs p(90)=231.4µs p(95)=294.49µs
http_req_sending...............: avg=45.7µs min=18µs med=44µs max=86µs p(90)=65µs p(95)=68.4µs
http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s
http_req_waiting...............: avg=5.78s min=4.29s med=5.74s max=7.33s p(90)=7.1s p(95)=7.13s
http_reqs......................: 24 1.714676/s
iteration_duration.............: avg=5.78s min=4.29s med=5.74s max=7.33s p(90)=7.09s p(95)=7.13s
iterations.....................: 24 1.714676/s
vus............................: 10 min=10 max=10
vus_max........................: 10 min=10 max=10
Expected behavior
The expecation is that the param only marginally influences the performance. Now, it's terrible.
Minimum steps to reproduce
- Run shlink with a MS SQL database in the back
- fill it with 1M unique long urls.
- Run a performance test with the flag turned on.