Node.js proxy'lerinde hata ayıklama ve sorun giderme

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Bir proxy'ye eklediğiniz Node.js kodunun, proxy'yi Edge'e dağıtmadan önce çalıştığından emin olmak iyi bir uygulamadır. Bu konuda, Node.js uygulamalarını içeren proxy'ler dağıtıldıktan sonra hata ayıklama ve ilgili proxy'lerde sorun giderme yöntemleri açıklanmaktadır.

Performansı iyileştirmek için bağlantı havuzu boyutunu artırma

Performansın yavaş olduğunu fark ederseniz varsayılan Node.js bağlantı havuzu boyutunu maxSockets ile artırarak veya yuva havuzunu tamamen devre dışı bırakarak sorunu çözebilirsiniz. Daha fazla bilgi ve örnek kod için Apigee Topluluğu'ndaki Node.js Performans İpuçları: Yuva Havuzu bölümüne bakın.

Node.js günlüklerini görüntüleme

Node.js uygulamanızla ilgili günlük bilgilerini görüntülemek için:

  1. Ana API proxy'leri sayfasında, görüntülemek istediğiniz proxy'yi tıklayın.
  2. Seçilen proxy'nin özet sayfasında, araç çubuğunun sağ tarafındaki Node.js Günlükleri'ni tıklayın.

Günlükler sayfasında, aşağıda gösterildiği gibi görüntülenecek günlüklerin zaman aralığını seçebilirsiniz. Günlükler; HTTP yöntemi çağrılarını, çağrıların başarılı veya başarısız olduğunu, console.log mesajlarını vb. kaydeder. Dizeyi içeren tüm günlük girişlerini görüntülemek için arama alanına bir arama dizesi girin.

İzleme aracını kullanma

İzleme aracı, genel proxy hata ayıklama işlemleri için kullanışlıdır. İzleme aracının kullanımı hakkında ayrıntılı bilgi için Trace aracını kullanma başlıklı makaleyi inceleyin.

Yazdırma konsolu çıkışı

console.log ifadelerini Node.js kodunuza yerleştirebilir ve izleme aracında sonucu görüntüleyebilirsiniz. Örneğin, aşağıdaki ifade config.user değişkeninin değerini yazdırır:

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

İzleme aracında console.log mesajlarının çıkışını görüntülemek için İzleme Aracı'nda API'nizi çağırın ve Tüm İşlemlerden Çıkış Yap 'ı tıklayarak çıkış panelini açın:

Aşağıdaki kodu yürüttüğünüz varsayıldığında...

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');
});

... konsol ifadeleri panelde görünür:

Nginx hedef zaman aşımı ayarlarını yapılandırma

Proxy olarak Nginx kullanıyorsanız ve "Hatalı Ağ Geçidi" hatalarını görüyorsanız Nginx proxy zaman aşımı yapılandırmasını aşağıda açıklandığı şekilde artırmayı deneyin:

Örneğin:

proxy_connect_timeout       60;
proxy_read_timeout          120;

Sunucunun yanıt verme süresine bağlı olarak, ideal zaman aşımı yapılandırmalarınızı belirleyebilirsiniz. Örneğin, 45-60 saniyelik bir okuma zaman aşımı, makul bir arabellek sağlamak için ideal olabilir.

Apigee hedef zaman aşımı ayarlarını yapılandırma

Apigee varsayılan zaman aşımı değerlerini TargetEndpoint'teki HttpTargetConnection öğesinde de yapılandırabilirsiniz. Varsayılan değerler şunlardır:

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>

Uç nokta özellikleri referansı başlıklı makaleyi de inceleyin.

Daha fazla bilgi için

Hata ayıklama hakkında daha fazla bilgi edinmek için bkz.

Sonraki adımlar

HTTP/HTTPS, TLS ve diğer ileri düzey konular da dahil olmak üzere Apigee Edge'deki Node.js modülü desteği hakkında daha fazla bilgi için Node.js modülleri için Edge desteğini anlama bölümüne bakın.