Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based...

48
Performance evaluation of Raspberry pi 3B as a web server Meron Istifanos and Israel Tekahun 18-06-2020 Faculty of Computing Blekinge Institute of Technology SE-371 79 Karlskrona Sweden

Transcript of Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based...

Page 1: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

Performance evaluation ofRaspberry pi 3B as a web server

Meron Istifanos and Israel Tekahun

18-06-2020

Faculty of ComputingBlekinge Institute of TechnologySE-371 79 Karlskrona Sweden

Page 2: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

This thesis is submitted to the Faculty of Computing at Blekinge Institute of Tech-nology in partial fulfillment of the requirements for the bachelor’s degree in softwareengineering. The thesis is equivalent to 10 weeks of full-time studies.

Contact Information:Author(s):Meron IstifanosE-mail: [email protected] TekahunE-mail: [email protected]

University advisor:Dr. Michel NassDepartment of Software Engineering

Faculty of Computing Internet : www.bth.seBlekinge Institute of Technology Phone : +46 455 38 50 00SE-371 79 Karlskrona, Sweden Fax : +46 455 38 50 57

Page 3: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

Abstract

Context. During the usage of a product, evaluating its performance quality is acrucial procedure. Web servers are one of the most used technological products intoday’s modern world[1]. Thus, in this thesis we will evaluate and compare theperformances of two web servers. The servers that are tested in the experiment area raspberry pi 3B and a personal HP laptop.

Objectives. The main objective of the study is to evaluate the performance of araspberry pi 3B as a web server. In order to give a clearer image of how the rasp-berry pi performs, the laptop will also be evaluated and its performance will be usedas a contrast during the study.

Realization. To fulfill our objective, an experiment was conducted with the help ofa performance testing tool called apache bench. To provide comprehensive perfor-mance results, the served content and the server software were altered throughoutthe experiment. The number of simulated users sending the requests were also al-tered.

Results. The results were gathered by sending more than 1000 HTTP-requeststo the two servers that served static and dynamic websites. The number of servedrequests per second and the CPU consumption of the servers were the recorded re-sults. The raspberry pi exhibited response times as high as 1164 requests per secondand CPU consumption that varied between ≈6% and ≈40%. In comparison to thelaptop, on one occasion it exhibited a better processor utilization serving HTTP-requests of one user.

Conclusions. Regardless of the used server software, although the laptop wasslightly performing better, the raspberry pi had a closer response time in compari-son to the laptop when both of them were serving a static website. On the contrary,when both were serving dynamic content the raspberry pi had a very low responsetime in the comparison. Out of the two used server software, nginx gave it a betterCPU consumption in contrast to the laptop that had a better processor. That isirrespective of the served content type.

Keywords: Raspberry pi, server performance, response time, CPU consumption

Page 4: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

Acknowledgment

We take this opportunity to express our deepest appreciation to all our familiesthat always supported and believed in us. We would also like to acknowledge thedevoted assistance of our advisor Dr. Michel Nass. A special thanks to DavidMozart Andraws for the inspiration of the thesis.

Page 5: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

Contents

1 INTRODUCTION 11.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.1.1 Raspberry pi . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.2 Apache2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.3 Nginx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 RESEARCH QUESTION 6

3 RESEARCH METHOD 73.1 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.2 Computers used in the experiment . . . . . . . . . . . . . . . . . . . 83.3 What was measured . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.4 Tools and samples used in the experiment . . . . . . . . . . . . . . . 9

3.4.1 Static website . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.4.2 Dynamic website . . . . . . . . . . . . . . . . . . . . . . . . . 93.4.3 Apache bench . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.4.4 NodeJS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.4.5 MariaDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.4.6 Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.5 Design of the experiment . . . . . . . . . . . . . . . . . . . . . . . . . 103.6 The construction of the tests . . . . . . . . . . . . . . . . . . . . . . . 113.7 Preparation of the tested servers . . . . . . . . . . . . . . . . . . . . . 11

4 RESULTS 124.1 Static experiment results of response time and CPU usage . . . . . . 12

4.1.1 Measured response time results of static websites . . . . . . . 124.1.2 Measured CPU consumption results of static websites . . . . . 13

4.2 Dynamic experiment results of response time and CPU usage . . . . . 164.2.1 Measured response time results of dynamic websites . . . . . . 164.2.2 Measured CPU consumption results of dynamic websites . . . 17

5 ANALYSIS 205.1 Static experiment analysis of response time and CPU usage . . . . . . 20

5.1.1 Response time analysis of static websites . . . . . . . . . . . . 205.1.2 CPU consumption analysis of static websites . . . . . . . . . . 21

5.2 Dynamic experiment analysis of response time and CPU usage . . . . 215.2.1 Response time analysis of dynamic websites . . . . . . . . . . 215.2.2 CPU consumption analysis of dynamic websites . . . . . . . . 22

6 DISCUSSION 236.1 Response time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236.2 CPU usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

7 CONCLUSION 27

8 VALIDITY THREATS 28

Page 6: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

9 FUTURE WORK 29

10 REFERENCES 30

A Supplemental information 32

Page 7: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

Chapter 1

INTRODUCTION

One of the key components on the internet is a web server. A web server is analways-on host that stores and serves data in a form of response to clients such assmartphones and computers[2]. It is a machine that one can send requests to by usu-ally using a web browser. By using internet protocols to govern the communication,the server then sends responses to the client. The digital data that we commonlyconsume in the form of video, audio or text files over a network are provided byweb servers. To achieve this communication they commonly use application-layerserver software such as apache2 and nginx[3][4]. These applications help the devicesto have the capacity to serve content that can be static or dynamic.

Since servers are computers that can come in different sizes, shapes, places and rundifferent operating systems in them. They are usually powerful devices that arefound in data centers like the ones found at google and other big platforms[5]. Theycan also be found at home locally, small business centers, schools and universities.

In this study we compare the performance of a credit card-sized web server to an-other more powerful web server with the capacity of a typical laptop. Raspberrypi 3B and a personal HP laptop are the involved devices. By installing two webserver software apache2 and nginx, the devices are configured to be home serversand studied in a home environment. The aspects we will look at in the performancecomparison are CPU consumption and how many requests per second the serversservice.

During a performance study, it is beneficial to have a standard benchmark that cangive meaning to the gathered results. For that reason, the laptop is used as a stan-dard in the comparison and to provide a clear understanding of the raspberry pi’sperformance as a web server.

In the thesis, the term response time is used interchangeably with the number ofrequests per second (req/s) and both terms will bear the same meaning.

1

Page 8: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 1. INTRODUCTION 1.1. BACKGROUND

1.1 Background

1.1.1 Raspberry pi

The Raspberry pi is a computer that is no bigger than a credit card. It originatedfrom the United Kingdom where it was designed and manufactured. The first in-tention behind the raspberry pi was to come up with a reasonable computing devicefor learning purposes but now it is being used beyond the bound of the academiccommunity.The root of Raspberry Pi can be located at the University of Cambridge’s ComputerLaboratory in 2006. A group of Computer scientists at the university were worriedabout the students focusing on solely using computers rather than understandingthem thoroughly. This led to the foundation of the raspberry pi in order to letthe computer undergraduate students stay in touch with the technical aspect ofcomputing[6].Since the foundation of the first raspberry pi in 2012, there have been several releasesof different models. In 2015, it was the best selling British-computer at which time5 million raspberry pis were sold. At the end of 2019, 30 million raspberry picomputers were sold[7] which shows its prevalent popularity and demand.

Model RaspberryPi 1B+

RaspberryPi 2B

RaspberryPi Zero

RaspberryPi 3B+

RaspberryPi 4B

Release year 2014 2015 2017 2018 2019

Table 1.1: Table of Raspberry Pi models and release year

Raspberry in 2017 was awarded the UK’s top engineering innovation prize called“the Royal Academy of Engineering MacRober Award” and according to the RoyalAcademy Engineering “its tiny, low-cost micro PC can be used as the control centerof almost anything, from video games to robots, multi-room sound systems, petfeeders, or scientific experiments”[8].The earlier models of the raspberry pi have not been able to compete with anaverage desktop PC in any way. Average desktop computers were way ahead incomparison and it had been like that for a few years. However, now with therelease of raspberry pi 3 and especially the raspberry pi 4 being more powerful, thesituations have changed. Raspberry pi 4 can now compete and even perform betterthan your average desktop PC in some situations, which elevates it to the level of abasic entry-level desktop computer[9].

1.1.2 Apache2

