Update Testing Guide

Kevin Morris 2021-10-24 06:49:47 +00:00
parent eadd166b0a
commit b0ce121c4f

@ -390,9 +390,9 @@ stay up to date with it:
| https://localhost:8444/tu/{id} | #158 | Trusted User Proposal | Trusted User | | https://localhost:8444/tu/{id} | #158 | Trusted User Proposal | Trusted User |
| https://localhost:8444/addvote | #159 | Trusted User Proposal Create | Trusted User | | https://localhost:8444/addvote | #159 | Trusted User Proposal Create | Trusted User |
**Status Legend:**<br> Each item has its own issue, linked in the **Status** column. Feedback can be provided in the form of comments to these issues, or through their own issue using the Feedback template.
- Incomplete: Needs testing.
- Complete: All done. In any case, take a look at the Feedback template and use the same template for comments you may include on one of the `[User Testing]` issues.
#### Development Branches #### Development Branches
@ -452,11 +452,18 @@ One of our sub-goals of this port is to increase performance and efficiency
overall across the service. Lower benchmark times indicate that code is overall across the service. Lower benchmark times indicate that code is
performing better overall. performing better overall.
When performing benchmark comparisons between PHP and FastAPI, users should opt
into defining `FASTAPI_BACKEND=gunicorn FASTAPI_WORKERS=5` as they `docker-compose up -d nginx`. Our `php-fpm` service uses `5` workers by default, and so using `gunicorn` with `5` workers does the best we can to match core usage with PHP.
To perform benchmarks, the [hyperfine](https://github.com/sharkdp/hyperfine) To perform benchmarks, the [hyperfine](https://github.com/sharkdp/hyperfine)
tool can be utilized. tool can be utilized:
$ hyperfine --warmup 20 --min-runs 500 'curl https://localhost:8444' $ hyperfine --warmup 20 --min-runs 500 'curl https://localhost:8444'
Or, the [oha](https://github.com/hatoo/oha) tool:
$ oha -c 8 -z 1min 'https://localhost:8444'
These kinds of benchmarks matter more on particular routes with specific These kinds of benchmarks matter more on particular routes with specific
behaviors. We are primarily concerned with the performance of database behaviors. We are primarily concerned with the performance of database
query related tasks like package search, package/pkgbase viewing, requests query related tasks like package search, package/pkgbase viewing, requests