Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tornado Websocket处理程序在接收数据时阻塞_Python_Python 3.x_Websocket_Tornado - Fatal编程技术网

Python Tornado Websocket处理程序在接收数据时阻塞

Python Tornado Websocket处理程序在接收数据时阻塞,python,python-3.x,websocket,tornado,Python,Python 3.x,Websocket,Tornado,我有两个非常简单的基于Tornado的websocket处理程序在同一个进程中运行,每个处理程序都能自己正常工作。但是,当一个接收到大量数据(>8MB)时,进程会阻塞,而另一个在接收到所有数据之前无法处理消息。有什么办法可以绕过这个问题,防止tornado在这里阻塞吗?tornado可以很好地处理大量短并发请求。 它不会将长请求拆分为较小的请求。所以进程块 为什么要使用套接字传递大量数据?最终的解决方案取决于这个问题的答案 如果您没有太多的大请求,只需在多个tornado实例前使用haproxy

我有两个非常简单的基于Tornado的websocket处理程序在同一个进程中运行,每个处理程序都能自己正常工作。但是,当一个接收到大量数据(>8MB)时,进程会阻塞,而另一个在接收到所有数据之前无法处理消息。有什么办法可以绕过这个问题,防止tornado在这里阻塞吗?

tornado可以很好地处理大量短并发请求。 它不会将长请求拆分为较小的请求。所以进程块

为什么要使用套接字传递大量数据?最终的解决方案取决于这个问题的答案


如果您没有太多的大请求,只需在多个tornado实例前使用haproxy即可

我最初尝试发送非常小的块,但我发现使用较大的块时整体速度更快。虽然没有消除这个问题,但正如您所建议的,运行多个tornado实例肯定会有所帮助。