Apache is a web server that was first released on December 1, 1995. It is continu-ously maintained by open-community developers under the sponsorship of ApacheSoftware Foundation. Today it is the most used and widely popular among otherweb servers. Apache is an open-source and cross-platform web server where the vastmajority use it in Linux distributions[10]. According to the Web Technology SurveyApache is the most used web server today, with 38.4 percent of live websites hostedin it[11]. A few of the reasons that have made apache the most popular server appli-

2

Page 9: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 1. INTRODUCTION 1.2. PURPOSE

cation are that it has a module-based structure making it highly customizable andhas modules for security and URL rewriting[12].

1.1.3 Nginx

NginX is open-source software that is used for web surfing, load balancing, as a mailproxy server and more. It has been gaining attention for the last few years. NginXwas first developed by Igor Sysoev and was only running on Russian sites[3]. IgorSysoev’s reason for writing nginx was to solve the issues that the existing web servershad in handling a huge number of requests[13]. Since 2004 after nginx became anopen-source project it has become very popular. At the time of this study, it rankssecond at 31.8 percent according to a web server survey[14]. NginX is frequentlyused today as a load balancer and reverse proxy and also to serve as an SSL/TLCterminator or web accelerator between clients and web servers.

The reason why nginx and apache2 are used, as stated in 1.1.3 and 1.1.2, is becausethey are the most popular web servers used today, and the vast majority of all knownwebsites use one of these software.

1.2 Purpose

Raspberry pi uses a Debian-based operating system[15] and Unix is reported tohost about 71.1% of websites with known operating systems[16]. This makes theraspberry pi a good candidate for a web server because its operating system fallsinto the family of Unix. In addition to this, it can be assumed that technical peoplewill likely be curious to see how a raspberry pi performs as a web server and whichweb server software gives it a better performance.Using powerful machines has been the norm in the world of servers, for that reasonanother computer that has considerably higher performance will be utilized in theresearching process. This is to provide a clear performance standard in the study.Nonetheless, since the first release of the raspberry pi, it has now come a longway with the latest releases going head to head in performance with your averagedesktop. The research determines how the Raspberry pi 3B performs in comparisonto a typical laptop and how much of a performance difference there is between thetwo. This study will attempt to provide evident answers to the question and uncoverthe status of the raspberry pi 3b as a web server.

1.3 Scope

By finding out the CPU consumption and response time, evidently presenting theperformances of the web servers’ comparison is included in the scope of the study.Other performance aspects are outside of the scope and will not be discussed. Goinginto greater detail as to why the circumstances in the study have occurred is alsonot included in the scope of the study. The types of contents that will be servedare limited to static and dynamic websites that are served by nginx and apache2.The study will not provide the web server performance evaluations of other devicesother than a raspberry pi 3B and an average personal laptop.

3

Page 10: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 1. INTRODUCTION 1.4. RELATED WORK

1.4 Related work

In this section, we present the articles that we found that were most related toour thesis. Performance of different raspberry pi models and web server softwarewere covered in these related works.

The searches were mainly made in the following websites:• IEEE xplore

• ResearchGate

• Google

The terms that we used for the searches were:

• Web server performance

• Server performance evaluation

• Raspberry pi web server performance evaluation

• Server performance comparison

In Downsizing of Web Server Design Using Raspberry PI 3 Single Board Com-puter Platform[28], the performance of raspberry pi 3B was compared to 1U Intelrack server’s performance in an attempt to provide information on downsizing thearchitecture of a traditional server platform. HTTP-requests ranging from 10 to5000 were sent and the raspberry pi was observed showing better results at higherconcurrency levels, serving static websites. As the study presented, at those mo-ments the average response time of the raspberry pi serving 2000 concurrent userswas 5942 req/ms and 17694 req/ms for 5000 concurrent requests. Although theraspberry pi had heating issues due to the lack of active cooling and slower datatransfer speed in the test, it had a better CPU consumption in comparison. Itsprocessor load averaged 23% while the rack server averaged 87% when both served10000 concurrent HTTP-requests.

In a systematic literature review Web Server Performance of Apache and Ng-inx: A Systematic Literature Review [29] the performance comparison of several webservers focusing mainly on nginx and apache was presented. It was reported in thestudy that nginx outperformed apache on the basis of response time and resourceconsumption such as memory and CPU. It was also stated in the paper that bothapache and nginx were powerful, popular and flexible which make them adaptableto a given situation.

Another related study, Development of Cloud Based Light Intensity Monitor-ing System Using Raspberry Pi [30], was done on a monitoring system that used araspberry pi cloud server. The paper is not a comparison work, but it showed howRaspberry pi 2B was used as a webserver to analyze the intensity of light. In the

4

Page 11: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 1. INTRODUCTION 1.4. RELATED WORK

study raspberry pi was described as a good web server that received less traffic. Be-cause of its low cost, Linux based operating system and ability to create client-serverbased communication, it was used as a cloud web server using apache and MySQL.It was mentioned in the study that it could be used for this purpose while receivingmoderate amounts of traffic.

In the article Understanding the Performance of Low Power Raspberry Pi Cloudfor Big Data[31] the performance of a single node raspberry pi 2 model B and clusterof 12 nodes was assessed. In their test, a client sent diverse workloads that variedbetween 1 KB and 100 KB, to the servers. CPU utilization, network throughputand average response time of the raspberry pi was measured. They found that theresponse time of the raspberry pi was 2809 req/s for 1 KB workload and they alsoobserved the response time decline as the workload increased. For 100 KB workloadthe response time was 98 req/s. The CPU utilization was high for less workload(67.2%), while for a higher workload it was found to be lower (22.3%).

5

Page 12: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

Chapter 2

RESEARCH QUESTION

RQ. How does the performance of a Raspberry pi 3B web server compareto the performance of a personal HP laptop server, using two web serversoftware apache2 and nginx?

As stated in section 1.1 the raspberry pi has come a long way and is catching up tospeed with your average computer. The latest released models are even outperform-ing a few desktop computers. A raspberry pi computer is today used in many areasother than its originally intended domain. Thus, in this study we have chosen to seehow it fares as a web server since we already have hosted a website on a raspberrypi without any issues.

Our goal is, by using a scientific approach, to provide a clear answer for engineers,entrepreneurs, students, and people who are curious about the performance com-parison of a raspberry pi 3B as a web server. We will moreover look at how far theraspberry pi has progressed and if it can replace your average laptop as a web server.In addition to that, the study will give us the pros and cons of the applications nginxand Apache2 based on the experiment that will be conducted on the servers.

The expected outcome of the experiment is that the personal HP laptop will out-perform the raspberry pi 3B.

6

Page 13: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

Chapter 3

RESEARCH METHOD

The type of method that we used and the setup of the experiment will be discussedin the next section.

3.1 Method

An experiment consisting of multiple tests was conducted to provide adequate an-swers to our research question. We evaluated the performances of two machines asweb servers by using two kinds of web server software called nginx and apache2.These two web software were installed on the Raspberry pi 3B and the personal Hplaptop. After the installation similar web-contents were provided to the servers andweb requests would also be sent to them. The evaluation was made in the exactsame manner and conditions for the servers to make the study accurate. By alteringthe website content types we looked at the differences it made in the performanceof the two servers.

The experiment was performed with the computers connected with a cat5 twistedpair ethernet cable to the machine that was sending the HTTP-requests. The ex-periment consisted of several tests. These tests were designed to evaluate the per-formance of the servers in different contexts. Connecting the servers with a wirelessnetwork, gave results that differed. It also resulted in some packets being droppedand occasionally the requests being rejected as well. The usage of cat5 cable to con-nect the devices did not result in any failed requests and the collected results fromthe test deviated from one another but not as much as in the wireless connection.Each test in the experiment was done ten times and the ten results were averagedto give an evened-out result.

Figure 3.1: Test environment

7

Page 14: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 3. RESEARCH METHOD 3.2. COMPUTERS USED IN THE EXPERIMENT

3.2 Computers used in the experiment

The hardware specifications of the HP laptop and the Raspberry pi 3B are listed inthe table below.

Hardware specs Raspberry pi 3B HP laptop

CPU ARM Cortex-A53, 1.2GHz Intel Core i5 7th Gen, 2.5GHz

CPU Cores 4 4

CPU caches L1 and optional L2 L1, L2 and L3

RAM 1GB, 900 MHz 8GB, 2133 MHz

Storage 16GB 256GB

Operating system Raspbian Ubuntu

Table 3.1: Hardware specifications of the contrasted machines in question

3.3 What was measured

