<div dir="ltr"><div>Hello, I've been reading through nginx source to understand the <a href="http://nginx.org/en/docs/http/ngx_http_stub_status_module.html" target="_blank">metrics</a> that are reported. I've got an idea of what is happening, but since the flow is asynchronous, I'm not 100% confident, and would love your feedback.<br></div><div><br></div><div>Is the following correct?</div><div><ul><li>'accepts' is incremented when a worker gets a new request for a connection from the OS<br></li><li>'handled' is incremented when a worker gets a new connection for a request<br></li></ul></div><div><br></div><div>And then once a connection is opened:</div><div><ul><li>'active' is incremented (actually, it is incremented right before 'handled', but will be decremented if the worker doesn't handle the connection request).<br></li><li>then the connection briefly goes into a waiting state while the request is waiting to be processed<br></li><li>then the connection goes into a short reading state while request headers are read. Simultaneously, 'request' is incremented every time a new request header begins to be read.<br></li><li>then the connection goes into a writing state while all work is done by nginx and by upstream components<br></li><li>then if the connection will be kept alive, it goes back into waiting state, which is synonymous with 'idle'<br></li><li>finally when the connection is closed, active is decremented<br></li></ul></div><div>The things I'm least certain of about the 'waiting' state:<br><div><ul><li>Does active always sum up to waiting+reading+writing?</li><li>Does each new connection enter a waiting state just before it goes into the reading state?<br></li><li>While waiting for upstream responses, is the connection in writing state or waiting state?</li><li>While waiting for new client requests on an open connection, is the connection in a waiting state?</li></ul></div></div><div>Is the attached sketch of the above connection states correct? (underneath "READ" it says "request++" to indicate that this is where the request counter gets incremented).</div><div><img src="cid:ii_14b9f8b55e47ac94" alt="Inline image 1" width="467" height="308"><br></div><div><br></div><div>Thanks very much in advance for any help you can provide,</div><div>~K</div><div><br></div></div>