Understanding Performance in Basic Tier for Azure Database PostgreSQL and MySQL


Azure Database for PostgreSQL and MySQL have similar architectures for performance tiers. While Microsoft recommends to choose between the General Purpose and the Memory Optimized versions, some users might consider Basic Tier servers as they believe their workload is not that aggressive against resource utilization.

Basic Tier servers were built for testing, development or small-scale infrequent used applications where the customer can get a flavor of the service and a sense of the features offered in the PaaS solution. The below table helps you to choose which service to start with for your database. Basic Tier servers are good for testing environment with a single connections. The below table explains the different Target workloads for each of the available performance tiers.

Table 1: Azure Database for PostgreSQL and MySQL Pricing Tiers Target workloads

Basic Tier servers use Azure Standard Storage. The storage you provision is the amount of storage capacity available for your Azure Database server. The storage is used for the database files, temporary files, transaction logs, and server logs. The total amount of storage you provision also defines the I/O capacity available to your server.


Table 2: Azure Database for PostgreSQL and MySQL Pricing Tiers specifications

Azure Standard Storages that are used in the Basic Tier servers have variable IOPS with no performance guarantees. For more information review Azure Database for MySQL/PostgreSQL pricing tiers.
https://docs.microsoft.com/en-us/azure/mysql/concepts-pricing-tiers
https://docs.microsoft.com/en-us/azure/postgresql/concepts-pricing-tiers


Table 3: Azure Database for PostgreSQL and MySQL IOPS comparison

More information about Azure Standard Storage: https://docs.microsoft.com/en-us/azure/virtual-machines/windows/standard-storage

Now if you are trying to compare Azure Database for MySQL and PostgreSQL with other vendors that have shared environments and expect Azure platform to behave faster in terms of disks operations and CPU, please remember that Azure Databases for MySQL and PostgreSQL have features that are included in the service (increase the cost and degrade performance) that are not offered in Shared environment:

  1. Built-in high availability with no additional cost.
    Azure's industry leading 99.99% availability service level agreement (SLA), powered by a global network of Microsoft-managed datacenters, helps keep your app running 24/7.
  2. Predictable performance, using inclusive pay-as-you-go pricing.
    Azure Database for PostgreSQL an MySQL uses dedicated servers for each instance which guarantees that only your workload is running on the server.
  3. Scale as needed within seconds.
  4. Secured to protect sensitive data at-rest and in-motion.
    By default, the Azure Database for PostgreSQL service is configured to require SSL connection security for data in-motion across the network. Enforcing SSL connections between your database server and your client applications helps protect against "man in the middle" attacks by encrypting the data stream between the server and your application.
    The Azure Database for PostgreSQL service uses storage encryption for data at-rest
  5. Automatic backups and point-in-time-restore for up to 35 days.
  6. Enterprise-grade security and compliance.
    The built-in gateway and firewall for example adds an extra layer of authentication which increase the time for connection establishment while it is helpful for security protection and load balancing.

References:

  1. https://docs.microsoft.com/en-us/azure/mysql/overview
  2. https://docs.microsoft.com/en-us/azure/postgresql/overview

Comments (6)

  1. I think it would benefit Microsoft to provide the ability to seamless upgrade PostgreSQL and MySQL between major upgrades. Suggesting users need to do a dump & restore to go from PostgreSQL 9.6 to 10 (https://docs.microsoft.com/en-us/azure/postgresql/concepts-supported-versions#managing-updates-and-upgrades) is less than ideal considering AWS provides the means to do the same upgrade without the fuss.

    1. Thanks for the feedback Scott, I understand your concern and recommends you to visit the following link : https://feedback.azure.com/forums/597976-azure-database-for-postgresql/suggestions/19379941-ability-to-scale-between-different-tiers and provide more details on the business need for this. Those feedback are monitored closely by the product team and have high attention for the need of new features. All the customer feedback on Azure database for PostgreSQL can be found here: https://feedback.azure.com/forums/597976-azure-database-for-postgresql

      1. Thank you for the response Bashar. The feedback forum is quite useful as I have seen a few idea implemented from there. I posted the Upgrade feedback back in June, up to 7 votes so far https://feedback.azure.com/forums/597976-azure-database-for-postgresql/suggestions/34446859-upgrade-from-postgresql-9-6-to-10-3.

        1. Thanks for the update Scott and for sharing your feedback.

    1. Thanks for your feedback.

Skip to main content