Performance Modeling of NodeJS and NoSQL Databases with AngularJS

JavaScript as a server-side language coupled with the use of NoSQL databases has seen an emergence in recent years with the creation of Node.js and NoSQL databases, such as MongoDB. The purpose of this thesis is to act as a case study to determine the performance of Node.js as a web server along with a NoSQL database. Furthermore, it will seek to determine what benefits, if any, there are to using the AngularJS framework with Node.js to create a single-page application over a traditional web application. We herein describe the process of porting over an existing web-based MongoDB administration interface written in Node.js and Express to a complete MEAN stack implementation while following best practices, the design, execution, and results of benchmark tests. In particular, we investigate the ability of Node.js as a web server to deliver html content as opposed to JSON-formatted content. Furthermore, we evaluate the performance impact of AngularJS. Analysis of the results showed that Node.js performed better when returning JSON-formatted data than HTML. Further, the AngularJS implementation consumed far more memory and CPU resources than the pure Node.js implementation.