我最近用我的基于 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
关于如何解决这个问题的任何想法?