![](/img/trans.png)
[英]Fastest way to serialize and compress a hashmap (object) in nodejs?
[英]Fastest way to request API with NodeJS
我正在尝试在 NodeJS 应用程序中请求 Binance API https://api.binance.com/api/v3/ping以进行一些交易。 我正在使用 axios 请求 API
const testBinanceAPIResponseTime = async () => {
try {
await axios.get("https://api.binance.com/api/v3/ping");
} catch (err) {
throw new Error(err);
}
};
我添加了一个拦截器来测量响应时间
axios.interceptors.request.use((x) => {
x.meta = x.meta || {};
x.meta.requestStartedAt = new Date().getTime();
return x;
});
axios.interceptors.response.use((x) => {
console.log(
`Execution time for: ${x.config.url} - ${
new Date().getTime() - x.config.meta.requestStartedAt
} ms`
);
return x;
});
我的问题是响应时间总是在220 ms
左右,无论我在 Heroku EU 或 Heroku US 上部署我的代码。 根据“文档”,来自美国的请求应该比欧盟更快(约10 ms
),因为那里有一些 Binance 服务器。 有没有办法通过使用另一个库或其他模式来改善响应时间?
您的数据不能以超过光速的速度传播。 所以如果你有 3000 公里的距离等于 3 * 10^6 米,光速是 3 * 10 ^ 8 米/秒timeTaken = distance/velocity
是3*10^6 / 3*10^8 =10^-2 (.01 s)
,即 10 毫秒 (10 * 10 ^ -3)。 因此,当您计算发送和接收的往返行程时间时,它将是您可以获得的最快速度的两倍 20 毫秒。 我没有包括路由和其他时间,而且 api 有自己的响应时间(您的请求的处理时间)。如果 heroku 服务器远离您的币安服务器,即使它在美国,您也无法获得所需的速度。
例如,我会尝试使用Postman
或测试其实际速度的工具来发出请求。
之后,我不会使用axios
Npm,使用常规的fetch request
。
另外,检查您的 Heroku 服务器的速度(本地和服务器上的区别)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.