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

如果一个实例开启并发fc后 连接数据库是使用连接池,还是每次执行 都重新初始化连接?

如果一个实例开启并发fc后 连接数据库是使用连接池,还是每次执行 都重新初始化连接?

展开
收起
云问追踪 2023-06-16 09:45:27 126 0
5 条回答
写回答
取消 提交回答
  • 自己在initial初始化链接,选MySQL的例子,有写。

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

    2023-06-16 16:53:33
    赞同 展开评论 打赏
  • 如果您在一个Flink实例上启用了并发,那么它可能会在后台维护一个连接池,以便在Flink任务中提供持久连接。这可以避免每次执行Flink任务时都需要重新初始化连接。 在启用并发的Flink实例中,如果您在同一个Flink任务中连接相同的数据库,则连接池将会自动使用之前连接的连接。这可以避免重复初始化连接。 但是,如果您在Flink任务中使用了新的连接池或新的数据库连接字符串,则需要重新初始化连接。因此,您可以使用一个静态变量或配置文件来管理连接信息,以避免在不同Flink任务之间重复初始化连接。

    2023-06-16 15:03:59
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    在阿里云函数计算中,如果您开启了并发执行,建议使用连接池技术来管理数据库连接。使用连接池可以更好地维护和复用数据库连接,避免反复创建和释放数据库连接所带来的性能损失。

    如果您每次在函数执行时都重新初始化数据库连接,需要付出较高的性能开销。因为建立数据库连接、认证和授权等过程需要消耗较长的时间。如果您的函数需要频繁地访问数据库,那么这些连接操作将会影响函数的执行效率。

    相反,使用连接池可以在函数执行期间复用已有连接,避免重复连接和认证过程所带来的性能损失,并且可以更好地控制数据库连接数,避免无限制地创建过多的连接导致数据库性能下降和资源浪费。

    在阿里云函数计算中,可以使用Python的pymysqlmysql-connector-python等数据库驱动程序实现连接池。具体实现方式可以参考官方文档和代码库中的示例代码。

    2023-06-16 14:53:29
    赞同 展开评论 打赏
  • 一般来说,在一个实例开启并发 FC 后,建议使用连接池来管理数据库连接。这样可以避免在每个函数执行时都重新初始化连接,提高了代码执行的效率,并减少了数据库连接数。

    使用连接池可以将连接缓存在内存中,并在需要时从池中获取可用连接,而不必每次都重新创建连接。这样可以减少数据库连接建立的开销和数据库服务器的负担,并防止因为连接数过多而导致高延迟和性能下降等问题。

    同时,使用连接池还可以通过限制最大连接数、设置连接超时时间等方式,对数据库连接进行更精细的管理和优化。这些措施可以帮助减少资源占用和提高系统稳定性,保证应用程序的高效运行。

    需要注意的是,虽然连接池可以有效提高数据库访问效率,但也需要根据具体情况进行配置和调整。例如,如果连接池设置过小,可能会导致无法获取可用连接;如果连接池设置过大,则可能会浪费资源并影响系统性能。因此,需要根据具体业务需求和系统负载情况,合理配置数据库连接池。

    2023-06-16 11:51:22
    赞同 展开评论 打赏
  • 建议在函数计算中使用连接池,这样可以避免每次执行都重新初始化连接,从而提高性能和效率。

    在函数计算中,由于函数执行完毕后会被回收,因此每次重新初始化连接会浪费很多资源。使用连接池可以在函数执行时从连接池中获取一个可用连接,执行完毕后将连接释放回连接池,从而避免资源浪费。此外,连接池还可以提高数据库的并发处理能力,从而提高系统的吞吐量。

    2023-06-16 09:51:54
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 热门讨论

    热门文章

    相关电子书

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