首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Beanstalkd/Gearman在PHP中运行并发API请求

使用Beanstalkd/Gearman在PHP中运行并发API请求
EN

Stack Overflow用户
提问于 2015-04-27 20:34:28
回答 1查看 566关注 0票数 1

我有一个相当大的PHP web应用程序,它通过API从许多其他供应商那里获得产品,通常使用一个大型XML进行解析。目前有20个供应商,但这一数字还将进一步上升。

我们目前的设置使用多个卷曲来提出请求,这大约需要30-40秒才能完成,而且太长了。脚本运行在后台,而前端轮询数据库寻找结果,然后显示他们的进来。

为了改进这个过程,我们考虑使用作业服务器在后台运行,每个供应商请求都是一个单独的作业。我们见过beanstalkd和Gearman被提到过。

那么,我们是否在正确的方向上看,就像在,一个作业服务器是正确的方式吗?我们正在考虑做一些推广,以便我们可以让200+用户在同一时间搜索30个供应商,所以正确的选择需要很好的规模,如果我们必须负载平衡。

任何建议都是很受欢迎的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-28 12:38:10

您可以使用Beanstalkd,因为您可以自定义作业的优先级和TTR的解析时间,默认为60秒,但是对于您的场景,您必须增加它。有一个不错的管理控制台面板为Beanstalkd。

您还应该利用多个Curl调用,因此您应该使用并行请求。为了利用保持活力,你还需要保持一个卷发手柄池,并保持他们的温暖。见高性能卷曲尖。您还需要优化Linux网络栈

如果您在云中运行此操作,请确保使用多台微型计算机而不是一台重型机器,因为当您拥有多个可用资源时,吞吐量会更好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29905433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档