hyperf使用curl产生的超时问题
短信预约 -IT技能 免费直播动态提醒
业务场景
每天晚上系统需要同步第三方接口的数据,我们的系统要做的就是使用多个协程调用api接口获取数据(一批单号需要调用多个不同的接口),然后写入数据库。
出现的问题
在设置了超时时间为5分钟的情况下,大部分接口请求能正常响应,少量接口请求会超时。
问题定位
1.怀疑接口响应慢
使用jmeter以及golang分别测试,都不存在超时情况。golang设置的协程数量甚至比本场景中的大。
2.怀疑协程相关部分使用有问题,造成某些协程无法被唤醒
程序中用了channel和wait group。channel用于控制同时请求的api数量,wait group用于等待一批单号的所有接口请求完成。于是改成同步代码,并删除所有的数据库相关代码和所有的channel和wait group,结果依然会超时。
3.怀疑curl库在hyperf中有问题
查看文档,hyperf文档说swoole v4.5.4之前的版本需要添加
! defined(<
来源地址:https://blog.csdn.net/kkyy3210/article/details/126144287
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341