Skip to main content

Toward an Understanding of the Tradeoffs of Adopting the MEAN Web Server Stack

  • Conference paper
  • First Online:
Enterprise Information Systems (ICEIS 2017)

Part of the book series: Lecture Notes in Business Information Processing ((LNBIP,volume 321))

Included in the following conference series:

  • 867 Accesses

Abstract

In the past decade, the performance of web services has been enhanced via scale-up and scale-out methods, which increase available system resources, and also by improvements in database performance. As cloud technology continues to rise in popularity, storage and compute services are reaching unprecedented scale, with great scrutiny being turned to the performance tradeoffs of the web application server stacks. In particular, the MEAN (MongoDB, Express.js, AngularJS, and Node.js) web server stack is increasingly popular in the computing industry, yet has largely escaped the focus of formal benchmarking efforts. In this work, we compare MEAN to its more entrenched competitor, the LAMP (Linux, Apache, MySQL, PHP) web server stack, the most widely distributed web platform in production. We herein describe the design, execution, and results of a number of benchmark tests constructed and executed to facilitate direct comparison between Node.js and Apache/PHP, the web server applications of these stacks. We investigate each web server’s ability to handle heavy static file service, remote database interaction, and common compute-bound tasks. Analysis of our results indicates that Node.js outperforms the Apache/PHP by a considerable margin in all single-application web service scenarios, and performs as well as Apache/PHP under heterogeneous server workloads. We extend our understanding of the MEAN stack’s performance potential by exploring the performance and memory tradeoffs of Angularizing the Mongo-Express web application, a database administration dashboard for MongoDB. We find that porting Mongo-Express to MEAN’s AngularJS provides up to a 4x improvement in document read bandwidth and up to almost 2.2x improvement in collection read bandwidth, at a cost of roughly double the client memory footprint.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Apache Software Foundation: ab – Apache HTTP server benchmarking tool (2016). http://httpd.apache.org/docs/2.2/programs/ab.html

  2. Appuswamy, R., Gkantsidis, C., Narayanan, D., Hodson, O., Rowstron, A.: Scale-up vs scale-out for Hadoop: time to rethink? In: 4th Annual Symposium on Cloud Computing. ACM (2013)

    Google Scholar 

  3. Chaniotis, I., Kyriakou, K., Tselikas, N.: Is Node.js a viable option for building modern web applications? A performance study. Computing 97(10), 1023–1044 (2015)

    Article  MathSciNet  Google Scholar 

  4. Charland, A., Leroux, B.: Mobile application development: web vs. native. Commun. ACM 54(5), 49–53 (2011)

    Article  Google Scholar 

  5. Chrome: Chrome DevTools (2017). https://developers.google.com/web/tools/chrome-devtools/

  6. Economou, D., Rivoire, S., Kozyrakis, C., Ranganathan, P.: Full-system power analysis and modeling for server environments. In: Proceedings of the International Symposium on Computer Architecture (ISCA). IEEE (2006)

    Google Scholar 

  7. Ferdman, M., Adileh, A., Kocberber, O., Volos, S., Alisafaee, M., Jevdjic, D., Kaynak, C., Popescu, A.D., Ailamaki, A., Falsafi, B.: Clearing the clouds: a study of emerging scale-out workloads on modern hardware. In: ACM SIGPLAN Notices, vol. 47, no. 4, pp. 37–38. ACM, March 2012

    Article  Google Scholar 

  8. Github: Projects, Applications, and Companies Using Node (2016). https://github.com/nodejs/node/wiki/Projects,-Applications,-and-Companies-Using-Node

  9. Github: Who uses Gulp? Issue #540 (2016). https://github.com/gulpjs/gulp/issues/540/

  10. Gulp: Gulp.js (2016). http://gulpjs.com/

  11. Haddad, I.: Open-source web servers: performance on a carrier-class Linux platform. Linux J. 2001(91), 1 (2001)

    MathSciNet  Google Scholar 

  12. Kitzes, S., Kaplan, A.: Stack wars: the node awakens. In: Proceedings of the 19th International Conference on Enterprise Information Systems (ICEIS), INSTICC (2017)

    Google Scholar 

  13. Jina, V.: Testacular – Spectacular Test Runner for JavaScript (2012). https://testing.googleblog.com/2012/11/testacular-spectacular-test-runner-for.html

  14. Joyent: Node.js at PayPal (2014). https://www.joyent.com/blog/node-js-on-the-road-sf-node-js-at-paypal/

  15. Libuv: Design overview – libuv API documentation (2016). http://docs.libuv.org/en/v1.x/design.html

  16. McKeachie, C.: UI-Router: Why many developers don’t use AngularJS’s built-in router (2014). http://www.funnyant.com/angularjs-ui-router/

  17. MEAN.JS: MEAN.JS – Full-Stack JavaScript Using MongoDB, Express, AngularJS, and Node.js (2014). http://meanjs.org

  18. Menasce, D.A.: Web server software architectures. IEEE Internet Comput. 7(6), 78–81 (2003)

    Article  Google Scholar 

  19. Mongo-Express: Web-based MongoDB admin interface, written with Node.js and express (2012–2016). https://github.com/mongo-express/mongo-express

  20. Nahum, E., Barzilai, T., Kandlur, D.D.: Performance issues in WWW servers. IEEE/ACM Trans. Netw. (TON) 10(1), 2–11 (2002)

    Article  Google Scholar 

  21. Netcraft: September 2015 Web Server Survey (2015). http://news.netcraft.com/archives/2015/09/16/september-2015-web-server-survey.html

  22. PM2: PM2 – Advanced Node.js process manager (2016). http://pm2.keymetrics.io/

  23. Pokorny, J.: NoSQL databases: a step to database scalability in web environment. Int. J. Web Inf. Syst. 9(1), 69–82 (2013)

    Article  Google Scholar 

  24. Protractor: Protractor – end-to-end testing for AngularJS (2016). http://www.protractortest.org/

  25. Ratanaworabhan, P., Livshits, B., Zorn, B.G.: JSMeter: comparing the behavior of JavaScript benchmarks with real web applications. WebApps 10, 3 (2010)

    Google Scholar 

  26. SPECjbb: SPECjbb®2015 (2015). https://www.spec.org/jbb2015/

  27. SPECweb: SPECweb2009 (2009). https://www.spec.org/web2009/

  28. Tilkov, S., Vinoski, S.: Node.js: using JavaScript to build high-performance network programs. IEEE Internet Comput. 14(6), 80–83 (2010)

    Article  Google Scholar 

  29. Transaction Processing Performance Council. About the TPC (2016). http://www.tpc.org/information/about/abouttpc.asp

  30. Welke, R., Hirschheeim, R., Schwarz, A.: Service oriented architecture maturity. IEEE Comput. 47(2) (2011). IEEE

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Adam Kaplan .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Kitzes, S., DeMauro, E., Kaplan, A. (2018). Toward an Understanding of the Tradeoffs of Adopting the MEAN Web Server Stack. In: Hammoudi, S., Śmiałek, M., Camp, O., Filipe, J. (eds) Enterprise Information Systems. ICEIS 2017. Lecture Notes in Business Information Processing, vol 321. Springer, Cham. https://doi.org/10.1007/978-3-319-93375-7_26

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-93375-7_26

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-93374-0

  • Online ISBN: 978-3-319-93375-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics