VCPUs
Databases have powered websites, apps, and more for years, but organizations are facing an unprecedented amount of data from various sources. Companies are keeping more data than ever for AI, business analytics, and applications. To process more data, more databases and faster performance are needed. Companies run these databases in the cloud for flexibility, scalability, and accessibility.
While using a public cloud like Amazon Web Services (AWS) has benefits, choosing instances and configuring them may be difficult. This blog discusses new Amazon Elastic Cloud Compute (EC2) instances with 4th Gen Intel Xeon Scalable CPUs and how databases run on them. They also provide database configuration tips and methods.
An Overview of AWS
AWS still dominates the public cloud industry with 31% market share in February 2024. AWS’s huge selection of services and products can make choosing the correct database workload configuration difficult, even if your firm already runs workloads and applications there.
With numerous instance families, each with 22 offerings and fully-managed database services, it can be hard to choose the best performance or cost-effective solution. They’ll give a high-level overview of the solutions most likely to meet database workload needs, then we’ll dig into particular database types with performance data and details.
Quick overview of Amazon EC2 instance families. AWS has top-level instance categories depending on workload optimization. General Purpose, Compute, Memory, and HPC Optimized. You’ll likely choose General Purpose, Memory Optimized, or Storage Optimized depending on your database.
The next level of categorization within each wide optimization family is processor vendor (Intel or Graviton) and processor generation (3rd Gen or 4th Gen Intel Xeon). Finally, some categories address unique needs. M7i-flex instances reduce money but don’t guarantee maximum performance, while M5n instances increase network bandwidth caps.
The performance tests below show how processor generation affects database workload performance. Choosing an instance size or vCPUs count is the final step. They provide database benchmark results at various instance sizes to aid your decision. To choose the right size instance, consider our database workload’s average and peak usage.
When choosing a cloud option, remember that while cloud possibilities may seem unlimited, each has certain configuration parameters, many of which are fixed. For instance, your task may require few vCPUs but fast networks. In almost every instance family, smaller instances have lower network bandwidth restrictions.
Instances also limit disc attachments and storage bandwidth. You may unintentionally buy a high-performance storage volume only to discover that your instance uses 20% of it. Smaller instances may only guarantee maximum performance for 30 minutes. When you find an instance that meets your needs, study the footnotes and tiny print to avoid stifling performance or inflating prices.
AWS Databases
Let’s conclude with managed database services like Amazon RDS. These services are popular because they give AWS more environment management. Users must execute OS updates, database installation and updates, database backups, and other operations with Amazon EC2 instances. AWS handles those tasks with RDS, freeing clients to control the application. Their performance tests did not use managed database services, however clients can choose which instance to host their database in. Knowing which instances perform best is still useful.
However, managed database services usually offer a limited number of Amazon EC2 instances. As of this writing, the AWS console drop-down selection to build a PostgreSQL database with RDS does not offer any instances with the latest CPU from any vendor. Read on to learn how instances effect database performance, whether you use infrastructure-as-a-service or RDS.
MySQL/PostgreSQL Performance
Over the past decade, MySQL and PostgreSQL have been among the top five databases. About every firm, regardless of industry, employs several transactional databases to store customer, employee, website backend, and other data. Many usage and performance needs differ, but many databases function best with gobs of RAM and/or high-speed storage.
They used memory-optimized Amazon EC2 R-series instances for PostgreSQL and MySQL performance tests because they have greater memory per vCPUs. Newer instances with stronger CPUs improve transactional database performance independent of instance size, according to testing.
The HammerDB database benchmark was used by Principled Technologies to test PostgreSQL. Report contains comprehensive test findings. In PostgreSQL tests, memory-optimized R7i instances with 4th Gen Intel Xeon Scalable processors had 1.138 times as many new orders per minute as R6i instances with 3rd Gen processors.
A higher database throughput can signify different things based on your needs. It may involve supporting more users if usage has increased. It could help you handle peak usage without slowing down. It could let you fit more databases on one instance, saving instance expenses over time. Choosing the correct MySQL and PostgreSQL instance is vital to keeping up with expanding user engagement on budget.
MongoDB Speed
MongoDB, a NoSQL database that stores data as documents, has approximately 50,000 customers and is more flexible than table-based relational databases. Users deploy these databases in dispersed clusters for resilience. This distribution allows you to cluster smaller instances instead of using one large instance for a large transactional database.
Their Yahoo! Cloud Serving Benchmark (YCSB) tests ran on smaller instances from four to sixteen vCPUs to simulate the common use case. C-series compute-optimized instances were chosen to demonstrate performance for database applications that use less memory.
Databases run better with greater memory, although tiny databases or replicated databases use less RAM. If your database fits in less RAM, compute-optimized products may save you money. We found that C7i instances with 4th Gen Intel Xeon Scalable CPUs can boost MongoDB performance by 1.42 times.
Figure 3: Amazon EC2 C7i instances with 4th Gen Intel Xeon Scalable processors vs. C6i instances with 3rd Gen; normalized MongoDB YCSB throughput.
Performance Redis
Redis, an open-source, in-memory database, can cache and stream data. Redis databases are memory-limited but durable with regular writes to storage. Memory-optimized instances with larger RAM-to-vCPUs ratios would be desirable, however we ran their Redis Memtier benchmark tests on 4 vCPUs General Purpose M-series to simulate smaller Redis applications. These may indicate a minor company or application within a larger corporation.
Their studies indicate how newer instances affect performance, as with other database formats. The 4th Gen Intel Xeon Scalable processor-powered m7i.xlarge instance outperformed the two-generation-older m5.xlarge instance by 1.57 times and the previous-generation m6i.xlarge instance by 1.26 times.
Normalized Redis Memtier throughput on Amazon EC2 M7i instances with 4th Gen Intel Xeon Scalable processors vs. M6i and M5 instances with 3rd and 2nd Gen CPUs.
Conclusion
There are many factors to consider while hosting database applications on AWS. They have proved that choosing the latest hardware will benefit your workloads for the three databases examined by Intel or a third party. Choose AWS database instances with 4th Gen Intel Xeon Scalable CPUs to save money, support peak times, or allow for growth.