Using the testing tool apache bench, to send the requests, the CPU consumptionand the served requests per second of the web servers were measured. The toolprovided us with enough detailed data outputs that we could work with. One of themost interesting characteristics of a web server is how many requests per second itcan handle. As a result of this, out of all the outputs, the one data field that weused was the served requests per second field. This field represented the averagenumber of requests the servers handled during a test session i.e. total taken timedivided by requests. This data gave a clear and reasonable judgment of the serversand clearly displayed their performance in this study.

In regards to the CPU consumption, it was measured by constantly sending re-quests to the servers for one minute. The concurrency level and the number of therequests for each concurrency was altered by varying the flags in the command-linetool. In this way, the CPU consumption of the servers, in separate contexts, wasclearly seen.

8

Page 15: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 3. RESEARCH METHOD 3.4. TOOLS AND SAMPLES USED IN THE EXPERIMENT

3.4 Tools and samples used in the experiment

To create and model the two main types of websites we created our own static anddynamic websites. These websites were served by the two server software mentionedin the introduction and they gave us the opportunity to mimic a real-life scenario.To reveal the performance variations of the machines, we used a web performancetesting tool to send simulated requests.

3.4.1 Static website

The static website was a standard client-side website that consisted of a mixture ofimages, JavaScript and bootstrap code and HTML documents. The home page thatwas used in the test had a total HTML document length of 9381 bytes.

3.4.2 Dynamic website

On the other hand, the used dynamic website had a more complex layout. It wascomprised of two extra layers that did not exist in the static setup. The two layersthat existed below the web servers that we used, were NodeJS and MariaDB servers.This setup helped us configure the web server software as proxy servers. The specificNodeJS route that we sent the requests to would fetch 50 entries in the MariaDBserver. In this case the HTML document size was 36716 bytes.

3.4.3 Apache bench

The tool that was used for the tests was apache bench[23]. This is a user-friendlycommand-line tool that is capable of sending HTTP-requests to web servers, indifferent intensities. Apache bench lets you provide the desired concurrency leveland number of requests to send to the web server being examined. A typical requestmay look like ab -n 100 -c 10 ${URL}.The -c flag specifies the concurrency level which equates to the number of users thatsimultaneously send requests and the -n flag specifies the number of requests thatare sent by each user. In the example request, (ab -n 100 -c 10 ${URL}), 10users are sending 100 requests to a given URL.

3.4.4 NodeJS

NodeJS[24] was used to create communication between the used relational databaseand the web server software. It is a JavaScript open-source framework that is capableof creating dynamic web contents. In our experiment, NodeJS sat as a second layerbeneath apache2 and nginx to contact the database that fetched 50 entries.

3.4.5 MariaDB

A widely used relational database called MariaDB[25] was also part of the experi-ment by existing as the last layer below NodeJS in the dynamic configuration envi-ronment.

9

Page 16: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 3. RESEARCH METHOD 3.5. DESIGN OF THE EXPERIMENT

3.4.6 Excel

Any application of choice could have been used to register and manage the collecteddata, however, in our case excel was chosen for this purpose.

3.5 Design of the experiment

To partly represent real servers, but also to create different circumstances for theexperiment four types of tests took place during the course of the study. 10000requests were sent to the static websites and 1000 requests were sent to the dynamicwebsites. Although we sent different numbers of requests to the static and dynamicsetups, we kept the concurrency level always uniform in both cases. All the testswere made ten times. The results that we collected then were registered and aver-aged.

These tests were constructed to send requests to the servers in increasing the inten-sity of concurrency levels. The concurrency levels started from one and went up to100.

Figure 3.2: Experiment structure

10

Page 17: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 3. RESEARCH METHOD 3.6. THE CONSTRUCTION OF THE TESTS

3.6 The construction of the tests

Below, we present the actual commands that were used to send requests to theservers and their interpretations in the text. In the commands it is noticeable howthe concurrency levels started from one and went up to 100. These instructions wereexecuted in a bash shell to present the handled request per second of the servers.Totally the requests were eight in number because of the two types of websites ex-amined.

ab -c 1 -n 10000 ${local IP address of the server}ab -c 1 -n 1000 ${local IP address of the server}

The concurrency level of the first test was kept to one. This is equivalent to oneuser sending 10000 requests to the static site and 1000 requests to the dynamic.

ab -c 25 -n 10000 ${local IP address of the server}ab -c 25 -n 1000 ${local IP address of the server}

In the second test 25 users sent 10000 requests to the static and 1000 to the dynamicsites.

ab -c 50 -n 10000 ${local IP address of the server}ab -c 50 -n 1000 ${local IP address of the server}

50 concurrent users sent 10000 requests to the static and 1000 requests to the dy-namic site.

ab -c 100 -n 10000 ${local IP address of the server}ab -c 100 -n 1000 ${local IP address of the server}

Finally as seen in the commands the concurrency level reached the maximum amountthat we decided to achieve, which was 100.

3.7 Preparation of the tested servers

To increase the liability of the conducted experiment, before every test the deviceswere restarted. This helped to clear any background processes that we had startedand did not completely terminate. Besides that, to isolate the server software thatwere used we manually killed other user-level processes that were consuming someCPU power. The servers were placed at chilly places in our apartments allowingthem not to heat up and slow down. Furthermore, the raspberry pi had two externalfans mounted on it. This was done because it was still overheating due to thenumerous requests that it received during the experiment and the usage of the extrafans compensated this.

11

Page 18: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

Chapter 4

RESULTS

As described in section 3.3, the measured results in the servers during the experimentwill be presented in this section. These characteristics include the performance ofthe servers in the form of handled requests per second and CPU consumption whichare presented in this section. The results are presented in the form of graphs anddescribing texts. The collected data will be used to answer our research question,by revealing the performance of a raspberry pi 3b compared to a typical personallaptop as a web server.

4.1 Static experiment results of response time and

CPU usage

In the first part of this section, static results for response time and CPU consumptionare presented in the form of graphs. In the second part, the results collected fromthe dynamic experiment follow.

4.1.1 Measured response time results of static websites

Figure 4.1: A graph that shows response time of the two machines serving a staticwebsite using apache2 as a web server software

12

Page 19: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 4. RESULTS 4.1. STATIC EXPERIMENT RESULTS OF RESPONSE TIME AND CPU USAGE

Figure 4.2: A graph that shows the response time of the two machines serving astatic website using nginx as a web server software

4.1.2 Measured CPU consumption results of static websites

Multiple HTTP-requests were sent, to the servers that were serving static websites,for one minute. The usages were recorded and presented plotted in line graphsfurther down. The number of users used in the static experiment was 1 and 25.Each group of users sent 10000 requests to the servers. The CPU consumption wasmeasured in a duration of 80 seconds but the actual result began around the mark of10 seconds and ended around 70 seconds. The green line indicates the laptop’s CPUusage while the white line represents Pi’s. Inside the evaluated devices, there arefour cores and the results presented below show the consumption of all the availablecores.

13

Page 20: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 4. RESULTS 4.1. STATIC EXPERIMENT RESULTS OF RESPONSE TIME AND CPU USAGE

Figure 4.3: A graph that shows the CPU usage of the two machines serving a staticwebsite using apache2 as a web server software (one user sending 10000 requests)

Figure 4.4: A graph that shows the CPU usage of the two machines serving a staticwebsite using nginx as a web server software (one user sending 10000 requests)

14

Page 21: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 4. RESULTS 4.1. STATIC EXPERIMENT RESULTS OF RESPONSE TIME AND CPU USAGE

Figure 4.5: A graph that shows the CPU usage of the two machines serving a staticwebsite using apache2 as a web server software (25 users sending 10000 requests)

Figure 4.6: A graph that shows the CPU usage of the two machines serving a staticwebsite using nginx as a web server software (25 users sending 10000 requests)

In four of the line graphs, the y-axis depicts the current CPU consumption of thecomputers in relation to the time in seconds that is shown on the x-axis. The nextpart of the result presentation is the dynamic response time and CPU consumptionwhich will follow below.

15

Page 22: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 4. RESULTS 4.2. DYNAMIC EXPERIMENT RESULTS OF RESPONSE TIME AND CPU USAGE

4.2 Dynamic experiment results of response time

and CPU usage

The following part of this experiment presents the dynamic results for response timeand CPU consumption.

4.2.1 Measured response time results of dynamic websites

Similar to the previous static test, in this section the server’s performance resultsin a dynamic website context will be presented. Identical coloring is used here as inthe former graphs, showing the results of the pi in blue and the laptop in orange.In place of 10000 requests as in static, 1000 requests were sent due to the durationof the dynamic experiments getting longer. The number of users was nevertheless,the same in this test as in the former one. In figure 4.7, the results seen are fromwhen apache2 was used to serve the requests and in figure 4.8 nginx was used as asubstitute software in the devices.

