小编amn*_*amn的帖子

proxy_send_timeout 在 Nginx 中到底做了什么?

在 Nginx 文档中,有关于三种不同网络超时的指令,可以为“后端”服务器配置这些超时,如下所示:

proxy_connect_timeout定义与代理服务器建立连接的超时。需要注意的是,这个超时时间通常不能超过75秒。

这很容易理解——Nginx 即将连接到上游“后端”服务器,如果它无法在 X 时间内连接,它将放弃并返回错误。服务器无法访问、连接过多等。

proxy_read_timeout定义从代理服务器读取响应的超时。仅在两个连续的读取操作之间设置超时,而不是为整个响应的传输设置超时。如果代理服务器在此时间内未传输任何内容,则连接将关闭。

这也是有道理的——Nginx 已经与“后端”服务器建立了 TCP 连接,现在即将实际发送请求,但是服务器需要很长时间来处理,如果需要超过 X 时间,则关闭连接并返回给用户。

事实上,我很惊讶 Nginx 关闭了连接,我认为它会保留连接,但会向用户返回一个错误。每次发生超时时重新建立这些“后端”TCP 连接听起来成本很高。

proxy_send_timeout设置将请求传输到代理服务器的超时。仅在两个连续的写入操作之间设置超时,而不是为整个请求的传输设置超时。如果代理服务器在此时间内未收到任何内容,则连接将关闭。

这个我不太明白。我确实有一个理论,但我希望有人证实它。我能想到的这个超时的唯一值是请求负载是否很大(例如,带有 JSON 的大型 POST 请求,或用户想要保存的文档)。将请求传输到“后端”需要将请求分解为更小的 MTU TCP 段,并将它们作为原始请求的“块”发送。因此从技术上讲,直到我们成功地将所有块传输到服务器之前,我们实际上并没有发送请求。Nginx 是否测量每个请求块之间的时间?这就是文档中“写”的意思吗?一旦请求实际发送,Nginx 将开始测量proxy_read_timeout?

nginx

19
推荐指数
1
解决办法
2万
查看次数

Linux 平均启动时读取多少数据?

我想知道新安装的 vanilla Linux 系统(如 32 位 CentOS 5.10)总共读取了多少数据才能进入虚拟控制台 shell 提示?您知道,读取所有配置文件、加载二进制文件、内核映像等。

我正在启动 100 台 Linux 机器,它们的系统内容的 95% 是相同的并且将保持相同——这些机器是克隆的。我想将文件系统的相同/只读共享部分卸载到 NFS 存储,从那里安装它,然后像这样启动。只有文件系统的可写部分,如 /var、/tmp 和 /home,将保留在每台机器的本地。由于可能有数百台机器作为“集群”的一部分同时启动,我需要估计访问的 NFS 存储链接在启动时是否会成为瓶颈。

我正在寻找数量级的估计。我知道 Linux 启动过程的细节差异很大。我们说的是 10Mb 吗?100Mb?1Gb?

linux boot benchmark

9
推荐指数
2
解决办法
1137
查看次数

如何将任何 *.mydomain 变体指向 localhost(用于开发)?

我正在开发一个站点,该站点将使用任何给定的 [variation of] 子域名部分(即在主机名和可选的 TLD 部分之前添加前缀的部分)。我想在生产中,这将是一个简单的壮举 - 确保二级域名部分的 DNS 指向一个 IP,设置 Apache2 虚拟主机以侦听该(或任何)IP 端口 80,然后只需使用PHP 根据“主机”请求标头做出决定。

但是,目前该站点是本地主机,因为我正在使用我的工作站开发它,所以首先我修补了 /etc/hosts 以包括:

127.0.0.1 mydomain
Run Code Online (Sandbox Code Playgroud)

我只使用了一个名称部分(可以说是自定义 TLD),以免干扰 Internet 域名。然后我为 Apache 2.2 设置了一个 VirtualHost 指令,例如:

<VirtualHost *:80>
    ServerName mydomain
Run Code Online (Sandbox Code Playgroud)

但是现在我可以看到 fe example.mydomain 没有指向 localhost,这意味着 /etc/hosts 添加对“something.mydomain”无效。似乎规则是逐字逐句地采用的,而且我还检查了不允许使用 *.mydomain 之类的通配符。

有解决方案吗?

virtualhost apache-2.2

2
推荐指数
1
解决办法
1182
查看次数

标签 统计

apache-2.2 ×1

benchmark ×1

boot ×1

linux ×1

nginx ×1

virtualhost ×1