- Timestamp:
- Sep 5, 2022, 9:41:11 AM (2 years ago)
- Branches:
- ADT, ast-experimental, master, pthread-emulation
- Children:
- 1fcbce7, 83cb754
- Parents:
- 4dba1da
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/thierry_delisle_PhD/thesis/text/eval_macro.tex
r4dba1da r0fec6c1 182 182 NGINX is an high-performance, \emph{full-service}, event-driven webserver. 183 183 It can handle both static and dynamic web content, as well as serve as a reverse proxy and a load balancer~\cite{reese2008nginx}. 184 This wealth of features comes with a variety of potential configuration, dictating bothavailable features and performance.184 This wealth of capabilities comes with a variety of potential configurations, dictating available features and performance. 185 185 The NGINX server runs a master process that performs operations such as reading configuration files, binding to ports, and controlling worker processes. 186 When running as a static webserver, uses an event driven architecture to serverincoming requests.187 Incoming connections are assigned a \emph{sta tckless} HTTP state-machine and worker processes can potentiallyhandle thousands of these state machines.188 For the following experiment, NGINX was configured to use epollto listen for events on these state machines and have each worker process independently accept new connections.189 Because of the realities of Linux, see Subsection~\ref{ononblock}, NGINX also maintains a pool of auxil ary threads to handle block\io.190 The configuration can be used to set the number of worker processes desired, as well as the size of the auxilary pool.191 However, for the following experiments NGINX was configured to let the master process decided the appropriate number of threads.186 When running as a static webserver, it uses an event-driven architecture to service incoming requests. 187 Incoming connections are assigned a \emph{stackless} HTTP state-machine and worker processes can handle thousands of these state machines. 188 For the following experiment, NGINX is configured to use @epoll@ to listen for events on these state machines and have each worker process independently accept new connections. 189 Because of the realities of Linux, see Subsection~\ref{ononblock}, NGINX also maintains a pool of auxiliary threads to handle blocking \io. 190 The configuration can set the number of worker processes desired, as well as the size of the auxiliary pool. 191 However, for the following experiments, NGINX is configured to let the master process decided the appropriate number of threads. 192 192 193 193
Note: See TracChangeset
for help on using the changeset viewer.