Hello, I setup a PHP Apache app using a Docker image and a MySQL app too (which I converted from a local Docker-Compose setup). They are using the default lowest level of resources possible.
I’ve made multiple deployments to the web server and DB apps while setting them up with CI.
One of the most heavy, legacy PHP pages that really could do with making using of SQL joins(!) seemed to load fairly quickly at first, but recently stopped returning a 200 status response, and does not respond.
Is there any automatic change to performance? Do apps start out with higher performance, RAM or other resources? Where would we look to know if this is the case?
Many thanks.
Hello, and welcome to the Fly.io community!
There is no performance degradation on the free tier as you’ve described it, the resources you configured (or the default lowest resources) will stay the same.
To find out what’s causing issues you could run fly logs
to see what the app is reporting. Perhaps there’s more info to be found there?
Hope this helps!
Thanks, for confirming that resources stay the same.
Anyhow, I’ve fixed the issue by making the code more efficient.
It turns out that the legacy PHP script was busy waiting for many thousands of SQL queries (that I’ve now rightfully replaced with alternate statements that make use of ‘JOIN’!).
On the original host that has no HTTPS, the HTML response often streamed while the more query results were loaded in.
But on Fly.io, which is rightfully using HTTPS, had the same script, unfortunately time out before yielding page results over HTTPS that it was continuing to wait for.
I turned on the MySQL general_log, and watched the logs rain like Matrix code as the server continued to execute 1000’s of SQL queries…
I do have an example of how to port a Docker-Compose system to Fly.io config that I will post at some point soon, which may help others using Fly.io.
Glad to hear you were able to track down the issue. That docker-compose to Fly.io sure sounds useful, sharing it would be wonderful.
Thanks, @Johannes-Fly I put the example here: Migrating Docker-Compose containers to Fly.io apps using GPT-3