postgresql - Knex 缓慢释放与池的连接
问题描述
我的任务是处理现有 Adonis/Knex/Postgres API 应用程序中的大量性能问题。我是 Knex 的新手,我马上注意到的一个问题是,服务 API 请求的大部分时间都花在释放与池的连接上。我经常看到超过 100 毫秒的时间,并且看到了高达 400 毫秒。
由于 Knex 为每个查询获取和释放连接(通常在单个 API 命中后有多个 DB 查询),问题变得更糟。
例如,一个 API 请求大约需要 450 毫秒,而其中只有 150 毫秒用于检索数据。根据 knex 日志输出,这 300 毫秒开销中的绝大多数是释放连接。
所以,几个问题
是否预计释放连接会花费这么长时间?
我有什么办法可以加快速度吗?
我看到支持手动获取连接并将其传递给查询,但这似乎违反了规定。这样做以提高性能是否正常?
非常感谢
解决方案
推荐阅读
- python - Python - 替换数据框中的字符串
- node.js - SFTP Node.js - Is it possible to list files using wildcards?
- python - 在 Wordlist Generator 程序中添加暂停和恢复功能
- actions-on-google - 像迪士尼一样向 Google Home 发送消息和通知
- python - 使用 python 创建一个词汇文件,该文件从一组(大量).tsv 文件中获取单词,并为每个单词分配一个标识号
- ssas - How to construct date range query when - not all dates exist in hierarchy?
- c++ - 本机 C++ node.js 模块插件 WinHttp Detect Auto Proxy Config Url Error return
- python - LSTM multiple features prediction : shape to give to data (Tensorflow)
- if-statement - 赛普拉斯 - if then 功能
- spring - 如何将日期时间字符串自定义格式为 GMT 日期对象?