Я недавно опробовал RDS без сервера с моим механизмом чата на базе node-js, почти все работает отлично, за исключением одной проблемы.
Я создаю свои пулы подключений 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-серверов просто растет и растет, поэтому он считает, что сервер занят и обновляется до следующего уровня.уровень без причины.Когда он достигает 2000, он просто возвращается к 0 и запускается снова, я думаю, что проблема заключается в том, что пул соединений поддерживает соединения, даже если нет пользователей, которые его используют, и это хорошо, именно так пулы соединений предназначены для использования, однако вБезсерверная облачная среда, в идеале, я хочу, чтобы срок действия соединений истекал через определенное время, я не смог найти никакой документации по этому вопросу
Некоторые люди говорили, что нужно сократить время ожидания параметра БД, но ни одно из них на самом деле не работало.ниже см. мои переменные в БД
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
Есть идеи, как решить эту проблему?