Men-debug dan memecahkan masalah proxy Node.js

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Sebelum men-deploy-nya ke Edge, sebaiknya pastikan kode Node.js yang Anda tambahkan ke proxy berfungsi. Topik ini membahas cara men-debug dan memecahkan masalah proxy yang menyertakan aplikasi Node.js setelah di-deploy.

Menambah ukuran kumpulan koneksi untuk meningkatkan performa

Jika Anda mendapati performa yang lambat, Anda mungkin dapat mengatasi masalah tersebut dengan meningkatkan ukuran kumpulan koneksi Node.js default dengan maxSockets, atau dengan menonaktifkan penggabungan soket sepenuhnya. Untuk mengetahui informasi selengkapnya dan kode contoh, lihat Tips Performa Node.js: Penampungan Socket di Komunitas Apigee.

Melihat log Node.js

Untuk melihat informasi log tentang aplikasi Node.js Anda:

  1. Di halaman utama API proxy, klik proxy yang ingin Anda lihat.
  2. Di halaman ringkasan proxy yang dipilih, klik Node.js Logs di sisi kanan toolbar.

Di halaman Log, Anda dapat memilih rentang waktu log untuk ditampilkan, seperti yang ditunjukkan di bawah. Log mencatat panggilan metode HTTP, keberhasilan atau kegagalan panggilan, pesan console.log, dan sebagainya. Masukkan string penelusuran di kolom penelusuran untuk menampilkan semua entri log yang berisi string tersebut.

Menggunakan alat pelacakan

Alat pelacakan berguna untuk proses debug proxy umum. Untuk informasi mendetail tentang penggunaan alat pelacakan, lihat Menggunakan alat Trace.

Output konsol pencetakan

Anda dapat menyematkan pernyataan console.log dalam kode Node.js dan melihat outputnya di alat rekaman aktivitas. Misalnya, pernyataan berikut mencetak nilai variabel config.user:

console.log('Logging in as %s', config.username);

Untuk melihat output pesan console.log di alat rekaman aktivitas, panggil API Anda di Alat Trace, lalu klik Output from all Transactions untuk membuka panel output:

Dengan asumsi Anda mengeksekusi kode berikut...

var http = require('http');

console.log('node.js application starting...');

var svr = http.createServer(function(req, resp) {
    resp.end('Hello, World!');
});

svr.listen(9000, function() {
    console.log('Node HTTP server is listening');
});

... pernyataan konsol muncul di panel:

Mengonfigurasi setelan waktu tunggu target Nginx

Jika Anda menggunakan Nginx sebagai proxy dan melihat error "Gateway Buruk", coba tingkatkan konfigurasi waktu tunggu proxy Nginx seperti yang dijelaskan di sini:

Contoh:

proxy_connect_timeout       60;
proxy_read_timeout          120;

Bergantung pada waktu yang diperlukan server untuk merespons dapat menentukan konfigurasi waktu tunggu yang ideal. Misalnya, waktu tunggu baca selama 45-60 detik mungkin ideal untuk menyediakan buffering yang wajar.

Mengonfigurasi setelan waktu tunggu target Apigee

Anda juga dapat mengonfigurasi nilai waktu tunggu default Apigee di elemen HttpTargetConnection di TargetEndpoint. Nilai defaultnya adalah:

connect.timeout.millis - 60 seconds
io.timeout.millis - 120 seconds
<HTTPTargetConnection>
    <Properties>
        <Property name="connect.timeout.millis">5000</Property>
        <Property name="io.timeout.millis">5000</Property>
    </Properties>
    <URL>http://www.google.com</URL>
</HTTPTargetConnection>

Lihat juga Referensi properti endpoint.

Untuk informasi selengkapnya

Untuk mempelajari proses debug lebih lanjut, lihat:

Langkah berikutnya

Untuk informasi tentang dukungan modul Node.js di Apigee Edge, termasuk informasi tentang dukungan untuk HTTP/HTTPS, TLS, dan topik lanjutan lainnya, lihat Memahami dukungan Edge untuk modul Node.js.