Optimizing individual upstreams
You may remember from previous chapters that Nginx has two main methods of generating a response to a request, one being very specific—reading a static file from the filesystem, and the other including a whole family of the so-called upstream modules. An upstream is an external server to which Nginx proxies the request. The most popular upstream is ngx_proxy
, others are ngx_fastcgi
, ngx_memcached
, ngx_scgi
, and so on. Because serving only static files is not usually enough for a modern website, upstreams are an essential part of any comprehensive setup. As we mentioned in the beginning of this chapter, upstreams themselves are usually the reason why your website has performance troubles. Your developers are responsible for this part because this is where all the web application processing happens. In the following sections, we are going to briefly describe the major stacks or platforms used to implement business logic on the upstream behind Nginx and...