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-nya ke Edge. 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 melihat performa yang lambat, Anda mungkin dapat mengatasi masalah ini dengan meningkatkan ukuran kumpulan koneksi Node.js default dengan maxSockets, atau dengan menonaktifkan kumpulan soket secara keseluruhan. Untuk mengetahui informasi selengkapnya dan contoh kode, lihat Tips Performa Node.js: Penggabungan Soket 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 Node.js Logs di sisi kanan toolbar.

Di halaman Log, Anda dapat memilih rentang waktu log yang akan dilihat, 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 rekaman aktivitas

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

Mencetak output konsol

Anda dapat menyematkan pernyataan console.log dalam kode Node.js dan melihat output-nya di alat pelacakan. 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 Pelacakan, lalu klik Output dari semua Transaksi untuk membuka 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 akan muncul di panel:

Mengonfigurasi setelan waktu tunggu target Nginx

Jika Anda menggunakan Nginx sebagai proxy dan melihat error "Bad Gateway", 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, Anda dapat menentukan konfigurasi waktu tunggu yang ideal. Misalnya, waktu tunggu baca selama 45-60 detik mungkin ideal untuk memberikan buffer 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 lebih lanjut proses debug, 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.