Figure 4.7: A graph that shows the response time of the two machines serving adynamic website using apache2 as a web server software

16

Page 23: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 4. RESULTS 4.2. DYNAMIC EXPERIMENT RESULTS OF RESPONSE TIME AND CPU USAGE

Figure 4.8: A graph that shows the response time of the two machines serving adynamic website using nginx as a web server software

4.2.2 Measured CPU consumption results of dynamic web-sites

The setup and presentation for dynamic CPU consumption are very similar to thestatic setup. The only difference here is that every user did 1000 requests eachinstead of 10000 requests.

Figure 4.9: A graph that shows the CPU usage of the two machines serving adynamic website using apache2 as a web server software (one user sending 1000requests)

17

Page 24: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 4. RESULTS 4.2. DYNAMIC EXPERIMENT RESULTS OF RESPONSE TIME AND CPU USAGE

Figure 4.10: A graph that shows the CPU usage of the two machines serving a dy-namic website using nginx as a web server software (one user sending 1000 requests)

Figure 4.11: A graph that shows the CPU usage of the two machines serving adynamic website using apache2 as a web server software (25 users sending 1000requests)

18

Page 25: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 4. RESULTS 4.2. DYNAMIC EXPERIMENT RESULTS OF RESPONSE TIME AND CPU USAGE

Figure 4.12: A graph that shows the CPU usage of the two machines serving a dy-namic website using nginx as a web server software (25 users sending 1000 requests)

As well as in the static experiment, the CPU percentage here is on the y-axis corre-sponding to the time taken on the x-axis. The presentation of results for responsetime and CPU consumption will be concluded here and their analysis will commencein the following segment.

19

Page 26: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

Chapter 5

ANALYSIS

To further analyze the results, we used a popular tool called iperf[26] to measurethe bandwidth speed over the cat5 ethernet LAN cable. The value presented bythe tool was exactly the same for the two devices. Both the raspberry pi 3B andthe HP laptop had 94.9 Mbits/sec. We used cat5 and cat6 cables to verify theresult and in both cases the result was exactly 94.9 Mbits/sec. The fact that bothdevices had access to the same bandwidth speed gives an indication at what limitthe bytes were being transmitted during the request and response interaction. Inthis instance, the transfer rate was the same, thereby making the response time andCPU consumption test fair.

5.1 Static experiment analysis of response time

and CPU usage

In this section we will present the analysis of the results that have been capturedduring the course of the servers’ evaluation and provide answers to the researchquestion. Analysis of the static results will be presented first as usual and we willmove on to dynamic result analysis.

Reminder of the research question: How does the performance of a Raspberrypi 3B web server compare to the performance of a personal HP laptop server, usingtwo web server software apache2 and nginx?

5.1.1 Response time analysis of static websites

From the experiment in section 4.1.1, we get results that show the response time ofthe web servers. The first graph in figure 4.1, shows the number of average servedrequests per second. Throughout this specific test the number of HTTP-requestswas 10000 and apache2 was used. Although the number of requests was constantwhile advancing through the evaluation the number of users was increased. The ex-act same procedure was used for the second part of the static experiment except theserver software was different. In the second case nginx was used as server software.The results for that test are plotted in a bar graph and can be found in figure 4.2.Both the raspberry pi and the HP laptop reported a response time under 300 req/s(requests per second) which happened when apache2 was used and a single usersent 10000 requests. A result that was above 300 was observed during the usageof nginx and a single user. In all the other cases, where the number of users wasincreased, the servers had a response time result that was between≈1133 and≈1170.

How do the servers perform while hosting static contents?

The performances are notably close, that the differences are negligible. For thisreason, the performance of the tested raspberry pi is highly similar to that of atypical personal laptop. The usage of web server software (apache2 or nginx) doesnot entirely affect the performance of the devices. Especially on large concurrency

20

Page 27: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 5. ANALYSIS 5.2. DYNAMIC EXPERIMENT ANALYSIS OF RESPONSE TIME AND CPU USAGE

levels, both devices have a very similar rate of served requests per second. When theconcurrency level is reduced to one user and 10000 requests, the laptop is slightlyfavored in both cases. However, when the concurrency level is raised, it is seen thatboth devices reached their maximum number of requests that they can serve persecond. With the provided concurrency levels, the raspberry pi is always able tocatch up with the laptop in terms of response time performance.

5.1.2 CPU consumption analysis of static websites

The results in the CPU usage of the static websites served by apache2 shows (seefigure 4.3) that the raspberry pi had an average consumption of 13.9%. Simultane-ously, the HP had 7.9% CPU consumption on average. This CPU percentage resultwas observed when a single user was sending 10000 requests. Changing the webserver software to nginx, in the same concurrency level, showed the raspberry pihaving a CPU percentage of 6.1% on average. Meanwhile, HP came with an averageconsumption of 4.8%. As well as that, the percentage results became even morevisible in figure 4.5 in which case apache2 was used and 25 users were sending therequests. It is indicated in the graph that the HP had on average 23% usage andthe pi had on average nearly 40%. By referring to the next figure 4.6 where nginxwas used, the laptop was seen with the average CPU percentage of 12.8% and inthe meantime the raspberry pi had 12.9% usage ranking by a narrow margin belowthe laptop.

How does the CPU consumption of the servers compare?

The usage of apache2 in the case of static websites is what creates a noticeable per-formance difference between the two servers. As seen in figure 4.5, sending 10000requests and using 25 concurrent users reveals a remarkable CPU performance gapwhere the raspberry pi consumes more processor power. Apart from that result,regardless of the number of requests and the server software, the consumption dif-ference is not as significant. The usage of nginx gives the servers the ability to usea very similar level of CPU consumption in spite of request and concurrency scale.However, out of all the four tested cases the laptop came out notably dominatingduring the usage of apache2 in larger percentage quantities as in the result in figure4.5 or smaller as in figure 4.3.

5.2 Dynamic experiment analysis of response time

and CPU usage

In this part of the thesis analysis of the recorded dynamic results in the form ofresponse time and CPU consumption will be presented.

5.2.1 Response time analysis of dynamic websites

Serving a complex dynamic website is a task that is not as lightweight as serving astatic site. As can be seen in the experiment overview (see figure 3.2), the dynamicconfiguration is more complex. Going through those two extra layers to fetch data

21

Page 28: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 5. ANALYSIS 5.2. DYNAMIC EXPERIMENT ANALYSIS OF RESPONSE TIME AND CPU USAGE

and return it to the client requires the devices to work harder. As opposed to theformer static test, we will see in the dynamic results that the computer with a betterprocessor capacity is performing significantly better. The performance difference iseven more apparent as the number of users increases. In those cases, the laptop hada response time that was almost always three times the raspberry pi’s. This is truefor either of the server software. The only time the performances of the servers didnot drastically differ was when the servers were serving only one user. The HP iseven seen performing slightly better there as well.

How do the servers perform while hosting dynamic websites?

In answer to our research question, in the case of dynamic websites the raspberrypi 3B performs poorly with regard to multiple users. As for one user, the raspberrypi 3B has a relatively better performance in comparison, however, the HP laptopis still dominant. Consequently proving that when the servers are serving dynamiccontent, the HP has a quicker response time.

5.2.2 CPU consumption analysis of dynamic websites

Referring to figure 4.11 and 4.12, whilst the laptop had an average CPU percentageof about 20% in both cases, the raspberry pi had more than 30%. This happenedwhen multiple users, exact 25 in number, simultaneously sent 1000 requests in bothcases of apache and nginx. That is a difference of more than 10% in CPU consump-tion. Referring to figure 4.9, we can see that the raspberry pi had a lower CPUconsumption serving the dynamic website. It had an average of 9% consumptionwhereas the laptop had an average of 11% consumption. This result was observedwhen both servers were using apache2. In figure 4.10, the raspberry pi had an av-erage CPU usage of almost 20% and at the same time the laptop had 18%. Theservers were using nginx in this context.

How does their CPU consumption compare?

When it comes to dynamic websites, for the majority of the times the laptop hasthe upper hand. Regardless of the server software installed, increasing the numberof users creates a tangible difference in their resource usage thereby favoring thelaptop. If a single user sends the requests, the raspberry pi is able to get up tospeed with the laptop. In this given situation the raspberry pi can handle the sameamount of requests with less CPU consumption if apache2 is used. On the sameconcurrency level the laptop will consume a slightly less CPU power, if nginx is usedinstead.

