Stack Wars: The Node Awakens

Steven Kitzes, Adam Kaplan

Abstract

As the versatility and popularity of cloud technology increases, with storage and compute services reaching unprecedented scale, great scrutiny is now being turned to the performance characteristics of these technologies. Prior studies of cloud system performance analysis have focused on scale-up and scale-out paradigms and the topic of database performance. However, the server-side runtime environments supporting these paradigms have largely escaped the focus of formal benchmarking efforts. This paper documents a performance study intent on benchmarking the potential of the Node.js runtime environment, a rising star among server-side platforms. 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 its most widely-deployed competitor: the LAMP stack. We develop an understanding of the strengths and limitations of these server technologies under concurrent load representative of the computational behaviour of a heavily utilized contemporary web service. In particular, we investigate each 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 LAMP stack by a considerable margin in all single-application web service scenarios, and performs as well as LAMP under heterogeneous server workloads.

References

  1. Apache Software Foundation, 2016. ab - Apache HTTP server benchmarking tool. Available at: http://httpd.apache.org/docs/2.2/programs/ab.html.
  2. Appuswamy, R., Gkantsidis, C., Narayanan, D., Hodson, O., Rowstron, A., 2013. Scale-up vs scale-out for Hadoop: time to rethink? In 4th Annual Symposium on Cloud Computing. ACM.
  3. Chaniotis, I., Kyriakou, K., Tselikas, N., 2015. Is Node.js a viable option for building modern web applications? A performance study. In Computing (Vol. 97, No. 10m pp. 1023-1044). Springer.
  4. Charland, A., Leroux, B., 2011. Mobile application development: web vs. native. Communications of the ACM (Vol. 54, No. 5). ACM.
  5. Economou, D., Rivoire, S., Kozyrakis, C., Ranganathan, P., 2006. Full-system power analysis and modeling for server environments. In Proceedings of the International Symposium on Computer Architecture (ISCA). IEEE.
  6. Ferdman, M., Adileh, A., Kocberber, O., Volos, S., Alisafaee, M., Jevdjic, D., Kaynak, C., Popescu, A.D., Ailamaki, A., Falsafi, B., 2012, March. 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.
  7. Github, 2016. Projects, Applications, and Companies Using Node. Available at: https://github.com/ nodejs/node/wiki/Projects,-Applications,-andCompanies-Using-Node.
  8. Haddad, I., 2001. Open-Source Web Servers: Performance on a Carrier-Class Linux Platform. Linux Journal (Issue No. 91). Belltown Media.
  9. Libuv, 2016. Design overview - libuv API documentation. Available at: http://docs.libuv.org/en/v1.x/design.html.
  10. MEAN.JS, 2014. MEAN.JS - Full-Stack JavaScript Using MongoDB, Express, AngularJS, and Node.js. Available at: http://meanjs.org.
  11. Menasce, D.A., 2003. Web Server Software Architectures. In IEEE Internet Computing (Vol. 7, No. 6). IEEE.
  12. Nahum, E., Barzilai, T., Kandlur, D.D., 2002. Performance issues in WWW servers. IEEE/ACM Transactions on Networking (TON) (Vol. 10, No. 1). IEEE.
  13. Netcraft, 2015. September 2015 Web Server Survey. Available at: http://news.netcraft.com/archives/2015/09/16/septemb er-2015-web-server-survey.html.
  14. Pokorny, J., 2013. NoSQL databases: a step to database scalability in web environment. In International Journal of Web Information Systems (Vol. 9, No. 1, pp. 69-82). Emerald Group.
  15. Ratanaworabhan, P., Livshits, B., Zorn, B.G., 2010. JSMeter: Comparing the Behavior of JavaScript Benchmarks with Real Web Applications. WebApps (vol. 10). Usenix.
  16. SPECjbb, 2015. SPECjbb®2015. Available at: https://www.spec.org/jbb2015/.
  17. SPECweb, 2009. SPECweb2009. Available at: https://www.spec.org/web2009/.
  18. Tilkov, S., Vinoski, S., 2010. Node.js: Using JavaScript to Build High-Performance Network Programs. IEEE Internet Computing (Vol. 14, No. 6). IEEE.
  19. Transaction Processing Performance Council, 2016. About the TPC. Available at: http://www.tpc.org/ information/about/abouttpc.asp.
  20. Welke, R., Hirschheeim, R., Schwarz, A., 2011. Service Oriented Architecture Maturity. In IEEE Computer, (Vol. 47, No. 2). IEEE.
Download


Paper Citation


in Harvard Style

Kitzes S. and Kaplan A. (2017). Stack Wars: The Node Awakens . In Proceedings of the 19th International Conference on Enterprise Information Systems - Volume 3: ICEIS, ISBN 978-989-758-249-3, pages 239-249. DOI: 10.5220/0006280702390249


in Bibtex Style

@conference{iceis17,
author={Steven Kitzes and Adam Kaplan},
title={Stack Wars: The Node Awakens},
booktitle={Proceedings of the 19th International Conference on Enterprise Information Systems - Volume 3: ICEIS,},
year={2017},
pages={239-249},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006280702390249},
isbn={978-989-758-249-3},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 19th International Conference on Enterprise Information Systems - Volume 3: ICEIS,
TI - Stack Wars: The Node Awakens
SN - 978-989-758-249-3
AU - Kitzes S.
AU - Kaplan A.
PY - 2017
SP - 239
EP - 249
DO - 10.5220/0006280702390249