如何计算和测试并发连接数?
Twisted服务器可以支持超过10,000个同时连接。我想用Python写一个测试案例来检查这个功能。
我知道的只是用多进程、线程和greenlet(绿色线程)。我想问的是,怎么确认Twisted真的能支持超过10,000个同时连接呢?
我知道可以用日志记录器,但这个记录器准确吗?或者有没有其他方法来计算这个呢?
2 个回答
4
支持超过10,000个同时连接其实很简单。但要支持这么多活跃连接就比较难了。你在这些连接上希望看到什么样的活动,往往会影响你能同时支持多少个连接。你希望这些连接在做什么呢?你可以设计一个测试,模拟真实的使用情况,然后看看你能支持多少个客户端。你的测试越能真实反映实际情况,得到的结果就会越准确。
1
Nicholas Piël 的并发性能测试非常有趣,里面比较了 Twisted 和其他一些 Python 框架。他还提到如何测试处理数以万计的 socket 连接。
关于这个话题,还有一篇不错的文章 C10K 问题,虽然它不仅仅适用于 Python。
通过使用 Nicholas 的一些技巧,你可以验证他的发现,并准确了解 Twisted 能为你提供怎样的并发性能。