0

我最近用我的基于 node-js 的聊天引擎尝试了一个 RDS 无服务器,除了一个问题之外,几乎一切都正常。

我如下创建我的 MySQL 连接池,

    host       : config.database.host_read,
    user: config.database.user,
    password : config.database.password,
    database : config.database.database,
    port       : config.database.port,
    waitForConnections: true,
    connectionLimit: 2000,
    queueLimit: 10
});

问题是 RDS serverless DB Count 只是不断增长,因此它认为服务器很忙并且无缘无故升级到下一个级别。当它达到 2000 时,它只是回到 0 并重新开始,我认为问题是连接池即使没有用户使用它也能保持连接活跃,这很好,这就是连接池的设计使用方式,但是在无服务器云环境理想情况下我希望连接在特定时间后过期,我找不到任何文档

有人说要减少 DB 参数等待超时,但没有一个真正起作用。请参阅下面的我的数据库变量

connect_timeout
30
delayed_insert_timeout
300
innodb_flush_log_at_timeout
1
innodb_lock_wait_timeout
15
innodb_rollback_on_timeout
OFF
interactive_timeout
30
lock_wait_timeout
15
net_read_timeout
30
net_write_timeout
60
rpl_stop_slave_timeout
31536000
slave_net_timeout
3600
wait_timeout
15

关于如何解决这个问题的任何想法?

4

1 回答 1

0

我写了这篇关于无服务器、lambda e db 连接的文章。有一些好的概念可以帮助您找到问题的根本原因。还有一些关于如何缓解连接池问题的示例和用例。

无服务器:Dynamodb x Mongodb x Aurora 无服务器

于 2019-10-17T01:12:05.060 回答