首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果只发送JSON对象,那么合适的NGINX配置是什么?

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

Stack Overflow用户
提问于 2013-06-14 00:50:21
回答 1查看 1.5K关注 0票数 5

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

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

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

代码语言:javascript
复制
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

我唯一知道如何使用的设置(这是相当可悲的)是下面的一个:

代码语言:javascript
复制
proxy_buffering
Syntax:     proxy_buffering on | off
Default:    on
Context:    http server location
Reference:  proxy_buffering

您在这方面的专业知识将非常感谢这类迷失的灵魂!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-19 17:55:33

proxy_buffers

number定义了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将停止从上游读取数据,并必须等待下游获取数据,然后才能继续执行相同的过程。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17092722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档