Bir AWS Lambda işlevini Amazon RDS'ye (MySQL) bağladım. Lambda fonksiyonu aynı anda 100 kez çağrıldığında, RDS'de yaklaşık 400 bağlantı açılır (RDS konsolunda gösterildiği gibi). Bu neden?AWS Lambda RDS çok fazla bağlantı var
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE DB = "MYDB";
Tüm bağlantılar Lambda kaplardan şunlardır:
kullanıyorum etkin bağlantıları kontrol etti. Lambda konteynırların eşzamanlı isteklerde nasıl davrandığını bilen var mı? Kaplar neden tekrar kullanılmıyor?Güncel Yapılandırma: Bir bağlantı isteği başına açıldığında
var sequelize = new Sequelize('DB','username', 'password' ,{ dialect: 'mysql', port: port, host: host, pool: { max: 20, min: 0, idle: 300000 } });
bile olsa 400 bağlantıların nasıl açılır 100. olmalıdır?
Sequelize kullanıyorum. Düğüm JS Not 6.9.1
: Bağlantı Lambda Handler yönteminin dışında sadece bir kez olur
Aynı isteklerin bir çoğundan dolayı DB bağlantılarını bu kadar fazla yükün geleceğini bekleyecek şekilde ölçeklendirmesi mümkün olabilir. Bağlantıyı tutmayı ve bir sonraki isteği –
'dan sonra biraz zamanlamayı deneyebilirsiniz. Bu kapsayıcıyı yeniden kullanabilir, ancak bu bir web uygulaması için gerekli değildir? Eşzamanlılık, bir web uygulamasının temel ilkesidir. Neden Lambda 100 istekte bulunmak için bu kadar çok konteynere ihtiyaç duyuyor? –