我在Nginx后面运行了几个fastcgi服务器。 我运行了3个Nginx工作者和6个fastcgi服务器作为上游后端。
当我运行每秒1次请求的负载testing时,我可以清楚地看到,平均回复时间为0.1秒,但是不时会有3.1秒的响应。
这是一个可疑的确定性数字,即使在非常小的负载下也会发生。 CPU和内存都没有问题。
任何想法这个延迟可能来自? 任何build议如何debugging呢?
非常感谢,巴里。
如果服务器没有响应,3秒是tcp超时。 检查您的nginx日志连接超时。
你是否在运行并行请求? 如果是这样,请看下面。 如果没有,我会build议看你的后端服务器。 也许你的环境有一些types的分析工具,你可以使用太看到从接收到请求到发送响应的时间。
如果你正在并行运行:如果你所有的6个fastcgi服务器都忙于服务请求,下一个请求将不得不等待,直到一个fastcgi服务器准备好处理它。 如果您在审判中提出的要求具有相似的性质,并且具有相似的响应时间,那么您会一次又一次地看到相同的模式。
你的后端是什么? 它是线程?
这是我的build议:
顺便说一句,只使用一个nginx工作者,除非你拥有大量的stream量,否则你不需要多于一个。