SSD vs RAM - which one is better for MW ?


Active Member
Hi There,

Anyone can can advise whether going for SSDs or RAM is better for hosting MW ?
General rule is that SSDs are good for write intensive apps, and RAM for read intensive ones.

So, one will not need expensive SSDs for a server having less Memory utilization if the app doesn't write too much and wait for iops. If that's the case one can invest on comparatively cheaper SATAs or SASs with redundancy to host more data.

My memory utilization is low and thinking if going for SSDs would really improve the performance worth its cost.
My memory utilization is low and thinking if
It won't be that low when you get few million records.

Here's the thing, usually mysql will be the problem because of the i/o(r/w) operations, that's why is good to have SSD's because they are the next thing closer to RAM as far as data access speed.
If you have lots of ram, you can make a partition in ram disk and put mysql data there, say you have a machine with 512GB RAM for mysql only and you put mysql data in a partition of around 256GB (bc there's also the OS and all).
So till your mysql data grows up to 256GB you'll have the fastest access r/w to the mysql data. When the data grows over that size, you either give it more or you let it write in the ssd or you get into clustering (which you should when you have data of this size)
There's this article that gives some hints:
  • Like
Reactions: VVT

SSDs and RAM both actually depend how you are going to use it.

Like hourly how much email you are sending, size of emails, data transfer. We should monitor this and based on that decide what do use.

Once the database gets big, the server will probly try to keep it in
the RAM, so it is good to have enough.

However, continuous read/write ops ask for a lot from your drive, and
it already makes a huge difference to go for SSD buffered HDD, but SSD
is far better (though better at a host than to wear out your own).

If you absolutely have to make a choice between the two, it still depends
where you are coming from and how large your dbf is now and will be soon.

(simple example)
Assume you have 4GB RAM and a normal HDD without SSD-buffer, and a dbf
that is 500MB in size and will grow perhaps to 1GB soon. In that case
one might rather go for SSD, as the RAM seems sufficient for the moment.
But if your dbf is 5GB, then it will not fit into RAM anymore, and it
triggers lots of extra reads/writes, which will be extra-slow on HDD,
so RAM upgrade seems like a must (and additionally you'd see a huge
difference in this situation with SSD-buffered HDD, even more SSD).

When my dbf went beyond 10GB at some point in the past for another app
I optimized the dbf with InnoDB having separate tables, and that did
bring it back to normal as the trimming worked again, so even when
thinking of RAM and SSD, the dbf optimizations play into it (and these
can change by dbf size, db software version, etc).

Perhaps more specific help is possible if you could indicate a bit the
sizes of each: dbf (now and soon/future), hdd, ram.
@twisted1919 That article says about mysql temp dir. Guess that's much like "innodb-buffer-pool-size", that keeps X units (Gbs) of recently used data in memory and we're blazing fast as long as the read/write volume is within the set limit for this variable. I've allocated 26 Gigs (out of 32 total) for buffer and looks good for my utilization (daily 32K sending, but growing). But thanks for letting me know that SSDs outperform others with MW so that I can invest on it with confidence. I was thinking MW would do very less writes once logs are disabled. Even if I get million iops with an SSD but if my actual writes are less, then I'm going to get nominal improvement only. But I got your point :).
@Vpul Shah Yes mate, I know utilization will be different from case to case. My utilization is going to increase and data can grow to a million soon. With my present usage, I'm not able to predict its future performance. So, was trying to get authoritative guidelines so that I can plan my upgrade, that should be scalabe :).
@frm.mwz SSD-cached HDDs is a good suggestion, at least a good starting point to analyze the usage. Like best of both worlds ;)
Last edited:
I was thinking MW would do very less writes once logs are disabled.
Yeah but remember that a list with 32K emails will generate at least 32k rows in the delivery_log table, maybe a few in the bounce_log table, and maybe 32K in opens/clicks table, so we still have lots of data to handle.