If db.t4g.small worked well for you in Prefect 2.x, it should be sufficient for Prefect 3.x as well. The t4g.small instance type (2 vCPUs, 2GB RAM) is generally adequate for moderate Prefect workloads. Here's why:
1. Prefect 3.x's database requirements are similar to 2.x in terms of basic operations
2. The database primarily stores metadata about your flows, tasks, and their execution history
3. The t4g.small's ARM-based architecture (Graviton2) actually provides good performance for database workloads
However, you might want to consider upgrading to a larger instance type if you:
- Have hundreds of concurrent flow runs
- Store large amounts of result data in the database
- Need to maintain extensive historical data
- Experience performance issues during peak loads
Since you mentioned it worked perfectly fine in Prefect 2, and there haven't been any significant changes in database requirements between versions, you should be fine continuing with db.t4g.small. You can always monitor the database performance and scale up if needed.
For more information about self-hosting Prefect 3.x, you can check out the
server documentation.
Let me store this information about your infrastructure for future reference.