Our performance hosting optimizations

We get a lot of visitors who are looking to speed up the performance of their websites, and they sign up for hosting with us in the hopes that their sites will perform significantly better on our platform. We go out of our way to advertise ourselves as a "performance host", and while a lot of that involves buying the right hardware, there are a number of optimizations that are necessary to really make a demanding application (like Magento) run optimally.

Is your application up to date?

This isn't related to our hosting and ultimately it's up to you to maintain your application; however, when discussing the optimizations we make it's a relevant question to ask. We occasionally see people move their sites from budget hosting companies to us, and they see only a small performance improvement (say, 20-30%). Upon request, we then go and look into what can be done to improve their site's performance, and more often than we'd like we find people are running very old software.

We have an up-to-date hosting platform, but also one that is very flexible. We support PHP 5.2 through PHP 5.6, and we also install the latest available minor versions of those with the latest versions of those extensions. So if your site is powered by an application that is 4 years old, chances are you won't be able to run anything newer than PHP 5.2 or PHP 5.3. This means that you won't be able to reap the benefits of our setup, because the fastest sites we host make uses of the latest improvements to their scripting languages.

PHP Performance

By far the most popular scripting language used on our hosting platform is PHP, so we spend most of our time making sure that runs as smoothly as possible. We have written a lot of proprietary code to deploy and maintain PHP updates across all of our servers, which gives us a substantial edge over our competition in regards to performance.

PHP makes all of their binaries available for free. Chances are if you aren't a customer of ours, then you'll find that the newest versions of PHP aren't offered by your hosting provider. You can find all of the versions here. PHP developers put a lot of effort into putting out the latest improvements to their extensions and the core PHP code-base itself, so when your host doesn't make those available to you then you're missing out on the benefits.

If you have an up-to-date application, chances are you can run the latest version of PHP on our hosting platform. The difference between running PHP 5.3 and PHP 5.6 is substantial. Just this one change can drastically improve your page load time, and on our hosting platform we give you that flexibility.

PHP Zend OpCache

On our dedicated hosting platforms, we offer Zend OpCache. In combination with our proprietary cPanel tools and the LiteSpeed Web Server, you can easily enable or disable Zend Opcache for your PHP binaries. Many more complex applications, like Magento, see huge improvements as a result of opaching. As a general rule, if your site runs slowly due to PHP processing, it likely will benefit more greatly from having Zend Opcache enabled.

Our hosting platform allows for Zend OpCache to actually work properly. Many hosting companies allow the extension, but don't actually tune the web server and PHP to work well with opcaching in place. On our hosting platform, your PHP processes can run for hours without restarting, which allows your cache to be as effective as possible. With many hosting companies, your cache will be flushed very frequently (after just seconds), making it mostly useless.

Fast Hardware for Applications

If you're running a PHP application, then your code itself is not going to run on more than one CPU thread at a time. These applications are called "single threaded applications", and they aren't able to take advantage of having a multi-threaded or multi-core processor. There are certainly other advantages to a multi-core system, such as MySQL performance, but for your actual PHP code it makes no difference.

Most of our competitors run processors which handle a lot of things at once, but they don't run individual processes quickly. One advantage to this approach is that it's cheaper to provide hosting to more people on the same system, which improves profits for the hosting company. The draw-back to having these processors is that individual page load times suffer, and from the perspective of the customer it's largely irrelevant how much profit a company can make on a physical server.

Our approach is to simply "take the hit" in regards to profit per server, and go with the hardware which improves individual page load times. Since we don't employ processors which handle as much concurrent usage (on Split-Dedicated and Split-Shared), we make up for that by simply putting many less customers on each server. While some VPS providers may have 20-30 environments running on average, we typically have about 4 or 5 customers on a Split-Dedicated physical server.

Similar to the reasoning for why we choose the processors we do, we employ the same logic for disk drives. We use fast Intel SSD Drives, because they offer the best IO performance. Many of our competitors will try to boast setups like "15K SAS Hard Drives in RAID 10", but the reality is that they simply run those because they are cheaper than SSD space. Since we put so many less customers on each physical server, the smaller capacity of SSD drives isn't an issue for our company; however, companies which have many customers on each machine can't do so without having larger non-SSD drives.

The other advantage to our hosting platform is that we critically monitor all of our hardware for slow-downs. Most companies will replace a drive once it fails completely, but we replace drives before that happens. Once we see performance on a system start to degrade, we hot-swap those parts without any down-time for our customers.

Database Performance with MySQL

We run Percona Server with XtraDB, which isn't terribly unique in the industry. Most of the performance hosting providers offer this, since it's a simple drop-in replacement for MySQL. It doesn't take much work to offer that, so it's fairly common to find.

The important thing to understand about the MySQL Service is that it performs relative to the hosting environment it runs on. MySQL doesn't scale terribly well past 4 CPU Cores, so making sure you run a processor which does that very well is important. Since we run 4 core 3.5Ghz+ Intel Processors and not say, 8 core 2.1 Ghz Intel Processors, MySQL is able to run as quickly as possible.

Flexibility is Crucial

One important distinction between our hosting platform and many others, is that you are able to make the changes you need to best tweak your own application. Besides being able to override mostly any PHP setting in your local .htaccess files, we've spent the time and money to develop custom cPanel tools which allow you to tweak individual INI settings on our dedicated platforms. You can also easily change the default PHP version on your dedicated hosting plans, and toggle extensions on and off.

See our pages about PHP Customizations and MySQL Configuration.

Server-Wide Performance Services

On our dedicated hosting plans, we can install pretty much anything you need for you. You can take advantage of the performance benefits of Memcached, Redis, Solr, Sphinx Search, Jungle Disk, and many more services. While our SSD drives are generally fast enough, using in-RAM caching solutions like Memcached or Redis can offer easy performance improvements to applications such as Magento.

Knowledgeable Technical Support Staff

Hosting optimizations are great, but if your hosting company's technical support staff doesn't understand how they work, then chances are you aren't getting the best possible setup. Crucial Hosting has spent years mostly targeting people running the Magento platform, which means our staff has a lot of experience trying to optimize for demanding applications so that they run as fast as possible. At our company you'll get clear answers to even the toughest questions, and we're committed to supporting the best possible hosting platform.