如何使用gearman每秒运行50k个工作

时间:2015-03-12 09:23:27

标签: php gearman

根据Gearman website

  

" 16核Intel机器每秒可处理超过5万个作业。"

我有负载均衡器可以将流量转移到4台不同的机器上。每台机器有8个核心。我希望能够每台机器每秒运行13K个作业(它绝对超过50K的作业)。

每项工作需要0.02到0.8 MS。

我需要为这种表现打开多少工人?

打开这些工人需要采取哪些步骤?

1 个答案:

答案 0 :(得分:1)

根据您正在进行的处理类型,这需要进行一些实验和负载测试。在开始之前,请确保您可以在没有SSH的情况下重新启动服务器,因为您可以轻松地连接CPU。请按照以下步骤查找最佳工人数量:

  1. 首先添加一些等于核心数减1的工人。如果你有8个核心,那么从7个工作人员开始(希望让核心免费用于SSH等工作)。
  2. 运行top并观察平均负载。负载平均值不应高于核心数。对于8个核心,平均负载为7或更高将表明您有太多工作人员。较低的平均负载意味着您​​可以尝试添加其他工作人员。
  3. 如果您在步骤2中添加了其他工作人员,请再次观察平均负载。另请注意RAM使用量的增加。
  4. 如果重复上述步骤,最终将耗尽CPU或RAM。
  5. 进行并行处理时,请记住,您可能遇到收益递减点。有关详细信息,请参阅Amdahl's law