Menggunakan Kembali Koneksi dengan Keep-Alive di Node.js - AWS SDK for JavaScript

Kami mengumumkan yang akan datang end-of-support untuk AWS SDK for JavaScript v2. Kami menyarankan Anda bermigrasi ke AWS SDK for JavaScript v3. Untuk tanggal, detail tambahan, dan informasi tentang cara bermigrasi, silakan merujuk ke pengumuman tertaut.

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 untuk detailnya.