Submitted by Abhinav Rastogi (@arastogi) on Friday, 8 September 2017
My journey with Node started over 3 years ago, and I presented my initial learnings about running Node in production at JSFoo 2014. We have been using Node as our primary web serving layer since then, adding more features, more properties and most importantly, more traffic onto it. This led to the discovery of a lot of bottlenecks and a lot of late-night load tests. In this talk, I’ll be focusing on scaling a Node based web server and what kind of issues we have run into. This will include different approaches to attacking this problem like horizontal and vertical scaling. I will be taking you through the variety of resource bottlenecks you can expect to run into, like network, memory, disk and cpu. I’ll touch upon how to find these bottlenecks and what technologies you can use to solve them.
Running a Node server in production is not for the faint of heart, but it gets much easier when you know how to juice out the maximum performance from your systems!
- What is scalability
- Types of scalability
- Horizontal scaling
- Vertical scaling
- Network layer
- Memory bottlenecks
- Disk optimisations
- CPU profiling and debugging
I lead the mobile and desktop UI teams at Flipkart, where we have been using NodeJS based servers for a long time now. There have been tons of learnings for us as we battled huge traffic spikes using a relatively new tech stack, and I’d love to share them with the community!