
# 成本管理
在云原生时代，FunctionGraph作为华为云的无服务器计算服务，为开发者提供了按需执行代码的高效平台。然而，随着业务的不断扩展和复杂度的增加，如何在享受FunctionGraph带来的敏捷与弹性的同时，有效控制成本，成为了关注的焦点。
本章节将深入探讨一系列成本优化策略，旨在帮助用户精打细算，实现FunctionGraph资源的高效利用，从而在保证业务稳定运行的同时，最大限度地降低运营成本。
#### 减小执行内存
FunctionGraph会根据不同内存大小进行计费，为函数配置过高的内存会带来额外的计费。您可以通过函数监控中的运行内存监控来调整您的函数内存配置，具体监控信息请参见[查看FunctionGraph的监控数据](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0212.html)，具体配置请参见[配置函数的常规信息](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_1828.html)。
#### 开启函数动态内存
FuntionGraph支持为函数启用动态内存，开启动态内存可以让函数在处理指定请求时，设置本次处理中函数实例使用的资源规格，从而最小化资源占用，达到更低的成本开销。具体配置请参考[配置函数的动态内存](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0310.html)。
#### 控制函数最大实例数
FunctionGraph支持为函数配置最大实例数，通过控制最大实例数，可以避免函数执行时启用过多实例以增加额外成本。您可以根据函数监控中的弹性实例数来配置合适的最大实例数，具体监控信息请参见[查看FunctionGraph的监控数据](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0212.html)。
#### 配置合理的预留实例数
FunctionGraph预留实例计费取决于预留实例的存活时间，如果启用过多的预留实例将会带来额外的成本支出。您可以通过手动减少预留实例数来控制，或者启用弹性预留实例策略来智能控制预留实例个数。具体配置请参见[为函数配置预留实例](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_1837.html)。
#### 开启预留实例闲置模式
FunctionGraph预留实例支持开启闲置模式，闲置模式下将显著减少预留实例的计费。具体配置请参见[为函数配置预留实例](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_1837.html)。
#### 优化超时函数
FunctionGraph计费基于函数执行时间和函数执行次数，如果函数存在执行超时会带来额外的收费，及时优化或停止超时函数可以减少对应成本。您可以通过函数监控中的执行时间来判断是否存在超时函数，具体监控信息请参见[查看FunctionGraph的监控数据](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0212.html)。
#### 配置函数的心跳检测
心跳函数用于检测用户函数运行时的异常场景，如函数死锁、函数内存溢出、函数网络异常等。如果心跳请求返回异常，FunctionGraph会认为函数实例异常，将终止此函数实例，从而避免无效的重试带来额外的调用费用。具体配置请参考[配置函数的心跳检测](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_1835.html)。
