-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add musl release builds and basic load testing scripts (#940)
Closes #116 Closes #548 (this PR just adds basics, but there is always more to do, so no point in keeping the issue open) CC #934 CC #59 This PR adds some basic load testing scripts and also adds `-musl` builds as officially supported release binary. To do the latter, scripts are adjusted and test deployments on Tue, Thurs and Saturday use musl. This might seem very weird (and it kind of is), but this means that we will constantly testing both builds to avoid some hard to spot bugs sneaking in. Additionally, Tobira now uses jemalloc as allocator due to musl performance reasons, see below. See commit messages for more information. --- ### Musl performance considerations Our main blocker for just offering musl builds were performance considerations. One often reads on the interwebz that musl is slow. This is only partially true and many comments are outdated (see #116 (comment)). However, we wanted to test for ourselves. That's why this PR adds basic load tests. They are not amazing, but they helped already. Results of running locally (the ms are average response times): | | `GET index.html` | Homepage GraphQL query | Video page GraphQL query | | ------------------ | ---------------- | ---------------------- | ------------------------ | | musl | 110k req/s | 430 req/s (35ms) | 1250 req/s (11.6ms) | gnu | 276k req/s | 2760 req/s (5.0ms) | 4120 req/s (3.1ms) | musl with jemalloc | 272k req/s | 2830 req/s (4.8ms) | 4100 req/s (3.1ms) | gnu with jemalloc | 271k req/s | 2860 req/s (4.8ms) | 4090 req/s (3.2ms) The gist: musl with built-in allocator is still significantly slower than all other options. And all other options don't differ significantly (the differences are most certainly below noise threshold). So yeah, that lead to the decision to use jemalloc for both kinds of builds. CC @mtneug
- Loading branch information
Showing
20 changed files
with
2,024 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
/target | ||
/*.html |
Oops, something went wrong.