您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档。 信息
在将代理部署到 Edge 之前,最好确保添加到代理的所有 Node.js 代码都能正常运行。本主题讨论在部署包含 Node.js 应用的代理后对其进行调试和问题排查的方法。
增大连接池大小以提高性能
如果您发现性能不佳,或许可以通过以下方式来解决此问题:使用 maxSockets 增加默认的 Node.js 连接池大小,或完全停用套接字池。如需了解详情和示例代码,请参阅 Apigee 社区中的 Node.js 性能提示:套接字池化。
查看 Node.js 日志
要查看 Node.js 应用的相关日志信息,请执行以下操作:
- 在“API 代理”主页面中,点击要查看的代理。
- 在所选代理的摘要页面中,点击工具栏右侧的 Node.js 日志。
在“日志”页面中,您可以选择要查看的日志的时间范围,如下所示。此类日志记录了 HTTP 方法调用、调用成功或失败以及 console.log 消息等。在搜索字段中输入搜索字符串,以显示包含该字符串的所有日志条目。
使用跟踪工具
跟踪工具对于常规代理调试非常有用。如需详细了解如何使用跟踪工具,请参阅使用跟踪工具。
打印控制台输出
您可以在 Node.js 代码中嵌入 console.log 语句,然后在跟踪工具中查看输出。例如,以下语句输出变量 config.user 的值:
console.log('Logging in as %s', config.username);
如需在跟踪工具中查看 console.log 消息的输出,请在跟踪工具中调用您的 API,然后点击所有事务的输出 以打开输出面板:
假设您执行了以下代码...
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'); });
... 控制台语句会显示在面板中:
配置 Nginx 目标超时设置
如果您使用 Nginx 作为代理,并看到“Bad Gateway”错误,请尝试增加 Nginx 代理超时配置,具体说明如下:
例如:
proxy_connect_timeout 60; proxy_read_timeout 120;
根据服务器的响应时长,可以确定理想的超时配置。例如,要提供合理的缓冲区,45-60 秒的读取超时可能比较理想。
配置 Apigee 目标超时设置
您还可以在 TargetEndpoint 的 HttpTargetConnection 元素中配置 Apigee 默认超时值。默认值为:
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>
另请参阅端点属性参考文档。
更多信息
如需详细了解调试,请参阅:
后续步骤
如需了解 Apigee Edge 中的 Node.js 模块支持(包括对 HTTP/HTTPS、TLS 的支持以及其他高级主题),请参阅了解 Node.js 模块的 Edge 支持。