PHP的curl造成性能瓶颈,如何优化?
最近在对项目进行压力测试,我发现所有使用curl的业务场景的性能严重不达标,此时查看服务器情况,和其他性能良好的业务比较起来,发现这些curl页面的cpu使用率一直很低(30%左右,而其他都是100%)!
请问大家,这方面有没有好的方案?
补充:
项目A会通过curl调用项目B提供的rest接口获取相关业务数据。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
cpu低,说明你的cpu很可能在等接口IO……如果cpu 的iowait高的话,那就必须是了……
除了楼上几位的答案,我再补充个:
如果一次请求过程中调用curl的次数太多(我就见过一次请求调上百次接口的),可以考虑修改项目B的接口,提供一次调用就搞定的接口。
在命令行下, curl -vI http://rest.url
看看慢在哪一步。
另外,ping 一下 rest 服务器的IP,看看timeout多少
“性能严重不达标”
具体指的是什么?是指的响应时间太长吗
.htaccess伪静态加上php curl配合使用,web服务器运行久了(约三四天左右),会卡慢甚至崩溃,还可能会抛出504错误。PHP超时执行时间已设置30秒了。不知道是什么原因引起的。