AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
# nginx使用的epoll模型, 作为web server时,在处理http请求时,如果作为web服务器,一个worker进程就可以用来响应一个用户请求。 作为反向代理时,用户发送请求到nginx,nginx发送请求到后端被代理服务器,后端服务器相应给nginx,nginx将内容返回给用户。 由于epoll模型是不等待的, 每进来一个request,会有一个worker进程去处理。但不是全程的处理,处理到什么程度呢?处理到可能发生阻塞的地方,比如向上游(后端)服务器转发request,并等待请求返回。 那么,这个处理的worker很聪明,他会在发送完请求后,注册一个事件:“如果upstream返回了,告诉我一声,我再接着干”。 于是他就休息去了。此时,如果再有request 进来,他就可以很快再按这种方式处理。 而一旦上游服务器返回了,就会触发这个事件,worker才会来接手,这个request才会接着往下走。 # 最终的结论: 浏览器可能同时发出2个或4个并发连接 从一般建立连接的角度:客户并发连接为1. nginx作为http服务器的时候: max_clients = worker_processes * worker_connections nginx作为反向代理服务器的时候: max_clients = worker_processes * worker_connections/2 worker_connections 参数用于设置 Nginx 单个 work 进程(worker_processes)允许的最大客户端连接数。 nginx做反向代理时,和客户端之间保持一个连接,和后端服务器保持一个连接。 # clients与用户数: 同一时间的clients(客户端数)和用户数还是有区别的,当一个用户请求发送一个连接时这两个是相等的,但是当一个用户默认发送多个连接请求的时候,clients数就是用户数*默认发送的连接并发数了。