Differences between web servers

I remember the time when the most widely used software in e-mail servers around the world was Sendmail. Today, we have Postfix in this position (with Exim growing and qmail being discontinued). Sendmail is hard to administrate and falls short in performance. Postfix is easy to administrate and performs well.

But why are we talking about Sendmail and Postfix in a frontend chapter? Because I want to touch on a point of relative importance to Zabbix, which is the choice of the best web server for the task of delivering the collected data to Zabbix users.

With Zabbix, history repeated itself. There was a time when we thought only of Nagios when it came to open source monitoring platforms. Today, Zabbix has taken that position in many countries.

The point is that new platforms emerge to perform the same tasks in a simpler and more efficient way. Why would it be different with the web server? For a long time, Apache was the best and most widely used solution for web servers. Has this scenario changed? Not yet, but we have clear signs that we are on the way to a change.

Undoubtedly, at the time of writing this book, Apache is the most used web server in the world (http://w3techs.com/technologies/overview/web_server/all), and has contributed much to the growth of the Internet since its inception. But today, we have good and interesting alternatives such as Nginx, Cherokee, and lighttpd. Which of these is the best option to use with Zabbix?

Let's try to understand a little about Apache, Nginx, and lighttpd, which are the most commonly used web servers with Zabbix. Apache is based on threads, and for each new thread, a connection is started and it consumes more memory. Nginx and lighttpd work a little differently and have a unique process that manages all connections. Basically, we have in the use of resources (especially memory) a big difference between these three web servers. Of course, there are other differences that can impact other applications, such as the number of available modules. But for Zabbix, these three web servers have everything you need. In Nginx and lighttpd, PHP is accessed directly (php-fpm and FastCGI). This already brings gains since it is a single process (and there are few threads). It will take up fewer resources in the operating system.

Are there real differences between the use of one web server and another? In practice, yes, because with less use of resources, the more modern web server will support more requests. But will it have a better response? This is where some controversy may arise, because even though Apache consumes more resources, it remains powerful and full of possibilities. Testing in your environment (considering the required load and the hardware) is worthwhile to understand which web server will fit best. It is also worth considering changing the web server at some point in time. It all depends on your settings. We need to realize that no matter what happens, the Zabbix frontend always needs to access the database directly.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset