At the beginning of 2017, Networkmanager decided to try LiteSpeed Web Servers (LSWS) as the main web server instead of Apache. LiteSpeed is a drop-in replacement for Apache with .htaccess file support.
When compared to Apache, it has quite a few advantages:
- Event driven architecture
- Advanced cache engine
- HTTP/2, QUIC support
- Built-in security features
- But that’s just the tip of the iceberg!
LiteSpeed supports popular hosting provider panels such as WHM/cPanel, DirectAdmin, Plesk and more.
However, Networkmanager uses a custom serwer-vps-windows”>hosting panel – Directadmin – 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 we got rid of Openresty too, reducing the software stack used to process requests which also adds to the performance gain.
Pace of Development
When we initially planned to migrate to LiteSpeed we thought this should 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 which is really fast for such software. We installed it in our development environment and prepared migration tools to replace Apache.
Redis support was added to LSWS 5.4RC3. To our misfortune, 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 Networkmanager 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 fixing bugs a week came without any crash reports and we could tell that the stable version finally came.
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.
Openresty apache vs litespeed
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.wordpress with litespeed-cache plugin
To know 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 Networkmanager servers.
After seeing such a performance gain we decided to install the LiteSpeed Cache plugin for all users who install WordPress via Networkmanager’s Auto Installer. We also encourage all users using WordPress or other popular CMSs to install the LiteSpeed Cache plugin to benefit from its advantages.
LiteSpeed has developed cache plugins for most popular CMS like WordPress, Magento, Joomla, PrestaShop, OpenCart, Drupal and more. Check the entire list here.
At Networkmanager 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.