Linux Applications Performance: Introduction

Articles in this series

  1. Part I. Iterative Servers
  2. Part II. Forking Servers
  3. Part III. Pre-forking Servers
  4. Part IV. Threaded Servers
  5. Part V. Pre-threaded Servers
  6. Part VI: poll-based server
  7. Part VII: epoll-based server

On HackerNews

There are several interesting takeaways from the HackerNews thread for this article series. Do check it out.

Web apps are the staple of consumers and enterprises. Among the many existing protocols that are used to move and make sense of bits, HTTP has an overwhelming mind share. As you encounter and learn the nuances of web application development, most of you might pay very little attention to the operating system that finally runs your applications. The separation of Dev and Ops only made this worse. But with the DevOps culture becoming common place and developers becoming responsible for running their apps in the cloud, it is a clear advantage to better understand backend operating system nitty-gritty. You don’t really have to bother with Linux and how your backend will scale if you are deploying your backend as a system for personal use or for use by a few concurrent users. If you are trying to deploy for thousands or tens of thousands of concurrent users, however, having a good understanding of how the operating system figures out in your whole stack will be incredibly useful.

Continue reading “Linux Applications Performance: Introduction”