gpt4 book ai didi

django - 如果您只发送 JSON 对象,那么合适的 NGINX 配置是什么?

转载 作者:行者123 更新时间:2023-12-04 18:09:48 25 4
gpt4 key购买 nike

我是一名 iOS 开发人员,我的后端都是用 Django 编写的。我使用 gunicorn 作为我的 HTTP 服务器。我有三个工作人员在一个小型 EC2 实例上运行。

我的 iOS 应用不需要任何图像或静态内容。每个请求最多一次发送 1-20 个 JSON 对象。每个 JSON 对象最多有大约 5-10 个字段。

我对 NGINX 很陌生。我听说它可以做代理缓冲。我想为慢速客户端添加代理缓冲,但我不知道用于以下模块的适当特定设置:

proxy_buffers
Syntax: proxy_buffers number size
Default: 8 4k|8k
Context: http server location
Reference: proxy_buffers


proxy_busy_buffers_size
Syntax: proxy_busy_buffers_size size
Default: 8k|16k
Context: http server location
Reference: proxy_busy_buffers_size

proxy_buffer_size
Syntax: proxy_buffer_size size
Default: 4k|8k
Context: http server location
Reference: proxy_buffer_size

我知道如何使用的唯一设置(这很可悲)是以下设置:
proxy_buffering
Syntax: proxy_buffering on | off
Default: on
Context: http server location
Reference: proxy_buffering

这种迷失的灵魂将不胜感激您在这方面的专业知识!

最佳答案

proxy_buffersnumber定义 nginx 将创建多少缓冲区以及 size每个缓冲区有多大。当 nginx 开始从上游接收数据时,它开始填充这些缓冲区,直到缓冲区已满或上游发送 EOFEOT .如果满足这两个条件中的任何一个,nginx 会将缓冲区的内容发送给客户端。

如果客户端没有足够快地读取缓冲区,它将尝试将它们的内容写入磁盘并在客户端能够接收时发送它们。

取 JSON 响应的平均大小。现代磁盘和文件系统甚至可以处理巨大的缓冲区大小,但是您应该使用 2 的幂,并且通过在数量和大小之间建立良好的平衡,您可以加快缓冲过程。
proxy_busy_buffers_size
这些是已经通过下游但尚未完全发送的缓冲区,因此它们不能被重用。该指令限制了此类缓冲区的最大总大小,因此允许使用剩余的缓冲区来读取上游响应。
proxy_buffer_size
始终在使用的主缓冲区。即使您禁用 proxy_buffering , nginx 仍然会填满这个缓冲区并在它满或 EOF 后立即刷新它/EOT .
proxy_max_temp_file_size
该指令控制如果缓冲区已满(仍使用内存缓冲区,因为您需要它们与磁盘通信),可以将多少数据写入磁盘。如果所有缓冲区和此文件已满,则 nginx 停止从上游读取并必须等待下游获取数据,然后才能继续执行相同的过程。

关于django - 如果您只发送 JSON 对象,那么合适的 NGINX 配置是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17092722/

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