Javascript 在Node.js服务器中,通过Axios.create()创建多个Axios客户端与使用单例适配器相比,是否存在性能损失?
使用Javascript 在Node.js服务器中,通过Axios.create()创建多个Axios客户端与使用单例适配器相比,是否存在性能损失?,javascript,node.js,performance,axios,Javascript,Node.js,Performance,Axios,使用Axios.create生成多个Axios客户端是否会招致性能惩罚或其他考虑因素?示例:对于对SomeApicClient的5000个同时请求,以下方法之间是否存在任何差异: 接近A function callSomeApi = async () => { const client = axios.create(...); await client.post(...); }; // For 5000 simultaneous requests await callSom
Axios.create
生成多个Axios客户端是否会招致性能惩罚或其他考虑因素?示例:对于对SomeApicClient的5000个同时请求,以下方法之间是否存在任何差异:
接近A
function callSomeApi = async () => {
const client = axios.create(...);
await client.post(...);
};
// For 5000 simultaneous requests
await callSomeApi();
方法B
class SomeApiClient {
constructor() { this.client = axios.create(...); }
async callSomeApi() { await this.client.post(...); };
}
const apiClient = new SomeApiClient();
// For 5000 simultaneous requests
await apiClient.callSomeApi();
调用axios.create 5000次
vs调用构造函数中的axios.create 1次,调用post请求5000次
。因此,1个同步步骤发生5000次,并在approach Atry中阻塞主线程,以在调试模式下运行代码,并从浏览器连接到它,查看方法调用了多少次,等等。此外,您还可以转储堆并对其进行分析:@num8er我已使用正确的异步/等待调用编辑了示例,以避免阻塞主线程。然后在第一个示例中,它向垃圾收集器添加了额外的工作,以清理为5000个客户机变量分配的内存。