22

Page 29: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

Chapter 6

DISCUSSION

6.1 Response time

Looking at their hardware, the raspberry pi 3b has a processor that has a lowerclock speed than that of the HP laptop (see table 3.1). Despite that, both servershave four cores. This indicates that if the servers only had a single core, the re-sults presented in section 4.1.1 would have been different. The dominant devicein the comparison would always have been the laptop. This is as a result of thelower CPU clock cycles possessed by the raspberry pi. We speculate this becauseas a general rule of thumb, processors that possess higher clock cycles execute tasksfaster[17]. Nevertheless, with combined cores even though the processors had differ-ent clock speeds, the raspberry pi 3B exhibited similar performance to the laptopwhen they served static websites. The two web server software proved a very similarphenomenon in all aspects of the static evaluation. When the concurrency levelwas reduced to one user and 10000 requests, the laptop was slightly favored in bothcases. However, when the concurrency level was raised, both devices reached theirmaximum number of requests they could serve per second. In the related work[31]referred to in section 1.4, the raspberry pi’s performance was observed to decline asthe workload increased. It was seen in their study that as the workload increasedfrom 1 KB to 100 KB, the number of served requests declined together with theCPU consumption. This event did not entirely occur in our study as the numberof served requests generally increased together with the CPU consumption when weincreased the workload by sending more concurrent HTTP-requests.

In the other related work[28], the raspberry pi’s fastest recorded response time was17694 req/ms (17.694 req/s) serving 2000 concurrent users. Even though we did nottest the raspberry pi’s performance with a higher concurrency level than 100, thefastest response time that we observed in our study was 1164 req/s.

On the issue of dynamic websites, the hardware difference of the servers clearlyshowed its mark on their performances. The HP has more RAM, which gives it thepossibility to map bigger chunks of response data in the memory page (see table3.1). Due to this page faults will be raised infrequently by the hardware. This helpsthe laptop to avoid extra communication with the disk to go and fetch entries fromthere since all the necessary data is available closer to the CPU. Besides that, thelaptop has a RAM speed of 2133 MHz contrasted with the raspberry pi, that hasa RAM speed of 900 MHZ. In addition to that, the laptop uses an SSD hard diskwhile the raspberry pi has a micro sd card as its storage. As presented in table 6.1,the read and write speed of the storages are also distinct in the machines.All these combinations of differences in the devices’ architectures impact the inter-action speed of the HTTP-request and response. It is also evidently set forth in theresults presented graphically.

23

Page 30: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 6. DISCUSSION 6.2. CPU USAGE

Storage speed Read speed Write speed

Raspberry Pi 3B 23.7 MB/s 13.5 MB/s

HP laptop 509 MB/s 413 MB/s

Table 6.1: Read and write speeds of the servers measured with a Linux tool[27]

6.2 CPU usage

The CPU usage results of the raspberry pi are in some cases in conflict with theexpectation. This is because in some static tests it came very close to the HP whichhad a better processor. As well as that, even in one moment in the dynamic test itshowed a consumption slightly lower than the HP. Furthermore when the combinedrequests were few the raspberry pi competed with the HP and this happened evenwith many requests when using nginx. It could in fact do well when it used nginx(see figure 4.6) compared to when it instead used apache2 (see figure 4.5).However when comparing this to the dynamic test (see figure 4.12) there was a cleardifference in CPU consumption between the HP and the raspberry pi opposite tothe case in figure 4.6, which is very unexpected. The main reason for that is nginxdoes not rely on context switching unlike in the case of apache2. As seen in figure6.1, in the case of apache2, there were more threads running in the processor in con-trast to the case of nginx in figure 6.2. This means that a thread gets blocked fromrunning in the CPU by the operating system from time to time and is replaced byanother thread to run in its place[18]. However, nginx does not depend on contextswitching. A single thread can answer all requests which will result in less mem-ory consumption since every thread consumes memory which in turn contributes tomore CPU usage. This result in this study agrees with one of the related worksmentioned in chapter 1. In their study[29], they mentioned that nginx had less re-source consumption compared to other server software they reviewed. In figure 4.9the raspberry pi had a CPU consumption of 9% on average and the HP had 11%through which the raspberry pi displayed a better usage of CPU recourse. In thisinstance the raspberry pi used 7 threads for the MariaDB database server whilst theHP used 11 threads for the same database server.Another explanation for the difference in the processor usage results is mainly thedifference in CPU and RAM specs of the devices. The CPU handles the systeminformation, manages the clock-speed of the computer and the speed of data pro-cessing. This will mean that the CPU that has more number of bits in it, will havebetter performance and therefore less processor power will be required by the de-vice[19][20]. The laptop has a CPU-clock speed of 2.5GHz as a base and with itsturbo boost it can go up to 3.1GHz[21] compared to the raspberry pi’s CPU clockspeed of 1.2GHz. This can explain the higher CPU usage in the raspberry pi, espe-cially in figures 4.3, 4.5, 4.11, and 4.12. Considering that the RAM size decides theusage of memory in an operating system and applications, the devices’ performancecan be affected as a result of that[22]. The raspberry pi has only one gigabyte ofRAM while the HP has eight gigabytes, which will also account for the higher CPUusage by the raspberry pi.

24

Page 31: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 6. DISCUSSION 6.2. CPU USAGE

Figure 6.1: A screenshot that shows the CPU usage of apache2 on HP with 25 userssending 10000 requests (52 new threads allocated)

Figure 6.2: A screenshot that shows the CPU usage of nginx on HP with 25 userssending 10000 requests (fewer threads allocated)

In addition to that the laptop has three cache registers (L1, L2, L3) in its CPU,unlike the raspberry pi that has only L1 and optional L2 cache memories (see table3.1). Another factor that has an impact on computer performance is registers in aprocessor. A snapshot of the registers in the two devices (see figure 6.3 and 6.4)shows how the registers differ in number and architecture. The laptop has more

25

Page 32: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 6. DISCUSSION 6.2. CPU USAGE

registers in its CPU compared to the raspberry pi. This gives it more space to storedata during computing.

Figure 6.3: A snapshot of the registers in the raspberry pi’s CPU

Figure 6.4: A snapshot of the registers in the laptop’s CPU

26

Page 33: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

Chapter 7

CONCLUSION

In comparison to the laptop, the raspberry pi exhibits a very close performance inthe static context. The usage of the server software, as well as the concurrency level,does not make a significant difference.The raspberry pi has a higher CPU consumption in all cases serving a static web-site. This becomes even apparent on higher concurrency levels if apache2 is used.Nonetheless, nginx gives the raspberry pi a better CPU consumption even surpris-ingly in the case of higher concurrency levels.

In the dynamic website context, regardless of the software that is used, the rasp-berry pi has a response time that is notably lower than the HP laptop. This happensespecially when the concurrency level of the requests is increased.Despite the raspberry pi being the underdog in the comparison, it clearly outper-formed the more powerful HP laptop with reduced concurrency level. In this unex-pected moment, both were using apache2. In the case of nginx and higher concur-rency level, the laptop is dominant in the comparison.

The raspberry pi 3B results did not always stray away from the expectations thatthe personal laptop performs better in general. Nevertheless, there were unexpectedresults from the raspberry pi. Both in response time and CPU usage, it comes veryclose to the laptop’s results and even does better on some occasions. RegardingNginx and apache2 both have their moments where they are suitable to be usedwith the raspberry pi. However, nginx seems to be more compatible with it sinceits performance does not differ as much as it differs in the case of apache2. Nginxgives both devices less processor power consumption in general.

In conclusion, the raspberry pi has shown good results and has come a long wayconsidering its size, price and the hardware specification gaps in comparison to thelaptop. Can a raspberry pi 3B replace your average laptop? Well, that depends onthe intended usage of the equipment and the amount of presented workload. If it isfor a web server only, then with fairly moderate work then yes it can replace yourtypical personal laptop. It can be used as a web server with moderate amounts ofrequests. Since its price is only a fraction of your regular laptop, this makes it avery compelling alternative. However, if the purpose is to run a complex dynamicsite that has a high CPU demand, then a raspberry pi 3B is not the better optionsince currently it does not perform as well as a personal laptop.

27

Page 34: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

Chapter 8

VALIDITY THREATS

