gpt4 book ai didi

node.js - Node JS - Sequelize 太多连接 - CPU 使用率 100%

转载 作者:行者123 更新时间:2023-12-03 22:33:38 25 4
gpt4 key购买 nike

我正在使用第三方 websocket 连接。
Websocket 发送数组长度为 100+ 的数据。
所以我必须将每条记录检查到数据库表中以进行一些计算(必需)。
可能在这个循环中它导致内存和高 CPU 使用率。
我的数据库配置。

const sequelize = new Sequelize(DB_NAME, DB_USER, DB_PASSWORD, {
dialect: 'mysql',
host: DB_HOST,
port: DB_PORT,
logging: false,
dialectOptions: {
// useUTC: true
},
timezone: '+00:00',
pool: {
max: 500,
min: 0,
idle: 10000,
// @note https://github.com/sequelize/sequelize/issues/8133#issuecomment-359993057
acquire: 100*1000,
}
});
一圈代码:
for(const theOdd of records) {

await odd_records.count() // First query
await matches.findOne() //Second query
.
.
.
//End with 5-6 queries for each row.
}
如何优化?
有什么帮助吗?

最佳答案

假设您要为每条记录查询 6 次(假设有 100 条记录)。因此,您查询了 600 次。
我假设每条记录都存在一个唯一的 ID。

  • 在始终返回相同结果的循环外执行常量值查询。await odd_records.count() 对我来说看起来是不变的值(value)。
  • 收集所有记录的 id,并在一次查询中获取每条记录的所有特定数据。
  • 此外,如果可能,请使用 Promise.all 进行查询。

  • 它将把查询的数量减少到 6 个。

    关于node.js - Node JS - Sequelize 太多连接 - CPU 使用率 100%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64119155/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com