nginx – 建立连接的时间太长

nginx – 建立连接的时间太长

我是 nginx 新手,目前在服务器上使用它为用户提供视频。几天前,当大约有 500-600 个用户在线时,服务器开始变得非常慢,请注意,我的服务器上有一条 1gbps 的线路,所以这不是带宽问题。服务器大约需要一两分钟才能响应,但一旦文件开始流式传输,速度就不错了,所以我猜服务器需要很长时间才能找到文件!我想知道是否有人知道我该如何解决这个问题?我已经尝试增加打开文件限制和工作者限制,但仍然没有运气!!!

如果他们知道如何解决这个问题并且有处理类似情况的经验,我也有兴趣雇人帮我解决这个问题。

问候

附加信息

         total       used       free     shared    buffers     cached
Mem:          7861       7695        166          0          3       4233
-/+ buffers/cache:       3459       4402
Swap:         4095         44       4051

答案1

因此,你需要自下而上地找到瓶颈。我写了一篇相当全面的文章发现性能瓶颈几年前,这应该会有所帮助。

简而言之,您需要确定导致问题的确切系统组件(使用类似工具sar或许多等效工具),然后修复它。修复该组件后,其他组件将成为瓶颈,因此您需要重复该过程,直到性能可接受为止。

在您的具体情况下,磁盘 I/O可能是问题所在,但复杂因素是请求需要很长时间才能得到服务,但它们传输正常。我会调查哪里出现了问题——内核是否快速建立了 TCP 连接(查找三次握手tcpdump),nginx 是否accept快速建立连接(stracenginx 及其工作程序),HTTP 请求处理是否需要一段时间(nginx日志文件处于最大调试状态,cap'n)?有条不紊地解决问题将解决许多问题。

(顺便说一句,虽然我不做咨询,但我确实为一家专门提供全栈系统支持的托管公司工作,所以如果你需要付费帮助,我们随时都可以为你提供帮助)

相关内容