The software that we have used in the experiment are well-known tools that arecredible. These tools are used in real production environments and trustworthy.Nevertheless, the devices that have been used in the study are not brand new andthis can threaten their efficiency. One validity threat is that the laptop has beenused for several years. Its current state is not the same as when it was new. Thismay affect the collected performance data and make it less valid. Another threat isthe fact that the raspberry pi had the two extra fans mounted on it that served asa cooling system. Apart from the inbuilt fan, the laptop was not provided with anyextra cooling system. This may favor the raspberry pi in the comparison, making itsperformance come slightly closer to the performance of the laptop. There were twooperating systems installed on the laptop. When it was bought, only Windows 10was pre-installed on it. The Ubuntu operating system in the laptop was a dual bootoperating system that we installed by ourselves. We might make errors installing itas it was a complicated process and this may lead to a validity threat.

28

Page 35: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

Chapter 9

FUTURE WORK

As stated in section 3.3, the main focus of the thesis was to find out the performanceof a raspberry pi 3B by comparing it to a personal laptop. The study mainlytargeted response time and CPU usage of the devices. In the future, however, itis interesting to study other aspects such as bandwidth consumption and RAMconsumption of the servers. Testing the devices with more complex types of websitecontents can also be studied in the future. At the time of this thesis, a new raspberrypi model has been released. It is fascinating to see how the new model does in aperformance comparison with an average personal laptop. Considering that thereare many different tools that can be used today, it is worthwhile to experiment withthese tools to further examine the performance results.

29

Page 36: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

Chapter 10

REFERENCES

[1] Kurose, James F., and Keith W. Ross. Computer Networking: a Top-down Ap-proach. Pearson, 2017.[2] Britannica. Server. Date of reference: 2020-04-30URL:https://www.britannica.com/technology/server

[3] Nginx. What is NGINX? Date of reference: 2020-04-30URL:https://www.nginx.com/resources/glossary/nginx/

[4] httpd.apache.org. Apache HTTP Server. Date of reference: 2020-04-30URL:https://httpd.apache.org/

[5] Google. Datacenters in google. Date of reference: 2020-04-30URL:https://www.google.com/about/datacenters/

[6] Packt. History and background of the Raspberry Pi. Reference date: 2020-03-12URL:https://subscription.packtpub.com/book/hardware_and_creative

[7] Wikipedia contributors. Raspberry Pi. Date of reference: 2020-03-12URL:https://en.wikipedia.org/wiki/Raspberry_Pi#Generations_of_released_

models

[8] Royal Academy of Engineering. Raspberry Pi wins UK’s top engineering inno-vation prize Date of reference: 2020-03-12URL:https://www.raeng.org.uk/news/news-releases/2017/june/the-coding-

revolution-marches-on-raspberry-pi-wins

[9] K.G Orphanides, June 2019. Raspberry Pi 4 review. Reference date: 2020-04-30URL:https://www.wired.co.uk/article/raspberry-pi-4-review-price-release

[10] E-Soft Inc, September 2018. OS/Linux Distributions using Apache. Date ofreference: 2020-03-19URL:https://secure1.securityspace.com/s_survey/data/man.201808/apacheos.

html

[11] Q-Success. Web technology survey. Date of reference: 2020-03-18URL:https://w3techs.com/technologies/details/ws-apache/2

[12] Domantas Gudeliauskas, March 2020. What is apache. Date of reference: 2020-03-19URL:https://www.hostinger.com/tutorials/what-is-apache

[13] Nginx,inc. NginX. Date of reference: 2020-03-20URL:https://nginx.org/en/

[14] Netcraft Ltd. February 2020 web server survey. Date of reference: 2020-03-20URL:https://news.netcraft.com/archives/category/web-server-survey/

[15] Raspberry Pi Foundation. Raspbian. Date of reference: 2020-03-21URL:https://www.raspbian.org/

[16] Q-Success. Usage statistics of Unix for websites. Date of reference: 2020-03-21URL:https://w3techs.com/technologies/details/os-unix

[17] Intel Corporation. What is clock speed. Date of reference: 2020-04-23URL:https://www.intel.com/content/www/us/en/gaming/resources/cpu-clock-

speed.html

[18] Antonis Christofides, November 2016. Why nginx is faster than Apache.Date of reference: 2020-04-26URL:https://djangodeployment.com/2016/11/15/why-nginx-is-faster-than-

apache-and-why-you-neednt-necessarily-care/

30

Page 37: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

CHAPTER 10. REFERENCES

[19] MiniTool Software Ltd, March 2020. What makes a computer fast.Date of reference: 2020-04-24URL:https://www.minitool.com/backup-tips/what-makes-a-computer-fast.html

[20] Per Christensson, April 2012. Processor definition. Reference date: 2020-04-24URL:https://techterms.com/definition/processor

[21] Laptoping, February 2017. Intel Core i5-7200U. Date of reference: 2020-04-24URL:https://laptoping.com/cpus/product/intel-core-i5-7200u/

[22] Per Christensson, June 2019. RAM definition. Date of reference: 2020-04-24URL:https://techterms.com/definition/ram

[23] The Apache Software Foundation. Apache HTTP server benchmarking tool.Date of reference: 2020-03-21URL:https://httpd.apache.org/docs/2.4/programs/ab.html

[24] OpenJS Foundation. Node.js introduction. Date of reference: 2020-03-21URL:https://nodejs.org/en/

[25] MariaDB Foundation. About MariaDB server. Date of reference: 2020-04-24URL:https://mariadb.org/about/

[26] ESnet. What is iPerf/iPerf3: Date of reference. 2020-04-23URL:https://iperf.fr/

[27] Shellhacks, December 2016. Command-line and tricks: Date of reference: 2020-04-23URL:https://www.shellhacks.com/disk-speed-test-read-write-hdd-ssd-perfomance-

linux/

[28] B. Mados, J. Hurtuk, E. Chovancova, P. Fecil’ak and D. Bajko, ”Downsizing ofweb server design using Raspberry Pi 3 single board computer platform,” 2017 IEEE14th International Scientific Conference on Informatics, Poprad, 2017, pp. 238-242,doi: 10.1109/INFORMATICS.2017.8327253.[29] Kunda, Douglas & Chihana, Sipiwe & Muwanei, Sinyinda. (2017). Web ServerPerformance of Apache and Nginx: A Systematic Literature Review. 8. 43-52.[30] N. P. Kumar and R. K. Jatoth, ”Development of cloud based light inten-sity monitoring system using raspberry Pi,” 2015 International Conference on In-dustrial Instrumentation and Control (ICIC), Pune, 2015, pp. 1356-1361, doi:10.1109/IIC.2015.7150959.[31] Hajji, Wajdi & Tso, Posco. (2016). Understanding the Performance of LowPower Raspberry Pi Cloud for Big Data. Electronics. 5. 29. 10.3390/electron-ics5020029.

31

Page 38: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

Appendix A

Supplemental information

Tools version

MariaDB 15.1

Apache bench 2.3

Apache2 2.4

Nginx 1.14

NodeJS 13.7

Raspberry pi OS Raspbian GNU/Linux 9.11 (stretch)

HP OS Ubuntu 18.04

Table A.1: Versions of the software used

32

Page 39: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

APPENDIX A. SUPPLEMENTAL INFORMATION

Time(s) Pi 1 1000 HP 1 1000 Pi 25 1000 HP 25 1000

0 0.75 1.02 0.5 0.251 0.75 0.51 0.5 0.762 0.75 0.76 0.5 1.513 0.75 0.76 0.5 04 1 0.76 3.02 0.55 2.52 0.25 0 1.026 0.5 0.76 0.5 0.57 0.5 0.51 0.5 0.518 0.5 0 0.5 0.519 0.5 1.01 0.25 0.7610 1.01 0.51 2.02 011 9.61 7.56 31.73 17.7412 16.67 9.34 39.37 22.5413 18.78 8.38 42.79 24.3714 15.93 8.16 38.95 17.8315 12.07 8.04 43.15 22.7216 14.06 10 40.41 25.1317 14.43 8.25 39.74 24.318 16.08 8.33 42.75 24.7519 14.61 8.61 39.43 25.2620 17.01 7.85 41.41 24.8721 16.36 8.08 42.75 22.3422 10.31 9.43 42.68 24.5523 14.43 9.64 43.73 24.3724 15.45 8.08 43.6 22.1125 15.1 6.91 42.82 22.826 17.09 10.83 40.36 24.6227 17.02 8.73 40.72 24.2328 9.67 9.34 41.39 24.3729 14.7 12.69 38.74 24.9430 14.7 7.87 39.32 25.0631 11.64 5.67 41.49 24.2332 15.03 8.52 45.79 23.3833 12.44 8.61 38.73 23.8334 12.95 7.38 39.37 24.1835 10.7 7.2 41.54 25.1336 12.72 9.11 41.3 26.5737 10.68 6.91 42.14 23.81

