Men-debug dan memecahkan masalah proxy Node.js

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

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

Meningkatkan ukuran kumpulan koneksi ke meningkatkan performa

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

Melihat log Node.js

Untuk melihat informasi log tentang aplikasi Node.js Anda:

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

Di halaman Logs, Anda dapat memilih rentang waktu log yang akan dilihat, seperti yang ditunjukkan di bawah. Catatan log Panggilan metode HTTP, berhasil atau gagal panggilan, pesan console.log, dan seterusnya. Masukkan penelusuran di kolom penelusuran untuk menampilkan semua entri log yang berisi string.

Menggunakan alat rekaman aktivitas

Alat rekaman aktivitas berguna untuk proses debug proxy umum. Untuk informasi mendetail tentang cara menggunakan lihat Menggunakan Rekaman Aktivitas alat.

Output konsol pencetakan

Anda dapat menyematkan pernyataan console.log di kode Node.js dan melihat output dalam trace menyediakan alat command line gcloud. Misalnya, pernyataan berikut mencetak nilai variabel config.user:

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

Untuk melihat output pesan console.log di alat pelacakan, panggil API Anda di Alat Rekaman Aktivitas dan klik Output dari semua Transaksi untuk buka panel output:

Dengan asumsi Anda telah menjalankan 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 "Gateway Buruk" error, coba tingkatkan proxy Nginx seperti yang dijelaskan di sini:

Contoh:

proxy_connect_timeout       60;
proxy_read_timeout          120;

Bergantung pada waktu yang dibutuhkan server untuk merespons dapat menentukan waktu tunggu yang ideal konfigurasi standar. Misalnya, waktu tunggu baca selama 45-60 detik mungkin ideal untuk memberikan {i>buffer<i} yang wajar.

Mengonfigurasi setelan waktu tunggu target Apigee

Anda juga dapat mengonfigurasi nilai waktu tunggu default Apigee dalam 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 lebih lanjut proses debug, lihat:

Langkah berikutnya

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