Server Comparison

Apache2

Apache is one of the most popular web servers in the world. It is developed by the Apache Software Foundation. Apache is an open source software and can be installed on almost all operating systems such as Linux, Unix, Windows, FreeBSD, Mac OS X. Around 60% of machines run on Apache Web Server.
An Apache server can be customized easily as it contains a modular structure. As it is an open source, you can add your own modules to the server when to require and make modifications that suit your needs.

It is stabler than any other web servers and is easier to solve administrative issues. It can be easily installed on multiple platforms successfully.

The following command starts the apache server on eSOMiMX6:

# /etc/init.d/apache2 start

Nginx

Nginx is a free open source web server, it includes IMAP/POP3 proxy server. Nginx is known for its high performance, stability, simple configuration and low resource usage.

This web server uses event-driven architecture than of the threads to handle requests. The advantage of this architecture is that is more scalable and uses only a small amount of memory under the load. It is gaining popularity in the recent times and it is hosting about 7.5% of all domains worldwide.

The following command starts the nginx on eSOMiMX6:

# /etc/init.d/nginx start

Monkey

Monkey is a small, fast and lightweight open source Web Server for GNU/Linux. It has been designed with the focus on embedded devices, therefore its scalable by nature having a low memory and CPU consumption and an excellent performance.

Monkey is properly supported on the ARM, x86, and x64, being able to work in any architecture and device capable to run a Linux Kernel.

The following command to run the monkey server on eSOMiMX6:

# monkey

sthttpd

sthttpd is a small, simple, portable, fast, and secure HTTP server (supported fork of thttpd).

The following command starts the sthttpd server on eSOMiMX6:

# /etc/init.d/thttpd start

Comparison Report

Comparison Report

Test environment

Embedded systems are expected to be connected to the web and they are expected to be capable of responding to the web requests. This is where web servers come into action. Controlling the embedded system over the internet can impact the building and maintenance cost of the system directly. Thus it is important to choose a web server that has high performance.

The key parameters that are used to measure the performance are as follows:

  1. The number of requests that can be served per second.
  2. Latency – response time in milliseconds for each new request.
  3. The transfer rate with which the file is received.

The test is performed using the Apache HTTP server benchmarking tool with usual network traffics. The servers, running on eSOMiMX6, are requested for a png image of size 23786 bytes.

The following is the comparison of different web servers with 1000 requests at varied concurrency level.

concurrency level

Please visit our developer website to know get step by step instructions to quickly run Apache, Nginx, Monkey and sthttpd webservers on the eSOMiMX6 device(s).

For further assistance and queries get in touch with sales@e-consystems.com

Try eSOM++ webservers on eSOMiMX6 device, download

Developer Tools Application Guide

Developer Tools Installation Packages