作者回复: 明白你的理解哪里出问题了,你认为每个worker最多只能处理65535个并发连接,这是许多初接触高并发的同学经常会犯的错误。 每个TCP连接是四元组,即使锁定nginx上的本地IP和本地端口,理论上还有2^(32+16)个并发连接。你可以看下这篇文章:http://www.ideawu.net/blog/archives/533.html
作者回复: 1、最大数量与超时,是或关系,任一条件达到都会断开连接。 2、第二个变量是通知浏览器的,至于浏览器究竟怎么处理与Nginx无关。
作者回复: 如果是做反向代理,那么与上游的连接也会消耗worker_connections的。 另外,这个限制到底够不够,可以通过stat_stub模块来判断,如果它返回的accepts与handled一样大,就说明实际请求没有超过该限制,如果accepts大于handled,说明配小了。
作者回复: 1、我猜测是测试场景问题,nginx处理机制对此没有问题。 2、没有关系。 3、主要参考性能要求,使用keepalive能提升网络效率,包括TCP握手消耗、TCP拥塞控制等。
作者回复: 把index.php换成一个很大的文件...
作者回复: 同样的问题,没有理清TCP四元组的概念,即使锁定nginx上的本地IP和本地端口,还有客户端IP和客户端端口呢,理论上还有2^(32+16)个并发连接。你的问题在于,你把客户端IP锁定了,所以只有2^16=65535个并发连接。关键是,nginx同时处理许多客户端的连接的。你可以看下这篇文章:http://www.ideawu.net/blog/archives/533.html
作者回复: 可以尝试用wordpress搭个博客站点:-)
作者回复: nohttpsresponseException是什么引起的?RST?谁发的RST?
作者回复: 看看nginx的error.log上有没有超时类的错误?
作者回复: 不可以,你要再理解下HTTP与TCP的关系,RFC2616上介绍的很清楚。 nginx对上游的keepalive长连接可以被多个客户端复用,你可以关注下第四部分课程。