AMD Milan versus Milan-X for MariaDB database

Started by Kovtalo, Jun 17, 2022, 04:04 AM

Previous topic - Next topic

KovtaloTopic starter

Hi there,

I came across information about the Milan-X series processors that come with a large L3 cache. However, I'm unsure which one would be better suited for a MariaDB database that's quite large at around 800 GB in size. The database is read-heavy with fewer writes, and it has a large innodb buffer pool that keeps hot spots in memory.

In this scenario, would you suggest going for the AMD Milan or the AMD Milan-X processor? We are currently exploring dual 75F3 versus dual 7573X options.



Both options provide good performance but there is a significant difference in the amount of cache each one has. The option with 768mb of cache will offer better performance for operations where data is stored in the cache, resulting in a much faster experience.
 The extra cache will lead to more cache hits, allowing for faster processing times.

However, it is important to note that the speed of the Milan-X option is slightly lower for operations that are not a cache miss, despite the larger cache size. Therefore, in some use cases, the increased cache size may not be useful and may even slow down the process.
Nonetheless, at the same price, the Milan-X is still the recommended choice due to its potential performance boost from the added cache.


When it comes to SQL databases, they are typically limited by the amount of available RAM for reads (cache1 and indexes) as well as IOPS for writes. There are even StackOverflow posts about this from over 10 years ago.

Choosing between the two CPUs, it would be recommended to select the one with a larger L3 cache. Typically, if you are already concerned with the CPU clock speed when it comes to SQL databases, then it's likely that something is not being done correctly.


Quote from: Kovtalo on Jun 17, 2022, 04:04 AMHello,
I read up on Milan-X lineup with large L3 cache.

However, I can't seem to figure out what looks better for a large MariaDB database.
Database size is about 800 GB, with much more reads than writes and a large innodb buffer pool keeping the hot spots nearly all in memory.

In such case would you recommend AMD Milan or AMD Milan-X?

We are considering dual 75F3 versus dual 7573X.

Thank you.
If we talk about the price, but the AMD Milan processor has new cores at the old price, this is one of its features. And so they differ only in price and frequency, they have the same cache, so you need to choose with the highest processor frequency.


AMD has introduced a new range of web server processors under the codename Milan-X, known as the EPIC 7003X. These processors are an improved version of the Milan chips launched last year and are built on Zen 3 cores. However, this new series boasts increased cache memory due to the installation of additional 3D V-Cache memory crystals.
The new lineup includes four models with 16 to 64 Zen 3 cores, each consisting of eight chaplets with cores installed with an additional memory crystal on top. This provides 96 MB of third-level cache per chaplet, with 32 MB on the chip and 64 MB on the 3D V-Cache. Each Milan-X processor offers 768 MB of third-level cache.

All models have eight DDR4 memory channels, and 128 PCI Express 4.0 lines. They are made in the same SP3 socket as their predecessors, with the two older models having a standard TDP level of 280 watts, and the two younger ones at 240 watts. However, the TDP indicator for each Milan-X can be adjusted from 225 to 280 watts.

The new processors were released today, with prices starting at $4185 for the 16-core PIC 73 X, $3700 for the 24-core, $5490 for the EPIC 7573X model with 32 cores, and $8800 for the flagship 64-core EPYC 7773X. The previous Milan series' flagship, the EPYC 7763, was priced lower by AMD at $7790.


Both the AMD Milan and AMD Milan-X processors are powerful options for your scenario, but there are a few considerations to keep in mind.

First, let's talk about the differences between the two processor series. The Milan-X processors are designed to offer even higher performance than the Milan processors, primarily through increased core counts. This can be beneficial for highly parallel workloads that can fully utilize the additional cores. However, the Milan-X processors tend to have slightly lower base clock speeds compared to their Milan counterparts.

In your case, since you mentioned that your workload is read-heavy with fewer writes, and you have a large innodb buffer pool that keeps hot spots in memory, the Milan processors may be more suitable. The larger L3 cache offered by the Milan-X processors may not provide a significant advantage since most of your data is already cached in memory.

Considering the specific models you mentioned, the dual 75F3 configuration is likely a better fit for your workload compared to the dual 7573X configuration. The 75F3 has a higher base clock speed, which can be advantageous for a read-heavy workload that relies on single-threaded performance. Additionally, it still offers a substantial number of cores for parallel processing.

The AMD Milan processors are based on the Zen 3 architecture and offer strong single-threaded performance along with high core counts. They come in various models, with different core counts, clock speeds, and power consumption levels. The 75F3 model you mentioned is a good option since it offers a higher base clock speed of 2.95 GHz, which can help with single-threaded workloads.

On the other hand, the AMD Milan-X processors are an extension of the Milan series, designed to provide even more cores for highly parallel workloads. They offer higher core counts compared to their Milan counterparts but often have slightly lower base clock speeds. The dual 7573X configuration you mentioned would provide a total of 128 cores, which is impressive for parallel processing tasks.

However, given your workload characteristics and the importance of single-threaded performance, the Milan processors like the 75F3 may be a better fit. Since your database is read-heavy and you have a large innodb buffer pool that keeps important data in memory, having faster single-threaded performance can benefit your workload more than having a larger number of cores.