33

Page 40: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

APPENDIX A. SUPPLEMENTAL INFORMATION

Time(s) Pi 1 1000 HP 1 1000 Pi 25 1000 HP 25 1000

38 13.47 9.52 42.04 24.9439 16.12 9.5 40.84 24.0540 14.47 7.09 42.79 22.9841 16.02 7.07 42.32 22.8942 16.92 6.89 41.13 22.4943 16.71 8.52 42.93 27.1644 10.51 6.92 43.15 25.0645 11.25 9.02 41.69 24.7446 15.91 5.87 40.31 22.0847 14.7 7.65 41.96 23.7748 18.39 7.83 41.13 23.349 14.57 7.87 44.36 22.9450 14.77 6.84 43.87 26.0151 13 7.56 38.99 25.2552 15.68 7.4 39.68 24.0353 16.75 8.12 43.33 23.8554 13.38 7.4 41.3 24.7455 12.69 7.87 38.22 24.6956 14.72 9.52 41.88 24.4957 13.78 7.58 43.7 23.958 13.11 8.82 42.49 2559 12.57 8.16 41.02 25.3860 14.68 6.14 42.24 23.8261 17.09 10.69 42.57 25.8862 15.98 8.35 40.98 22.5163 16.54 9.05 40 24.8164 19.35 7.83 38.62 24.1765 15.64 8.33 43.56 25.8166 15.23 8.4 38.87 23.8367 17.72 7.83 41.35 23.9268 14.58 9.3 40.2 23.1469 14.03 7.4 44.63 23.4470 13.78 8.77 43.26 22.0571 6.05 4.83 34.77 19.4372 0.25 0.76 0.25 1.0173 0.5 0.51 0.25 0.2674 0.5 0.75 0.5 0.7675 0.25 0.76 3.02 0.7676 3.54 1.01 0.25 0.7677 0.25 0.76 0.5 0.2578 0.25 0.51 0.25 0.2679 0.5 0.76 0.25 0.7580 1 0.25 0.5 0.51

Table A.2: Apache2 static CPU result

34

Page 41: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

APPENDIX A. SUPPLEMENTAL INFORMATION

Time(s) Pi 1 1000 HP 1 1000 Pi 25 1000 HP 25 1000

0 1.01 0.51 0.5 0.261 0.25 0.51 0.5 0.512 0.5 0.76 1.26 0.513 0.5 0 0.25 1.014 0.5 0.5 0.25 0.765 0.5 1.02 0.25 0.776 1.26 0.25 0.25 1.017 0.5 0.76 0.5 0.768 0.25 0.51 2 0.769 0.25 1.5 0.5 0.2510 0.25 0.26 0.25 1.0211 4.47 4.79 16.62 8.7912 7.55 5.6 13.45 12.2413 4.66 5.81 8.33 6.6714 3.86 5.45 10.2 12.1415 4.86 4.4 11.65 9.8716 6.67 5.09 9.06 9.3717 9.07 3.91 9.3 8.8418 4.23 5.32 17.43 10.719 7.59 2.58 17.16 13.5520 3.81 5.14 15.98 8.8421 7.85 6.89 15.76 10.322 5.14 4.16 17.77 1123 4.77 5.12 14.79 11.1124 3.79 4.64 16.71 12.6325 4.79 4.64 11.24 13.2526 7.31 3.89 17.65 13.5927 7.57 4.4 18.11 14.8928 8.71 5.18 15.78 14.4329 6.88 3.05 20.11 15.7530 3.81 5.09 14.25 13.5231 6.47 5.61 14.72 15.4232 7.59 4.11 16.27 13.2333 5.38 4.18 15.11 14.3634 10.42 4.19 11.43 1535 10.05 6.38 12.43 13.7836 8.23 3.06 17.11 13.7137 5.38 3.65 11.14 12.6638 5.84 3.92 13.8 15.3739 7.29 3.32 10.63 13.6440 5.8 4.8 7.99 17.0441 6.04 4.4 14.72 14.5742 7.05 4.16 12.68 14.1443 6.42 3.65 17.07 14.6144 4.85 4.38 14.71 14.5

35

Page 42: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

APPENDIX A. SUPPLEMENTAL INFORMATION

Time(s) Pi 1 1000 HP 1 1000 Pi 25 1000 HP 25 1000

45 6.9 7.18 11.83 15.5446 5.11 4.4 19.72 12.4747 7.92 4.91 13.88 13.5248 4.3 6.05 10.32 16.0949 7.96 3.14 8.53 12.8250 6.45 4.88 8.38 17.4951 6.5 5.34 9.41 14.5452 6.15 5.7 12.75 14.1453 5.96 5.09 16.53 13.5754 5.43 4.9 16.17 12.3755 5.16 4.66 13.73 14.0456 6.78 6.44 13.93 12.557 10.08 5.34 10.12 14.2558 8.4 5.15 12.78 14.3259 7.69 5.84 10.92 13.3760 10.21 5.88 12.39 13.8961 8.12 5.7 12.36 13.362 5.68 5.87 10.5 12.7663 6.95 4.68 11.82 14.3264 6.43 5.44 11.9 13.5265 4.41 5.63 11.58 15.1566 8.04 7.98 11.11 14.0367 4.41 7.96 8.8 1568 5.69 5.6 18.13 13.0869 5.65 6.98 13.61 14.3270 3.61 7.25 15.45 15.3771 3.46 3.8 7.92 10.872 0.5 0.51 0.5 0.5173 0 0.25 0.76 1.0174 0 0.51 0.5 0.2575 0 0.25 0.25 0.7676 0.75 0.76 0 0.2577 1.76 0.76 0 1.0178 0 0.25 0.25 0.5179 0 0.76 0.76 1.580 0 0.51 0 1.02

Table A.3: Nginx static CPU result

36

Page 43: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

APPENDIX A. SUPPLEMENTAL INFORMATION

Apache2 NginxPi HP Pi HP

Users Requests

1 10000 251.82 246.42 299.18 317.95273.28 267.21 297.38 302.7260.17 270.9 300.42 312.62261.77 290.7 294 310.41262.94 288.46 300.83 301.96264.13 246.95 307.47 306.75255.01 285.66 302.8 307.96251.3 288.09 307.19 310.7253.41 285.82 309.47 310.56262.57 264.33 289.02 310.28

25 10000 1137.35 1148.91 1133.62 1123.121145.66 1145.99 1136.9 1130.51133.86 1150.2 1135 1153.941138.47 1136.14 1136.42 1132.091135.38 1132.35 1137.12 1134.41136.01 1139.02 1130.23 11451142.35 1141.58 1136.35 1127.051142.61 1141.88 1132.15 1126.371143.5 1132.35 1141.58 1126.8

1126.64 1123.93 1130.53 1132.77

50 10000 1163.12 1162.94 1150.22 1153.091166.2 1177.5 1152.08 1141.26

1164.72 1169.82 1154.1 1143.281161.93 1160.55 1148.68 1144.831160.2 1173.66 1154.71 1151.121165.5 1168.12 1152.5 1154.5

1161.74 1168.78 1145.24 1160.141164.35 1171.77 1069.95 1144.071164.87 1174.86 1151.4 1147.221166.08 1178.07 1155.06 1148.01

100 10000 1164.89 1183.07 1154.2 1142.361165.46 1165.7 1152.92 1141.661159.35 1161.77 1152.44 1171.981163.87 1157.57 1152.71 1169.891166.36 1163.95 1153.26 1152.941164.67 1164.35 1153.9 1148.791165.03 1173.44 1153.93 1188.11165.67 1161.14 1149.07 1171.451164.79 1182.65 1152.67 1190.291167.51 1150 1153.99 1144.15

Table A.4: Static response time result

37

Page 44: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

APPENDIX A. SUPPLEMENTAL INFORMATION

Time(s) Pi 1 1000 HP 1 1000 Pi 25 1000 HP 25 1000

