Monday July 29, 2019
Improving Website Performance with LiteSpeed
When compared to Apache, it has a few advantages:
But that’s just the tip of the iceberg!
LiteSpeed supports popular hosting provider panels such as WHM/cPanel, DirectAdmin, Plesk, and more.
However, Hostinger uses a custom hosting panel – hPanel – which has dynamic vhost management based on Redis and OpenResty + custom LUA scripts. This is how it works: vhost data is saved in Redis. OpenResty retrieves said data when a web request is received. Then it is passed on to the Apache web server.
Originally, LiteSpeed is configured using config files. However, we wanted to implement fully dynamic management which doesn’t need to reload services in order to update the configuration, as we did with the OpenResty setup. We contacted LiteSpeed support, explained our current setup and the fact that we want to make it dynamically managed.
Turns out, we were lucky as they were already developing LiteSpeed version 5.4. They were happy to help and implement it in the development branch. That was great news to us since we didn’t have to reimplement our current vhost management process.
So we didn’t just replace Apache but got rid of Openresty too, reducing the software stack used to process requests and thus increasing performance.
Pace of Development
When we initially planned to migrate to LiteSpeed we thought it would take about a month. After we discussed how it should be implemented, LiteSpeed engineers developed a working version with dynamic vhost management in about a week – this is really fast for such software. We installed it in our development environment and prepared the migration tools to replace Apache.
Redis support was added to LSWS 5.4RC3. Unfortunately, we didn’t realize how many changes were planned and already done in LSWS 5.4RC3. The stable version release date was still unknown to us. RC4 was on the way too with additional changes that had to be tested. Here at Hostinger we often experience bad traffic coming to our clients’ websites so it was a good environment to catch all unexpected errors. After the first deployment on our production server, we started receiving crash reports.
At this point, bug hunting season started. For almost two months since the first deployment, we started reporting bugs to LiteSpeed engineers daily. Good thing is that when LSWS crashes for any reason, only a visitor that hit that bug is affected as LSWS generates a core file and gracefully restarts in almost no time. LiteSpeed engineers were focused on fixing those bugs and we got a new release in just a few hours after reporting them every day. When we stopped receiving crash reports from the first server we increased the server pool running with LiteSpeed. Then new bugs started to appear. After about three months of such testing, verifying, reporting, and bug fixing, there was a week without any crash reports and we could tell that the stable version had finally come.
After we deployed LiteSpeed, we saw a noticeable performance improvement compared to our old setup. Most of our clients use WordPress as their content management system so we tested it with LiteSpeed on our servers. We saw a great improvement on Time To First Byte (TTFB) compared to Apache.
LiteSpeed Cache Plugin
LiteSpeed engineers have developed their own LiteSpeed Cache plugin for WordPress. With this plugin installed, TTFB improved even more by a great margin.
To find out more about how the LiteSpeed Cache plugin works, you can read this article.
Furthermore, the latest LiteSpeed 5.4 release has huge improvements on SSL/TLS, QUIC, and integrated security features which are enabled by default on all Hostinger servers.
After seeing such performance gains, we decided to install the LiteSpeed Cache plugin for all users who install WordPress via Hostinger’s Auto Installer. We also encourage all users using WordPress or other popular CMSs to install the LiteSpeed Cache plugin to benefit from it.
LiteSpeed has developed cache plugins for most popular CMSs like WordPress, Magento, Joomla, PrestaShop, OpenCart, and Drupal. You can check the entire list here.
At Hostinger we always strive to provide the best experience for our users by allowing them to use the latest technology. We want to make it easy for customers to install, use and maintain their websites.