Kami mengumumkan
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan Kembali Koneksi dengan Keep-Alive di Node.js
Secara default, agen HTTP/HTTPS Node.js default membuat koneksi TCP baru untuk setiap permintaan baru. Untuk menghindari biaya membuat koneksi baru, Anda dapat menggunakan kembali koneksi yang ada.
Untuk operasi jangka pendek, seperti query DynamoDB, overhead latensi pengaturan koneksi TCP mungkin lebih besar daripada operasi itu sendiri. Selain itu, karena enkripsi DynamoDB saat istirahat terintegrasi AWS dengan KMS, Anda mungkin mengalami latensi dari database yang harus membuat kembali AWS KMS entri cache baru untuk setiap operasi.
Cara termudah untuk mengonfigurasi SDK JavaScript agar dapat menggunakan kembali koneksi TCP adalah dengan mengatur variabel
AWS_NODEJS_CONNECTION_REUSE_ENABLED
lingkungan ke. 1
Fitur ini ditambahkan dalam rilis 2.463.0
Atau, Anda dapat mengatur keepAlive
properti agen HTTP atau HTTPS yang disetel ketrue
, seperti yang ditunjukkan pada contoh berikut.
const AWS = require('aws-sdk'); // http or https const http = require('http'); const agent = new http.Agent({ keepAlive: true, // Infinity is read as 50 sockets maxSockets: Infinity }); AWS.config.update({ httpOptions: { agent } });
Contoh berikut menunjukkan bagaimana mengatur hanya keepAlive
untuk klien DynamoDB:
const AWS = require('aws-sdk') // http or https const https = require('https'); const agent = new https.Agent({ keepAlive: true }); const dynamodb = new AWS.DynamoDB({ httpOptions: { agent } });
Jika keepAlive
diaktifkan, Anda juga dapat mengatur penundaan awal untuk paket TCP Keep-AlivekeepAliveMsecs
, yang secara default adalah 1000ms. Lihat dokumentasi Node.js