函数计算因为数据量过大超时的解决方案

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
函数计算FC,每月15万CU 3个月
简介: 我现在做的事情是把一个webtrack 的logstore 通过函数计算导入到另外一个logstore。函数计算的功能是把IP解析成地理位置和把UserAgent String解析成设备信息。 现在的问题是FunctionComputeServer有时会time out失败,但是失败后数据任然是成功插入的。
我现在做的事情是把一个webtrack 的logstore 通过函数计算导入到另外一个logstore。函数计算的功能是把IP解析成地理位置和把UserAgent String解析成设备信息。 
现在的问题是FunctionComputeServer有时会time out失败,但是失败后数据任然是成功插入的。不过ETL认为任务失败,不断重试,最后导致插入大量重复的数据。 
现在有一个解决方案就是减少函数的输入数据,这样就可以避免超时,不过我有一些问题。 
第一个问题:唯一能影响函数的输入数据量的设置只有函数的执行频率吗?我可以准确的指定输入量吗?
阿里答复:完备的触发器角度应该是要同时支持:size-based trigger、time-based trigger两种模式,但因为日志服务没有办法从流式数据订阅接口获取准确的日志条数,所以size-based trigger目前提供不了。抱歉。
第二个问题:因为这是个webtrack logstore,每个时间点的logstore产生量是不稳定的。我如何评估产生的shard数目和大小?有没有什么地方可以查看?有没有什么办法可以提前测试函数计算的 performance这样可以帮助我觉得合适的内存和超时设置?如果靠生产环境里面的情况来做决定,我只能等出了问题在尝试修改,那个时候已经太晚了。 
阿里答复: 一个shard支持5MB/s的数据写入,logstore的流量指标可以在这里看到:https://help.aliyun.com/document_detail/28971.html?spm=a2c4g.11174283.6.693.6IikRd。云监控中的指标应该可以通过sdk方式获取的,你可以基于这个值提前做shard分裂来扩容。


建议解决方案:
1. 将shard数目按照峰值情况进行预留
2. 将日志服务触发器的触发间隔设置为3秒,函数计算的超时间隔设置得高一些(比如2分钟)。我的考虑是:一般来说,函数偶尔超时,后续是可以慢慢赶上进度的(削峰填谷),我们容忍偶尔的超时(计算+IO作业,延时不太可控)。但如果一直超时,说明shard流量过高(分裂shard解决)或者是计算复杂度高(在函数端增加并发)。
3. 日志服务写数据本身是非幂等行为,例如在函数重复执行或者写入数据超时重试时可能引起数据重复。这个问题根本上难以解决,降低重复概率的一个可选方案是:在函数计算里面将本次已处理的数据saved_cursor记录到外部系统(例如表格存储),如果函数超时后再次执行,从表格存储获取上次处理进度,跳过已处理的部分数据,从saved_cursor位置继续开始处理。  
相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
15天前
|
消息中间件 关系型数据库 Serverless
函数计算驱动多媒体文件处理解决方案
《告别资源瓶颈,函数计算驱动多媒体文件处理》方案利用函数计算解耦文件处理与核心应用,提升高并发处理效率和服务稳定性。体验测评显示,文档引导相对全面但部分细节可优化;代码示例有实用性,但可能遇到环境配置等问题;函数计算性能、稳定性和成本满足需求,适合企业上云;云产品如函数计算功能强大、操作便捷,对象存储与其他服务集成良好,云服务器和数据库提供可靠支持。该方案虽有改进空间,但整体值得推荐,能为多媒体文件处理提供高效、稳定且成本可控的选择。
181 84
|
14天前
|
消息中间件 关系型数据库 Serverless
函数计算驱动多媒体文件处理解决方案评测
在本次评测中,我有幸体验了函数计算驱动的多媒体文件处理解决方案。
60 28
|
2天前
|
Serverless
解决方案评测|函数计算驱动多媒体文件处理获奖名单公布
解决方案评测|函数计算驱动多媒体文件处理获奖名单公布!!
|
1月前
|
消息中间件 弹性计算 关系型数据库
函数计算驱动多媒体文件处理解决方案体验评测
从整体解读到部署体验,多方位带你了解如何利用函数计算驱动多媒体文件处理,告别资源瓶颈。
10441 13
|
23天前
|
运维 监控 Serverless
函数计算产品使用问题之超时时间最大是多少
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
1月前
|
存储 编解码 运维
体验报告:《告别资源瓶颈,函数计算驱动多媒体文件处理》解决方案
体验报告:《告别资源瓶颈,函数计算驱动多媒体文件处理》解决方案
81 30
|
29天前
|
安全 Serverless 对象存储
解决方案|函数计算驱动多媒体文件处理
在当前多媒体文件处理需求激增的趋势下,传统的处理方式遇到了众多瓶颈。函数计算提供了一种全新的解决方案,可以一键部署并轻松实现多媒体文件处理任务。它不仅摆脱了内置文件处理逻辑占用核心资源的问题,还能根据需要进行扩展并实现自动化管理,大大提高了处理效率和系统的可靠性。通过将文件处理逻辑解耦,并结合对象存储等技术,我们可以构建出更加高效、稳定及安全的文件处理系统。这使得开发者可以更加专注于业务创新,从而为用户提供更高质量的多媒体体验,共同迎接多媒体文件处理的新时代。
|
1月前
|
数据挖掘 关系型数据库 MySQL
Serverless高可用架构的解决方案体验
Serverless高可用架构的解决方案体验
144 6
|
1月前
|
编解码 弹性计算 运维
《告别资源瓶颈,函数计算驱动多媒体文件处理》解决方案深度测评
在当今数字化转型的浪潮中,多媒体内容的处理与分发成为企业面临的重大挑战之一。为了应对资源瓶颈,提高处理效率并降低成本,我深入体验了《告别资源瓶颈,函数计算驱动多媒体文件处理》这一创新解决方案,并就其部署过程、性能表现、成本效益及云产品体验进行了全面测评。
45 9
|
1月前
|
弹性计算 运维 关系型数据库
Serverless高可用架构解决方案评测
Serverless高可用架构方案提供卓越效能与极简运维体验,支持服务托管、弹性伸缩及按量付费,有效降低成本并优化性能。一键部署快速启动,流程直观,文档详实;但在高级配置与特定场景实践方面指导有限。方案采用双可用区部署确保高可用性,自动故障切换保障服务连续。成本模型按需计费,减轻企业负担。功能上集成监控、日志与负载均衡,简化运维,加速上线。性能方面,秒级弹性伸缩保证资源高效匹配负载。总体而言,此方案竞争力强,特别推荐给初创公司及需灵活应对流量波动的场景。
139 2

热门文章

最新文章