2

我正在开发一种自动管理作业队列的工具(在本例中为 Beanstalkd)。目前,您必须手动设置可用工作人员的数量才能将作业从队列中拉出,但这不允许作业高峰,否则会在作业时间较短时浪费资源。

我有一个在作业队列服务器和工作人员上运行的客户端/服务器设置。客户端连接到服务器并报告可用资源(CPU/内存)以及它可以运行的作业类型。然后,服务器监控队列并向连接的客户端指示每秒运行多少个工作人员来处理该队列。目前有大约一百种不同的工作器类型,它们都使用非常不同数量的 CPU/内存,工作器服务器本身具有不同的性能水平。

我正在寻找基于作业队列长度和每个工作人员的资源需求来最有效地平衡工作负载的技术 - 例如,一些工作人员使用 100% 的核心持续 5 秒,而其他工作人员需要几微秒才能完成。此外,某些工作的优先级高于其他工作。

4

0 回答 0