0 1.26 0.76 0.25 1.011 0.5 0.51 1.01 0.512 0.25 1.26 0.25 0.513 0.25 0.25 0.25 0.764 0.25 0.76 0.25 0.515 1 0.76 0.25 0.756 0.76 0.25 1.01 0.767 0.25 0.26 0.5 0.518 0.5 0.25 0.25 0.769 0.25 0.51 0.25 1.0110 0.25 0.51 0.75 0.2511 9.92 13.25 23.66 16.1212 13.55 12.31 33.33 24.4313 9.62 11.56 32.39 22.8214 8.74 10.41 30.1 22.5815 12.08 12.34 30.31 23.6916 7.4 12 32.74 23.6917 10.58 14.32 32.73 21.8618 7.18 12.06 36.15 21.5419 9.21 12.44 30.16 23.2820 6.74 9.92 30.24 22.3321 9.51 11.11 35.13 20.222 9.09 12.72 34.97 2223 10.54 13.53 34.11 21.9824 8.57 13.25 32.64 21.0925 8.09 13.23 29.52 20.1526 8.53 13.47 34.3 22.1927 8.97 11.81 33.16 18.4628 9.28 11.17 32.3 21.6429 9.16 10.89 32.89 18.8430 7.99 11.34 31.93 20.9531 10.35 11.03 33.6 2032 9.62 11.87 32.19 20.0533 8.63 12.78 34.03 19.5934 6.7 10.61 32.11 21.0535 7.97 12.78 32.37 20.9136 9.23 11.14 32.54 19.9537 6.72 10.63 31.41 21.78

38

Page 45: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

APPENDIX A. SUPPLEMENTAL INFORMATION

Time(s) Pi 1 1000 HP 1 1000 Pi 25 1000 HP 25 1000

38 8.31 12.09 32.9 18.4639 7.97 11.7 31.05 20.6140 7.99 11.17 31.88 20.441 9.21 12.16 30.85 20.142 9.28 13.53 33.59 22.2543 7.25 10.41 33.5 20.2544 7.97 12.09 35.62 20.6545 8.27 11.14 35.81 19.6546 8.25 11.99 30.5 21.9147 10.51 11.87 34.03 20.6548 8.31 8.46 31.68 19.849 12.63 10.15 32.99 20.6150 10.39 10.35 33.95 19.551 11.25 11.25 32.63 2052 8.51 11.03 31.03 20.9153 12.05 10.61 31.43 19.4454 11.4 11.53 31.68 19.0855 6.89 11.31 32.72 20.8556 7.95 10.69 32.99 20.957 12.98 10.55 31.25 20.258 7.2 9.9 32.55 19.2859 7.73 9.82 32.12 18.8960 11.76 8.65 34.28 21.561 10.59 9.14 34.78 20.0562 11.6 11.03 33.85 20.163 9.51 11.97 32.54 21.564 10.94 11.75 34.37 20.6565 6.96 10.51 31.91 19.3466 9.74 9.34 32.54 20.9167 8.42 9.37 34.41 21.0968 7.97 10.8 30.23 19.469 9.18 10.53 32.81 19.1470 8.95 11.08 30.5 2271 5.93 9.14 29.58 9.8772 0.25 0.51 0.5 1.5273 0.25 0.51 0.5 0.7674 0 0.51 0 0.7675 1.75 1.01 0.25 0.2576 0.25 0.76 1.26 0.7677 0.25 0.26 0.25 0.5178 0.25 0.25 0 0.2579 0 1.01 0.25 0.7680 0.5 1.26 0.25 0.25

Table A.5: Apache2 dynamic CPU result

39

Page 46: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

APPENDIX A. SUPPLEMENTAL INFORMATION

Time(s) Pi 1 1000 HP 1 1000 Pi 25 1000 HP 25 1000

0 0.5 0 0.5 0.761 0.75 0.25 0 0.762 2.53 0.51 0 1.023 0.25 0.76 0.76 0.754 0.25 1.26 0 05 0.25 1.25 0.25 0.766 2.25 0.51 0 0.767 0.25 0.25 0.25 0.768 0.75 0.76 0 0.769 0.25 0.51 1.26 0.5110 0.5 0.76 0 1.2611 24.04 14.96 27.41 21.6612 22.28 18.56 33.25 26.8313 21.74 18.72 33.25 26.2414 21.94 18.8 31.82 25.3115 21.52 18.97 32.98 24.7516 20.97 17.91 35.36 21.0517 22.16 19.16 33.86 21.2718 20.51 18.09 33.25 22.3919 21.34 19.11 33.6 23.9720 20.21 19.51 33.51 22.621 20.67 16.54 32.53 22.0322 25.43 21.08 29.92 19.123 25.77 15.29 32.2 22.624 19.17 20.77 34.72 20.0525 21.85 20.2 32.23 21.9826 22.84 20.44 35.06 20.727 23.74 15.83 33.16 20.228 25.5 19.35 30.79 20.5529 20.46 18.86 32.97 22.1130 17.65 20.64 34.2 21.2331 16.93 18.18 37.22 19.9532 19.07 20.99 34.88 20.9833 23.47 18.11 30.28 19.6534 20.67 20.24 31.48 20.1535 16.1 17.13 33.25 21.6436 20.92 19.95 31.52 17.8837 18.32 17.46 32.11 21.25

40

Page 47: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

APPENDIX A. SUPPLEMENTAL INFORMATION

Time(s) Pi 1 1000 HP 1 1000 Pi 25 1000 HP 25 1000

38 19.9 17.91 31.65 20.3539 21.12 18.48 35.7 17.3840 20.31 20.79 36.27 21.7841 19.95 21.76 32.8 20.9942 21.41 19.17 36.01 19.643 18.97 17.24 28.23 21.7144 19.95 16.71 31.13 22.1145 21.23 18.02 33.33 19.2546 18.27 19.46 33.42 20.247 16.2 17.44 31.56 20.4448 19.23 18.61 30.93 17.8149 20.1 19.15 30.4 19.650 16.71 20 31.23 20.1551 20.45 21.09 33.08 19.452 16.93 21.53 33.5 23.553 18.86 22.12 30.61 21.4854 17.51 18.84 30.99 18.6955 17.36 14.79 31.83 21.3856 20.36 18.66 30.69 18.5357 16.24 17.75 31.25 18.9158 19.24 16.96 32.55 22.4159 17.14 18.16 31.19 19.760 20.05 14.03 33.95 19.761 21.91 16.54 34.91 21.762 20.57 18.32 32.98 17.3463 18.69 18.36 36.63 18.8964 20.83 17.98 33.86 22.1165 17.21 20.86 29.19 18.0266 19.02 17.07 34.61 18.1667 17.14 17.5 33.93 19.2968 18.99 20.87 35.44 20.3569 16.45 16.67 33.93 19.470 16.8 17.56 33.6 20.7671 15.82 13.53 21.59 17.9672 1.01 0.76 0.25 0.5173 0 0.51 0.25 1.0274 0.25 0.76 1.01 075 0.25 0.51 0.25 1.2676 0 0.51 0.25 0.7677 1.52 1.01 0.5 0.2678 0.25 1.26 0.25 0.7679 0.25 0.26 0.5 0.5180 0.25 1.26 2 0.76

Table A.6: Nginx dynamic CPU result

41

Page 48: Performance evaluation of Raspberry pi 3B as a web server1439759/...Raspberry pi uses a Debian-based operating system[15] and Unix is reported to host about 71.1% of websites with

APPENDIX A. SUPPLEMENTAL INFORMATION

Apache NginxPi HP Pi HP

Users Requests

1 1000 15.11 37 54.4 90.2114.94 38.15 56.56 80.6415.06 39.73 57.82 84.5615.2 39.43 57.93 84.77

14.52 38.69 57.17 84.8815.12 39.47 61.78 84.6514.8 39.8 60.93 85.2

15.21 39.9 58.07 83.9916.05 40.34 58.53 81.8816.18 39.68 58.15 85.29

25 1000 88.69 314.39 89 314.5796.44 312.72 96.4 312.6895.36 311.91 98.79 312.1593.42 312.43 100.22 312.6797.37 313.6 99.37 312.9397.55 307.42 91.1 312.5

100.25 313.22 89.26 315.6498.26 293.21 97.54 312.8699.55 314.29 88.75 313.92

101.14 312.83 101.3 313.3

50 1000 98.29 289.66 90.08 291.41100.4 289.38 94.01 295.06

102.04 312.34 98.69 293.9897.96 309.97 90.08 29198.3 293.75 87.82 301.01

99.35 303.78 91.95 291.8399.61 289.73 87.73 312.4994.05 299.51 90.82 311.4394.99 300.47 93.61 288.8798.19 291.01 96.59 307.6

100 1000 99.06 287.7 81.32 286.26100.43 285.93 83.12 287.193.25 271.9 91.16 285.2792.65 283.53 92.15 286.0598.23 287.36 92.53 285.792.11 285.32 93.19 277.0194.68 287.29 97.18 286.2196.21 280.95 98.23 281.8697.31 285.6 88.21 289.796.8 284.7 92.48 286.4

Table A.7: Dynamic response time result

42