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

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến 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 một proxy đều hoạt động trước khi bạn triển khai mã đó cho Edge. Chủ đề này thảo luận cách gỡ lỗi và khắc phục sự cố về proxy chứa 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 hẳn nhóm kết nối. Để 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: Khai thác lỗ hổng bảo mật 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 của bạn:

  1. Trong trang proxy API chính, nhấp vào proxy 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ụ.

Trên trang Nhật ký, bạn có thể chọn một khoảng thời gian cho nhật ký để xem, như được trình bày dưới đây. 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/không thành công của lệnh gọi, thông báo trên console.log, v.v. Nhập một chuỗi tìm kiếm vào trường tìm kiếm để hiện 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 rất hữu ích khi 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.

Kết quả đầu ra của bảng điều khiển in

Bạn có thể nhúng 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 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 điều khiển đầu ra:

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âu lệnh trong 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ờ đích Nginx

Nếu bạn đang dùng Nginx làm proxy và thấy 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 dưới đây:

Ví dụ:

proxy_connect_timeout       60;
proxy_read_timeout          120;

Việc máy chủ mất bao lâu để phản hồi có thể xác định cấu hình thời gian chờ lý tưởng của bạn. 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 thiết bị đầu 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ài viết sau:

Các bước tiếp theo

Để biết thông tin về việc hỗ trợ mô-đun Node.js trong Apigee Edge, bao gồm cả thông tin về việc 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ề khả năng hỗ trợ Edge cho các mô-đun Node.js.