我从未听说有人使用Taskset来提高Python的性能。这并不意味着您的情况不会发生,而是一定要发布您的结果,以便其他人可以批评您的基准测试方法并提供验证。
不过,就我个人而言,我将使用消息队列将I / O线程与CPU绑定的线程解耦。这样,您的前端现在完全受网络I /
O约束(有些使用HTTP接口,有些使用消息队列接口),非常适合您的线程情况。然后,CPU密集型进程可以使用多进程,也可以只是单个进程,等待工作到达消息队列。
从长远来看,您可能还需要考虑用Twisted或诸如eventlet之类的东西来替换线程化的I
/ O前端,因为即使它们对性能没有帮助,它们也应该提高可伸缩性。您的后端现在已经可以扩展,因为您可以根据需要在任意数量的计算机+ CPU上运行消息队列。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)