Gỡ lỗi và khắc phục sự cố proxy Node.js

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X.
Thông tin

Bạn nên đảm bảo mọi mã Node.js mà bạn thêm vào một proxy đều hoạt động trước khi triển khai mã đó đến Edge. Chủ đề này thảo luận về các cách gỡ lỗi và khắc phục sự cố cho những proxy bao gồm các ứng dụng Node.js sau khi được triển khai.

Tăng kích thước nhóm kết nối để cải thiện hiệu suất

Nếu nhận thấy hiệu suất chậm, bạn có thể giải quyết vấn đề bằng cách tăng kích thước nhóm kết nối Node.js mặc định bằng maxSockets hoặc bằng cách tắt hoàn toàn tính năng nhóm socket. Để biết thêm thông tin và mã ví dụ, hãy xem bài viết Mẹo về hiệu suất Node.js: Nhóm ổ cắm trong Cộng đồng Apigee.

Xem nhật ký Node.js

Cách xem thông tin nhật ký về ứng dụng Node.js:

  1. Trong trang chính về các proxy API, hãy nhấp vào proxy mà bạn muốn xem.
  2. Trong trang tóm tắt của proxy đã chọn, hãy nhấp vào Nhật ký Node.js ở phía bên phải của thanh công cụ.

Trong trang Nhật ký, bạn có thể chọn một khoảng thời gian của nhật ký để xem, như minh hoạ bên dưới. Nhật ký ghi lại các lệnh gọi phương thức HTTP, trạng thái thành công hoặc không thành công của lệnh gọi, thông báo console.log, v.v. Nhập một chuỗi tìm kiếm vào trường tìm kiếm để hiển thị tất cả các mục nhật ký có chứa chuỗi đó.

Sử dụng công cụ theo dõi

Công cụ theo dõi hữu ích cho việc gỡ lỗi proxy chung. Để biết thông tin chi tiết về cách sử dụng công cụ theo dõi, hãy xem bài viết Sử dụng công cụ Theo dõi.

In kết quả trên bảng điều khiển

Bạn có thể nhúng các câu lệnh console.log vào mã Node.js và xem đầu ra trong công cụ theo dõi. Ví dụ: câu lệnh sau đây in giá trị của biến config.user:

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

Để xem đầu ra của thông báo console.log trong công cụ theo dõi, hãy gọi API của bạn trong Công cụ theo dõi rồi nhấp vào Đầu ra từ tất cả các giao dịch để mở bảng đầu ra:

Giả sử bạn đã thực thi mã sau đây...

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

... các câu lệnh của bảng điều khiển sẽ xuất hiện trong bảng điều khiển:

Định cấu hình chế độ cài đặt thời gian chờ mục tiêu Nginx

Nếu bạn đang dùng Nginx làm proxy và thấy lỗi "Bad Gateway" (Lỗi cổng không hợp lệ), hãy thử tăng cấu hình thời gian chờ của proxy Nginx như giải thích tại đây:

Ví dụ:

proxy_connect_timeout       60;
proxy_read_timeout          120;

Thời gian phản hồi của máy chủ có thể quyết định cấu hình thời gian chờ lý tưởng của bạn. Ví dụ: thời gian chờ đọc là 45-60 giây có thể là lý tưởng để cung cấp một vùng đệm hợp lý.

Định cấu hình chế độ cài đặt thời gian chờ mục tiêu Apigee

Bạn cũng có thể định cấu hình các giá trị thời gian chờ mặc định của Apigee trong phần tử HttpTargetConnection trong TargetEndpoint. Giá trị mặc định là:

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>

Xem thêm Tài liệu tham khảo về thuộc tính của thiết bị đầu cuối.

Thông tin khác

Để tìm hiểu thêm về quy trình gỡ lỗi, hãy xem:

Các bước tiếp theo

Để biết thông tin về tính năng hỗ trợ mô-đun Node.js trong Apigee Edge, bao gồm cả thông tin về tính năng hỗ trợ HTTP/HTTPS, TLS và các chủ đề nâng cao khác, hãy xem bài viết Tìm hiểu về tính năng hỗ trợ của Edge đối với các mô-đun Node.js.