Skip to content
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

Add capability to load test with one click #118

Open
marein opened this issue Apr 19, 2022 · 0 comments · Fixed by #185 · May be fixed by #170
Open

Add capability to load test with one click #118

marein opened this issue Apr 19, 2022 · 0 comments · Fixed by #185 · May be fixed by #170

Comments

@marein
Copy link
Owner

marein commented Apr 19, 2022

This includes provisioning a configurable number of servers at a cloud provider, such as DigitalOcean, and creating scripts that, for example, create random chat messages or play games against each other. The application should be deployed using Docker Swarm. The scripts should have a default configuration that is able to produce 18k write requests per second. I've already created everything locally and used them to identify issues such as #98, #104, #105, #106, #114 -> #185 for scaling queues to achieve higher message throughput, #115, #119, #173 and #225. It's useful to push them into the repository after a cleanup. Maybe a draft pull request is good enough for now.

The old script for load tests should be removed as it doesn't scale and produces lots of TCP connections in TIME_WAIT state due to its implementation using file_get_contents.

The documentation should be updated to point to this example, e.g. the section "Scale-Out the application".

@marein marein self-assigned this Apr 19, 2022
@marein marein linked a pull request Mar 30, 2023 that will close this issue
marein added a commit that referenced this issue Apr 5, 2023
Adds ProxySQL to the stack, which acts as a connection pool
and provides the ability to route queries to different physical
MySQL machines, e.g. for schema-based sharding #119.

Applications communicate with ProxySQL via unix domain sockets,
which means that it will be deployed as a sidecar.
There are no query rules defined for the environments yet.
ProxySQL will pay of during load tests #118.

ProxySQL is optionally configurable via the PROXYSQL_CONFIG
environment variable, which is required for the Play with Docker
environment because the stack file must be self-contained.
marein added a commit that referenced this issue Apr 14, 2023
Move Play with Docker file #175.
The name of this deployment is single-server because
it serves multiple purposes. It's used as an example for
deploying production images through Docker Compose
and it will be passed to Play with Docker.

Deployment assets are grouped as more will follow,
e.g. with #118.
@marein marein linked a pull request Jun 25, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant