Node.js 如何提高发出https请求的我的nodejs自定义库的tps(吞吐量)
创建了一个nodejs库,该库使用客户端证书(.crt、.key文件)向其他服务器发出https请求以获取响应。为了提出请求,我使用了“请求”npm模块 在对图书馆进行基准测试的同时, 我向我的图书馆提出了2000个请求,但图书馆无法处理超过150-200个请求 同时。假设我使用了Http服务器,那么库吞吐量同时增加了1800-1850。 我观察到的是,在发出https请求时,我认为事件循环被阻塞了。因此它无法处理或接受请求 我还尝试过使用https核心模块、节点获取、axios npm模块。我的图书馆的吞吐量没有差别 此外,我们还尝试使用nodejs的集群概念。但它不适合我的图书馆 请帮助我做些什么,以提高我的图书馆的吞吐量 我的代码:Node.js 如何提高发出https请求的我的nodejs自定义库的tps(吞吐量),node.js,axios,node-request,node-fetch,Node.js,Axios,Node Request,Node Fetch,创建了一个nodejs库,该库使用客户端证书(.crt、.key文件)向其他服务器发出https请求以获取响应。为了提出请求,我使用了“请求”npm模块 在对图书馆进行基准测试的同时, 我向我的图书馆提出了2000个请求,但图书馆无法处理超过150-200个请求 同时。假设我使用了Http服务器,那么库吞吐量同时增加了1800-1850。 我观察到的是,在发出https请求时,我认为事件循环被阻塞了。因此它无法处理或接受请求 我还尝试过使用https核心模块、节点获取、axios npm模块。我
const request = require('request');
const fs = require('fs');
const path = require('path');
function makeRequest() {
let headers = {'Content-Type':'application/json'};
let body = '{name:'library'}';
let options = {
url: 'https://IP:PORT/CONTEXT',
method: 'POST',
headers: headers,
body: body,
agentOptions:
{
cert: fs.readFileSync(path.resolve(__dirname, 'ssl/my.crt')),
key: fs.readFileSync(path.resolve(__dirname, 'ssl/my.key')),
passphrase: '123456'
}
}
request(options, (err, response, body) => {
if (err) {
console.log('err :>> ', err);
} else {
console.log('response :>> ', response.statusCode);
}
})
}