So you want to host or offer hosting focused around WordPress based websites? Although WordPress is a php based cms that uses SQL and generates frontend code, WordPress by itself is superfast, lightweight and secure. However most WordPress websites use custom themes and plugins which themselves add their own features with some popular plugins containing their own frameworks creating a framework within a framework overhead which significantly adds unnecessary load from bad code or just too much work for the code to do.
With a lot of cheap shared hosting, here are some things to focus on if hosting WordPress. As for the hardware the nature of php sessions being per core favours higher clocks over more cores but gone are the days where 2+GHz was the clock speed of your Xeon CPU as today’s manycore epyc 2 start at 3+GHz to 4+ which will run a heavy WordPress session well that doesn’t have bad plugins or themes.
Whether pcie or sata or SAS or nvme doesn’t matter but you’ll need a ssd for both files and database with the ssd for database having good io as disk bandwidth isnt as important as I/o when running code to avoid the onboard drive controller from getting saturated. One trick you can use to improve io and caching is to use software raid and add more ram. If you use a virtualization like KVM, using virtio instead of sata or such with as much direct/low overhead io with a lot of extra ram allows caching+queueing of disk in ram allowing for impossibly fast disk speeds that even if the files are on a hard drive it won’t matter but for databases they still will favour high io drives.
Benching on a VM on a HDD on KVM. Ddr3 ram speeds as a result of good settings. This old server was of the first gen Intel iseries running a highly overclocked 6 core Xeon at 4.3 GHz for a highly demanding game server. Rest assured this fast io really helped reduce the pause of saving to mere seconds when each save was GBs in size back when the game wasn’t optimised and was saving everything instead of only changes. I find that latencies internally do matter that dual socket boards may not offer the best performance always but that may be because the previous host where I work may be using dual 2+ghz core2 quads based xeons before we switched to 3.3+GHz single socket Xeon, seeing huge speed improvements with the previous using raid0 ssd and the new one a single ssd. It is highly recommended to use 1 ssd for files, another for database and email/backups can be stored on a HDD allowing you to offer the best for all at a lower cost. Make sure to have a lot of bandwidth on your network. Many people love to host image heavy WordPress while I’m not a fan. Where I work I set the spec of front page must be below 1MB in size, at worst 1.5MB, but some do not understand the front page is where user load times matter most. Other pages may end up picture heavy so require a very fast NIC and internet access for those load spikes as many hosts still use 100Mb/s networking and internet limits making sites load slow during spikes. The average bandwidth use of a WordPress site tends to be low and CDNs can help here with content heavy sites.
For the software side of things, I’ve never advocated for centos for the last 3 years due to its direction. My preference is always opensuse but openlitespeed won’t run on it. I suggest Debian instead as its more reliable than centos and I even managed to update past 2 major versions on an old device with a bit of effort and no issues. You can run it bare metal or on top in KVM with good settings or as a container for auto scaling for many sessions that involve heavy php. I suggest litespeed/openlitespeed with lsphp and mariadb or mysql depending on budget and features you plan to use (make sure innodb is default engine)
For allowing your users to manage their site, don’t waste your money on cpanel, instead you can go the way of hostinger making their own hpanel or go with directadmin both of which do the same but with better practice. You’ll need phpmyadmin as well. I won’t go into detail about the other software to manage the host or its sites like ftp or mail but just do your research and pick the most lightweight of them with a focus on security.
Next you’ll want to run these sets of php modules and also set up redis/memcached service. Aside from the recommended php sets you can find for WordPress, make sure these are available: apcu, redis, memcached,(yes you’ll want these 3, now stop being grumpy about the ram use or config as you don’t have to config apcu unless you want to increase memory allowance) gd, imagick(this too, stop being grumpy about this. Imagick may not be fast but in the presence of gd and imagick, WordPress will use gd first then imagick if the image format isn’t compatible with gd. No imagick is slower if an image isn’t compatible with gd as imagick works on all photos. No need for pdo modules, just make sure to have all the XML and others. I will write all the php modules in a separate post. At this time of writing php 8 was newly released so I would use php 7.4 until compatibility checks pass for 8 for the entire site but I still install it on the server.
Lastly you’ll need guides on what’s good or bad in WordPress. Promote secure and good WordPress themes and plugins and let people know about bad ones. Where I work I heavily vet a plugin before it is allowed to be used in a client website and we also set up their WordPress on our own fast host to ensure good results in both security and performance.
It doesn’t take much to have a fast host for many WordPress sites but it takes 1 bad config or user to slow things down, so make sure you identify unnecessarily heavy sites in CPU loss based on per session, not traffic and see if they are running bad code. Partnering with a CDN like cloudflare with some of their premium features can allow your customers to use them for free based on your settings for even quicker site loads. Its good practice to use a CDN and many are free with extra security features, just make sure you use b