Home >Backend Development >PHP Tutorial >PHP的curl造成性能瓶颈,如何优化?

PHP的curl造成性能瓶颈,如何优化?

WBOY
WBOYOriginal
2016-06-06 20:51:411882browse

最近在对项目进行压力测试,我发现所有使用curl的业务场景的性能严重不达标,此时查看服务器情况,和其他性能良好的业务比较起来,发现这些curl页面的cpu使用率一直很低(30%左右,而其他都是100%)!

请问大家,这方面有没有好的方案?

补充:
项目A会通过curl调用项目B提供的rest接口获取相关业务数据。

回复内容:

最近在对项目进行压力测试,我发现所有使用curl的业务场景的性能严重不达标,此时查看服务器情况,和其他性能良好的业务比较起来,发现这些curl页面的cpu使用率一直很低(30%左右,而其他都是100%)!

请问大家,这方面有没有好的方案?

补充:
项目A会通过curl调用项目B提供的rest接口获取相关业务数据。

cpu低,说明你的cpu很可能在等接口IO……如果cpu 的iowait高的话,那就必须是了……

  1. 用curl_multi_exec 把curl做并发
  2. curl访问的内容(B的rest接口)太慢了,想办法提升一下,你可以

  • 缓存接口内容
  • 提升B接口的运算速度
  • 优化网络环境

除了楼上几位的答案,我再补充个:
如果一次请求过程中调用curl的次数太多(我就见过一次请求调上百次接口的),可以考虑修改项目B的接口,提供一次调用就搞定的接口。

在命令行下, curl -vI http://rest.url
看看慢在哪一步。
另外,ping 一下 rest 服务器的IP,看看timeout多少

“性能严重不达标”

具体指的是什么?是指的响应时间太长吗

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn