@matt Unfortuantely I know nothing about your stack or your code (other than it being MySQL-backed). However, here's the general troubleshooting lists of things that make a database-backed web application slow:
1. Too many queries: app is pulling lots of things from the DB constantly that could be cached, or doing joins in the app code
2. Unoptimized requests: some DB requests need better queries/better data structure/indexes
...
@matt ... both of the above could be found via query logs and metrics.
3. Inadequate hardware: if your DB is 150GB and you have 1GB of RAM, you will always be trying to fight performance.
4. Locking: app is designed so that some requests block other requests.
5. Misconfiguration: DB, platform, or other parts of the stack are configured in a way that limits throughput.
...