python扭曲的多线程服务器

duc*_*cin 4 python multithreading twisted python-multithreading

当我阅读关于多线程的twisted 文档时,我的印象是,twisted 在单线程中效果最好,异步完成所有工作。但是我有一种强烈的感觉,我不了解多线程、异步性和性能(速度)之间的关系。

想象一下,我们有一台带有许多 CPU 内核的计算机。我们想在那里部署一个扭曲的服务器,它可以管理高流量。我们可以利用所有的核心,让服务器尽可能快地响应。我们应该做什么?我应该使用单线程还是多线程模式?核心数是否会影响扭曲效率(在 C 级别或 Python 级别)?

顺便提一下,我没有考虑任何缓存、与数据库相关的主题(这可以加速任何应用程序)。我只考虑与硬件相关的主题以及线程、进程等。

Gly*_*yph 5

使用Twisted 的内置进程生成 API 生成多个进程。

如果您的服务器要在 UNIX 上运行,您可以使用reactor 套接字传输方法在服务器中的进程之间移动连接和侦听端口(尽管这些接口有朝一日也可能会移植到 Windows)。

在 Python 中生成多个线程(无论您使用的是 Twisted 还是类似的系统)都不允许您使用多个内核,因为全局解释器 lock。