Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.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 Twisted脚本处理数百万个连接_Python_Sockets_Asynchronous_Twisted - Fatal编程技术网

Python Twisted脚本处理数百万个连接

Python Twisted脚本处理数百万个连接,python,sockets,asynchronous,twisted,Python,Sockets,Asynchronous,Twisted,我编写了一个简单的web服务,其中手持设备连接到服务器上的扭曲脚本。设备向脚本发送数据,脚本使用此数据查询MySQL数据库,数据库内容发送回设备。该脚本基于本教程中编写的脚本 像这样的脚本如何处理大量连接?在我看来,它只受服务器的限制,服务器内存越高,可以处理的连接量就越大。但是,脚本在有大量连接的情况下会表现良好吗?对于每个连接,都会创建一个新的连接实例,并且在有查询时会为该连接创建一个新的db实例,因此我相信它都是异步处理的,所以服务器的cpu功率和内存是唯一的性能限制吗?通过扩展服务器来

我编写了一个简单的web服务,其中手持设备连接到服务器上的扭曲脚本。设备向脚本发送数据,脚本使用此数据查询MySQL数据库,数据库内容发送回设备。该脚本基于本教程中编写的脚本

像这样的脚本如何处理大量连接?在我看来,它只受服务器的限制,服务器内存越高,可以处理的连接量就越大。但是,脚本在有大量连接的情况下会表现良好吗?对于每个连接,都会创建一个新的连接实例,并且在有查询时会为该连接创建一个新的db实例,因此我相信它都是异步处理的,所以服务器的cpu功率和内存是唯一的性能限制吗?通过扩展服务器来应对高连接量?对于我的服务,连接可能会在1-3小时内从任何位置保持打开状态,因此服务器内存可能会填满并使服务器崩溃

还有,有人知道连接实例的大小吗


可能更多的是服务器问题,而不是扭曲的问题!但是非常感谢你的阅读

你应该进行压力测试。您应该生成大量连接,看看性能如何下降。您可能没有问题,但如果有问题,您应该优化处理连接的代码,规范化数据库并为数据库字段编制索引。但是没有必要过早地进行优化。

我想这更像是一个内核/tcp ip堆栈问题,正如你所说的——我怀疑Twisted对它自己施加了任何特定的限制。请阅读,我建议您考虑重新设计您的体系结构。也许UDP更合适?在没有明确理由的情况下切换到UDP是新手常见的错误。小心!回答得很好。测试是唯一可以确定的通用方法。到目前为止,我觉得只要有无限的cpu和内存,脚本就可以处理无限的连接。但我也认为这个脚本只监听一个端口。这将导致大量连接出现严重的性能问题。有办法解决这个瓶颈吗?