我写了一个简单的Web服务,其中手持设备连接到服务器上的Twisted脚本。设备将数据发送到脚本,脚本使用这些数据来查询MySQL数据库,将数据库内容发送回设备。剧本是根据写在本教程中处理数百万个连接的扭曲脚本
怎么会这样的脚本处理大量连接的脚本?在我的脑海中,它只受服务器限制,服务器内存越高,可以处理的连接数越高。但是脚本能够在大量连接中表现良好吗?对于每个连接,都会创建一个新的连接实例,并在出现查询时为该连接创建一个新的db实例,所以它的所有处理都是异步处理的,我相信,所以服务器cpu的功率和内存?应对高连接量是通过扩展服务器来完成的?对于我的服务,连接可能会在1到3小时之间的任何地方保持打开状态,因此服务器内存可能会填满服务器并导致服务器崩溃。
另外,有没有人知道连接实例的大小是什么?
可能更多的服务器问题比扭曲的问题!但非常感谢阅读!
我想这是更多的内核/ tcp-ip-stack问题,正如你所说 - 我怀疑Twisted强加了它自己的任何特定限制。阅读http://stackoverflow.com/q/2332741/66349,我会建议考虑重新设计你的架构。也许UDP会更合适? – 2014-09-11 09:35:23
没有明确的理由切换到UDP是一个常见的新手错误。谨防! – 2014-09-11 12:14:23