NVMe SSD Config for Server

Recep Baltaş

Well-known member
We are about to start using our new server with 2 x 1TB NVMe SSDs.

Our WordPress and XenForo on the same server, same SSD.

Should we keep using it as is with the second SSD for caching or should we seperate WordPress and Xenforo Databases to each SSDs.
 
With SSD's you have to look at your workload, especially reading and writing.

Normally a webserver is almost all read (except for logging etc) and for that every respectable SSD will do really.
But writing (DB, indexing, search) is something else. When you have a lot of writes (large website with a LOT of users) you want to use an SSD that has good TBW (Terybytes Written) values.

If you have the budget, use enterprise SSD's like the Samsung SM863 or Kingston DCxxx series for write intensive workloads.
 
With an proper NVMe ssd (ie not quad-bit consumer stuff), you basically have "solved" disk-IO.

If you are doing bare metal, I'ld recommend ZFS( on linux) to hold the data. Enable compression, and a zfs "file system" per site and for the database.
 
With an proper NVMe ssd (ie not quad-bit consumer stuff), you basically have "solved" disk-IO.

If you are doing bare metal, I'ld recommend ZFS( on linux) to hold the data. Enable compression, and a zfs "file system" per site and for the database.

Thanks Xon.

We now have WD Black SN750 but we might upgrade in the future. Any model suggestions?
 
I have no concern about the life of modern SSDs as I have tested Samsung's 860 PRO for more than a year. The result? 10 times longer life than advertised.

But I'll keep your suggestions in mind.

1591463295181.webp
 
@Recep Baltaş I'ld recommend a small ext4/etc boot partition (ie about ~60gb or so) and then ensure all your data is on zfs. ZFS is awesome.

If you want, ZFS mirror'ed sets are actually really fast and give you great redundancy. ZFS snapshots make backups really really easy. You'll get great compression ratio's out of MySQL database files as well.

Just please read up some of the gotcha's about ZFS, as there are a couple things to watch out for.

Arstechnica have a bunch of great zfs articles which are great starts;

 
If you're using PHP and have a good amount of RAM why not enable the PHP OpCache and increase the memory limit so your entire application is loaded into memory? From there you only have to worry about the database and any attachments you have uploaded.
 
@Recep Baltaş I'ld recommend a small ext4/etc boot partition (ie about ~60gb or so) and then ensure all your data is on zfs. ZFS is awesome.

If you want, ZFS mirror'ed sets are actually really fast and give you great redundancy. ZFS snapshots make backups really really easy. You'll get great compression ratio's out of MySQL database files as well.

Just please read up some of the gotcha's about ZFS, as there are a couple things to watch out for.

Arstechnica have a bunch of great zfs articles which are great starts;


I think my hosting company also needs to know this but they are not that tech savy. I'll look into it anyway. And maybe I'll install and configure CentOS myself accordingly.

If you're using PHP and have a good amount of RAM why not enable the PHP OpCache and increase the memory limit so your entire application is loaded into memory? From there you only have to worry about the database and any attachments you have uploaded.
We have 64 GB of RAM. LSWS cache for Wordpress is doing a great job but I'll keep that in mind. Thanks.
 
What hosting company isn’t tech savvy? With 64 GB of RAM you could easily cache the entire MySQL database, XenForo, and most attachments in memory. Might be an alternative to expensive NVMe drives
 
I think my hosting company also needs to know this but they are not that tech savy. I'll look into it anyway. And maybe I'll install and configure CentOS myself accordingly.


We have 64 GB of RAM. LSWS cache for Wordpress is doing a great job but I'll keep that in mind. Thanks.
Properly configured MySQL servers with InnoDB tables already do that :)
What about the php filesystem and any attachments assuming S3 isn’t configured
 
Server file/buffer caching eventually comes into play too and you can configure various levels of caching at system stack level too - from xenforo full page html guest caching dones natively via xenforo 2.x or via 3rd parties i.e. xon's redis cache and also web server full html guest page caching.
 
If you're using PHP and have a good amount of RAM why not enable the PHP OpCache and increase the memory limit so your entire application is loaded into memory? From there you only have to worry about the database and any attachments you have uploaded.
php's opcode cache is the first thing you should install/enable, it is the start of performance tuning.

Might be an alternative to expensive NVMe drives
NVMe drives really aren't that expensive any more for non-bulk (ie attachments & media) storage.

Properly configured MySQL servers with InnoDB tables already do that :)
InnoDB often actually works better than MEMORY tables with higher concurrency because it doesn't do entire table locks.
 
Do you have pointers for good config for MySQL 8.x with server having 32GB RAM?
Optimal config is based on individual user's mysql usage requirements and server configuration and involve long term monitoring to derive. Usually for my paid server optimisation clients it involves up to 2-4 days of work and analysis at minimum. No quick answers/configs really.
 
Top Bottom