gpt4 book ai didi

linux - Nginx 是否有单独的请求排队机制?

转载 作者:IT王子 更新时间:2023-10-29 00:53:22 27 4
gpt4 key购买 nike

考虑以下情况:您正在部署可以服务 1 个请求/秒的应用程序。如果我在 1 秒内发送 10 个请求会怎样?我写了一个简单的应用程序来测试:https://github.com/amezhenin/nginx_slow_upstream .此测试表明您的请求将按_exact_same_order_发送。

目前,这看起来像 Nginx 有某种请求队列,但我的同事(管理员)说 Nginx 中没有任何队列。所以我在这里写了另一个关于epoll的问题:Does epoll preserve the order in which fd's was registered? .从那次讨论中,我认为 epoll 确实保留了请求的顺序。

我有两个问题:

1)上面的推理/代码有没有错误?

2) Nginx 在 epoll 之上是否有某种请求队列?或者 Nginx 使用纯 epoll 功能?

谢谢,对不起我的英语:)

最佳答案

Nginx 没有自己的队列,而是将所有请求推送到具有listen 套接字的应用服务器:

#include <sys/types.h>
#include <sys/socket.h>

int listen(int sockfd, int backlog);

(http://linux.die.net/man/2/listen)

backlog 定义了这个队列的长度。您可以阅读完整的对话 here .

关于linux - Nginx 是否有单独的请求排队机制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19139678/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com