所有请求的Python Tornado max

编程入门 行业动态 更新时间:2024-10-11 15:19:06
本文介绍了所有请求的Python Tornado max_Buffer_Size的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我知道我可以在Tornado中设置max_buffer_size来限制可以上载到服务器的数据量。但我尝试做的是限制对我的Tornado服务器的所有请求的数据总量。

例如,我有500个同时发送到Tornado服务器的请求。每个请求都在上传1MB的数据。我希望我的Tornado服务器在所有请求都收到150MB数据时拒绝连接。因此,前150个请求将被接收,但接下来的350个请求将在将任何数据缓冲到内存之前被Tornado拒绝。

是否可以在Tornado中执行此操作?

推荐答案

当前无法设置这样的全局限制(但添加它可能是一件好事)。

您目前所能做的最好的事情就是确保每个连接使用的内存都很低:设置一个较低的默认值max_body_size,对于需要接收更多数据的RequestHandler,使用@stream_request_body和inprepare()Callself.request.connection.set_max_body_size(large_value)。使用@stream_request_body修饰符,每个连接的内存使用将受到chunk_size参数的限制,而不是一次读取整个正文。然后,在data_recieved方法中,您可以await从全局信号量进行分配,以控制超出每个连接区块大小的内存使用。

更多推荐

所有请求的Python Tornado max

本文发布于:2023-10-28 10:30:07,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1536384.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Python   Tornado   max

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!