Tool for testing globally deployed databases in three different AWS regions

My team is building an application that needs to scale to 10,000s of users – but not millions. Accordingly, we can’t necessarily follow SaaS models/best practices meant for scaling to millions of users as that would be overkill and not cost efficient.

One architecture we came up with involves compute in one region with serverless RDS databases deployed in different regions due to data residency/compliance requirements. Of course, generally, you never want applications to be too far away from their databases – definitely not continents apart! But that’s part of our literal requirement.

So to test to make sure our application will be able to have adequate database performance even with databases deployed literally in other continents, I built the Global DB Performance Tester using Cursor AI

The Global DB Performance Tester provides a sleek web interface for uploading files to multiple AWS RDS instances and measuring their performance metrics.

Key Features

  • Multi-region RDS deployment (US West, South America, Asia Pacific)
  • Real-time upload speed and duration measurements
  • Infrastructure as Code using Terraform
  • Automated database setup and configuration

How It Works

When you upload a file through the interface, the application:

  1. Measures the upload duration from start to finish
  2. Stores the file in the selected regional database
  3. Calculates and displays performance metrics like upload speed
  4. Shows a comparison of performance across different regions

Getting Started

Follow the instructions on the Github page: main-salman/global-db-performance-tester: An app that deploys RDS databases in South America, Western US, and Australia, and allows you to test file upload performance to these AWS regions

Use Cases

This tool is particularly useful for:

  • Testing database performance across different regions
  • Optimizing global application deployment
  • Measuring network latency effects on database operations
  • Comparing AWS RDS performance in different locations

Conclusion

The Global DB Performance Tester is a valuable tool for developers working with distributed databases. It provides real-world performance insights that can help in making informed decisions about database deployment strategies.

Check out the project on GitHub.

Leave a comment

Create a free website or blog at WordPress.com.

Up ↑