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 về Apigee X.
thông tin

Bạn nên đảm bảo mọi mã Node.js mà bạn thêm vào proxy đều hoạt động trước khi triển khai mã đó cho Edge. Chủ đề này thảo luận về các cách gỡ lỗi và khắc phục sự cố của proxy bao gồm các ứng dụng Node.js sau khi 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 gộp nhóm ổ cắm. Để biết thêm thông tin và đoạn mã ví dụ, hãy xem bài viết Mẹo về hiệu suất Node.js: Dùng chung Socket 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. Trên trang proxy API chính, 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 Node.js Logs (Nhật ký Node.js) ở bên phải thanh công cụ.

Trên 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, lệnh gọi thành công hoặc không thành công, 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ập nhật ký 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 phần 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 kết quả trong công cụ theo dõi. Ví dụ: câu lệnh sau đây sẽ in giá trị của biến config.user:

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

Để xem kết quả 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 Kết quả từ tất cả giao dịch để mở bảng kết quả:

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

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 sử dụng Nginx làm proxy và thấy lỗi "Cổng vào không hợp lệ", hãy thử tăng cấu hình thời gian chờ của proxy Nginx như được giải thích tại đây:

Ví dụ:

proxy_connect_timeout       60;
proxy_read_timeout          120;

Tuỳ thuộc vào thời gian máy chủ cần để phản hồi, bạn có thể xác định cấu hình thời gian chờ lý tưởng. Ví dụ: thời gian chờ đọc từ 45 đến 60 giây có thể là thời gian 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. Các 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 điểm cuối.

Thông tin khác

Để tìm hiểu thêm về cách 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 tính năng hỗ trợ Edge cho các mô-đun Node.js.