-
Notifications
You must be signed in to change notification settings - Fork 146
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
Cache /api/-/search
results
#542
base: master
Are you sure you want to change the base?
Conversation
@amvanbaren could you please share what you used to get this benchmark so I could try to reproduce? 🙏 |
@filiptronicek I've updated the PR with testing steps. |
Made a script for downloading a lot of extensions: https://gist.github.com/filiptronicek/fdfc009371401b9d63716759a90887f4 (should be easily tweak-able for changing download amount as well as output directory). |
@amvanbaren is there a separate issue to go along with this PR? Priority? |
Issue #379 comes close. I've added a priority. |
11d525a
to
dc4d7e8
Compare
dc4d7e8
to
45f9cca
Compare
I've tested this on staging. It looks like the load balancer is doing the heavy lifting, because the results are more or less the same. It can still be useful for #670 though. == CURRENT ===================================================================== ---- Global Information -------------------------------------------------------- > request count 5000 (OK=4244 KO=756 ) > min response time 141 (OK=141 KO=144 ) > max response time 1507 (OK=1507 KO=502 ) > mean response time 175 (OK=178 KO=161 ) > std deviation 97 (OK=104 KO=37 ) > response time 50th percentile 150 (OK=150 KO=155 ) > response time 75th percentile 157 (OK=156 KO=162 ) > response time 95th percentile 305 (OK=312 KO=176 ) > response time 99th percentile 627 (OK=734 KO=459 ) > mean requests/sec 27.933 (OK=23.709 KO=4.223 ) ---- Response Time Distribution ------------------------------------------------ > t < 800 ms 4221 ( 84%) > 800 ms < t < 1200 ms 22 ( 0%) > t > 1200 ms 1 ( 0%) > failed 756 ( 15%) ---- Errors -------------------------------------------------------------------- > status.find.in(200,201,202,203,204,205,206,207,208,209,304), f 581 (76,85%) ound 400 > status.find.in(200,201,202,203,204,205,206,207,208,209,304), f 175 (23,15%) ound 429 ================================================================================ == SEARCH CACHE ================================================================ ---- Global Information -------------------------------------------------------- > request count 5000 (OK=4244 KO=756 ) > min response time 142 (OK=142 KO=144 ) > max response time 1962 (OK=1962 KO=611 ) > mean response time 184 (OK=188 KO=158 ) > std deviation 128 (OK=138 KO=35 ) > response time 50th percentile 150 (OK=149 KO=152 ) > response time 75th percentile 156 (OK=155 KO=159 ) > response time 95th percentile 448 (OK=456 KO=172 ) > response time 99th percentile 761 (OK=870 KO=308 ) > mean requests/sec 26.738 (OK=22.695 KO=4.043 ) ---- Response Time Distribution ------------------------------------------------ > t < 800 ms 4197 ( 84%) > 800 ms < t < 1200 ms 37 ( 1%) > t > 1200 ms 10 ( 0%) > failed 756 ( 15%) ---- Errors -------------------------------------------------------------------- > status.find.in(200,201,202,203,204,205,206,207,208,209,304), f 568 (75,13%) ound 400 > status.find.in(200,201,202,203,204,205,206,207,208,209,304), f 188 (24,87%) ound 429 ================================================================================ |
Testing steps
extensionDir
insrc/gatling/resources/application.properties
super_token
toaccess-tokens.csv
./gradlew runServer
src/gatling/scripts/fill-database.sh
./gradlew --rerun-tasks gatlingRun-org.eclipse.openvsx.RegistryAPISearchSimulation
./gradlew --rerun-tasks gatlingRun-org.eclipse.openvsx.RegistryAPISearchSimulation
Performance Comparison