开发者社区 > 云原生 > Serverless > 正文

请教个问题 我现在是通过APIGW请求调用FC,这边apigw的超时时间是10秒,第一次调用的时候经

请教个问题

我现在是通过APIGW请求调用FC,这边apigw的超时时间是10秒,第一次调用的时候经常会apigw超时,去查FC日志,却看不到整个调用链的请求时间

有时候第一次调用能成功,看整个调用链的执行时间也就3秒多 为什么有时候较快,有时候却会超时呢,相差的时间也太多了。 另外超时的时候也看不到整个请求的调用链的耗时,怎么才能查到是哪一步造成的超时呢?

展开
收起
云问追踪 2023-03-17 15:09:13 1001 0
7 条回答
写回答
取消 提交回答
  • 如果通过 APIGW 请求调用 FC,但是经常会出现 APIGW 超时的情况,可以考虑以下几点:

    1. 调整 APIGW 的超时时间:可以将 APIGW 的超时时间适当延长,以避免因为超时而导致请求失败的情况发生。

    2. 检查 FC 的性能:可以检查 FC 的性能,看是否存在性能瓶颈或者资源不足的情况。如果存在这样的情况,可以考虑优化代码或者增加资源,以提高 FC 的性能。

    3. 查看调用链的耗时:可以通过调用链监控工具来查看整个调用链的耗时情况,以确定是哪一步造成了超时。如果没有调用链监控工具,可以在代码中添加日志输出,以便更好地定位问题。

    4. 检查网络状况:可以检查网络状况,看是否存在网络延迟或者丢包的情况。如果存在这样的情况,可以考虑优化网络配置或者更换网络设备,以提高网络的稳定性和可靠性。

    2023-03-19 09:01:50
    赞同 展开评论 打赏
  • 这个问题可能是由于冷启动导致的。当你的函数计算(FC)服务在一段时间内没有接收到任何请求时,系统可能会为了节省资源而回收容器。当再次接收到请求时,需要重新创建容器并启动函数,这个过程会导致额外的启动时间,通常称为冷启动。这可能导致API网关(APIGW)超时,因为冷启动时间加上函数执行时间可能超过了APIGW的超时设置。

    2023-03-18 12:19:06
    赞同 展开评论 打赏
  • 发表文章、提出问题、分享经验、结交志同道合的朋友

    尝试使用以下方法排查下: 1、网络延迟:如果APIGW和FC之间的网络延迟较高,则可能会导致超时

    2、FC实例启动时间:FC实例可能需要一些时间来启动,如果FC实例未启动,则第一次调用可能需要更长的时间

    3、FC冷启动:如果FC实例长时间未被使用,则可能会处于冷启动状态,第一次调用时会花费更多时间,使用FC预热功能,以减少FC冷启动时间。

    4、函数执行时间:如果函数执行时间较长,则可能会导致APIGW超时。

    5、日志记录:在FC日志中看到完整的调用链。

    2023-03-18 10:01:14
    赞同 展开评论 打赏
  • 开启预置实例,或者看看监控,调用列表 冷启动链路。

    此答案来自钉钉群“阿里函数计算官网客户"

    2023-03-17 21:03:32
    赞同 展开评论 打赏
  • 全栈JAVA领域创作者

    这种问题通常涉及多个系统组件的交互,需要进行逐步排查才能找到问题根源。下面提供一些可能的排查思路和建议:

    首先确认是否有足够的日志记录来跟踪请求的执行情况。建议在每个组件中都开启详细的日志记录,以便能够分析和排除问题。

    确认 API Gateway 的超时时间是否正确配置。如果超时时间过短,可能会导致请求无法完成。如果超时时间过长,则可能会影响整个系统的性能。

    确认 FC 函数的运行时间是否超过了 API Gateway 的超时时间。如果函数执行时间过长,则可能会导致 API Gateway 超时。可以尝试在函数中加入日志输出,以便能够精确计时,并查看函数执行时间是否符合预期。

    确认 FC 函数的运行环境是否足够稳定。如果函数的运行环境不稳定,可能会导致函数执行出现异常或超时。可以尝试对函数的运行环境进行优化,如增加内存、调整网络配置等。

    检查网络是否稳定。如果网络不稳定,可能会导致请求无法正常传输或超时。可以尝试通过网络工具进行诊断,如 ping、traceroute 等。

    检查后端服务是否正常。如果后端服务出现故障或超时,可能会导致请求无法完成。可以尝试通过日志和监控工具来监控后端服务的状态,并尽快排除故障。

    总之,排查这种问题需要进行逐步分析和排除。建议按照上述思路逐步排查,找到问题的根源并进行解决。

    2023-03-17 20:14:09
    赞同 展开评论 打赏
  • 月移花影,暗香浮动

    API网关调用函数计算时,可能出现因网络、并发、资源等原因造成的超时问题。其中,网络方面的原因可能是访问外网较慢导致,如果你的Serverless函数需要访问外部网络资源,可以考虑使用阿里云VPC环境进行部署,以提高访问速度。

    另外,建议你开启API网关的SLS日志,通过SLS日志获取请求调用的详细信息,查看哪一步耗时过长,从而定位问题所在。同时,你也可以通过阿里云函数计算的监控指标,监控函数的占用资源情况,例如内存、CPU等,以及调用统计、性能指标等信息,以便更好地定位问题。

    2023-03-17 15:54:37
    赞同 展开评论 打赏
  • 从事java行业9年至今,热爱技术,热爱以博文记录日常工作,csdn博主,座右铭是:让技术不再枯燥,让每一位技术人爱上技术

    关于你提到的请求调用链耗时的问题,建议咨询官方在线技术支持帮助排查具体问题,在线技术支持地址 https://smartservice.console.aliyun.com/service/robot-chat?spm=5176.12818093.console-base-toolkit.dpost-sale.3be916d0hF40vm&referrer=https%3A%2F%2Fhome.console.aliyun.com%2Fhome%2Fdashboard%2FProductAndService

    2023-03-17 15:51:43
    赞同 展开评论 打赏
滑动查看更多
问答分类:
问答地址:
相关产品:

快速交付实现商业价值。

相关产品

  • 函数计算
  • 热门讨论

    热门文章

    相关电子书

    更多
    Hologres Serverless之路:揭秘弹性计算组 立即下载
    Serverless开发平台: 让研发效能再提升 立即下载
    Serverless 引领云上研发新范式 立即下载