The goal of this study is to conduct a performance comparison betweenNode.js, Apache, Internet Information Services (IIS) and Go web servers in terms of throughput and memory consumption in both Input/Output (I/O)-intensive and computation-intensive situations. The computation-intensive tests consisted of calculating Fibonacci numbers, while the I/O-intensive tests consisted of querying a database. JMeter was used to send the requests and collect client- side data while Windows Performance Monitor was used to collect data on the resource use of the web servers on the server-side computer. The results showed that Go web server had the highest throughput and lowest memory consumption in all of the tests, with an average increase in throughput of 26% and an average decrease in memory consumption by 66% compared to the web servers placing second in the tests. IIS web server was the server that most often placed second behind Go. Contrary to previous studies Node.js performed worse than Apache in the I/O-intensive tests. The results also showed that Apache web server performed poorly in computation-intensive situations in terms of throughput. The conclusion is that the results indicate that Go web server performs better than Apache, IIS and Node.js web servers in both I/O- intensive and computation-intensive situations in terms of both throughput and memory consumption. / Denna studies mål är att genomföra en prestandajämförelse mellan Node.js, Apache, IIS och Go-webbservrar mätt i genomströmning och minnesallokering i både I/O-intensiva och beräkningsintensiva situationer. De beräkningsintensiva testerna bestod av att beräkna Fibonaccital medan de I/O-intensiva bestod av att be en databas om data. Programmet JMeter användes till att genomföra klientdatorns begäran till serverdatorn och till att samla data om begäran. Windows-programmet Performance Monitor användes till att samla data om webbservrarnas resursanvändning på serverdatorn. Resultaten visade att Go-webbservern hade högst genomströmmning och minst minnesallokering i alla tester med en genomströmmning som i genomsnitt var 26% högre och minnesallokering som var i genomsnitt 66% lägre än webbservrarna som presterade näst bäst i testerna. Webbservern som oftast presterade näst bäst var IIS. I motsats till resultaten i tidigare studier presterade Node.js sämre än Apache i de I/O-intensiva testerna. Apache visade sig prestera dåligt de beräkningsintensiva testerna. Studiens slutsats är att resultaten indikerar att Go-webbserver presterar bättre än Node.js, Apache och IIS-webbservrar i både I/O-intensiva och beräkningsintensiva situationer sett till genomströmning och minnesallokering.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-304031 |
Date | January 2021 |
Creators | Vilhelmsson, Isak |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2021:595 |
Page generated in 0.3506 seconds