我们正在为每个用户运行大量后台任务,但增加处理这些任务的线程数并没有给每分钟执行的任务数量带来预期的加速 - 奇怪的是,这是仅涉及涉及多个用户任务的情况
在这种情况下,“worker”是一个Python 3.6容器,运行带有threading
模块的5个线程,每个模块都使用同一个Google Cloud PubSub主题中的任务
以下是演示此问题的测试用例示例
测试3:我们同时运行1和2两个任务队列(两个队列之间的公平消耗),共计2800个任务。
我们使用1个工作容器运行测试1,这需要约30分钟
据我所知,没有“死”线程(死锁或其他),但是有可能出现线程执行速度比预期慢得多的情况吗? 当我们有4个工作容器/ 20个可用线程时,为什么吞吐量不会增加?我们还可以调试什么来理解为什么吞吐量没有增加?同样,只有在同时执行多个任务队列时才会发生这种情况。
有关工人容器与之交谈的内容的更多信息,以及我们迄今为止所发现的内容:
工作容器正在与(通过HTTP / S)进行通信: