如何解决如何在PHP中并行发出多个HTTP请求?
| 我有一个用PHP编写的脚本,该脚本将API调用发送到eBay。每秒有几个(15-50)呼叫。我做了一些基准测试,并注意到PHP并没有像我想要的那样快地执行它们,因为它不能并行运行它们。 我的问题:将脚本转换为Java,以使其具有多线程功能是个好主意吗?这是否会像我认为的那样并行运行每个请求,还是我误导了这一点? 任何其他建议都欢迎。 谢谢。解决方法
首先,用Java重写脚本不会神奇地使它成为多线程的,除非您有并发编程的经验,否则我将避免这种情况。即使这样,也不一定意味着它会比您的PHP脚本运行得更快。
其次,PHP可以使用cURL的multi exec函数并行执行多个http请求。有关如何使用它们的信息,请参见curl_multi_init和curl_multi_exec的文档。
,检查计算机语言基准大战游戏
Java 1.71 PHP 63.19,因此Java快37倍。
,使用Java,您当然可以使用Threads API并行执行请求(可能使用“ 0”)。就是说,增加并发并不能保证代码将在总体上以更少的时间执行。
您是否知道PHP代码甚至是执行的瓶颈?可能是eBay API限制了请求,因此您每秒只能发送固定数量的请求,在这种情况下,代码的速度实际上并不重要。或者,可能是因为您的网络速度非常慢,或者延迟时间非常长-再次,您的时间最好花在首先解决这些问题上。
,如何使用多个不可见框架,以便浏览器可以并行处理它们,并使可见页面提要请求到达框架并合并客户端响应?
,如果通过PCNTL进行编译,PHP将支持线程处理,这有可能节省您更多时间,然后用Java重新编写许多大型网络库。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。