在Node.js中实现Http阻塞业务接口压测示例
前端  /  管理员 发布于 10个月前   226
在Node.js中实现Http阻塞业务接口压测功能。
示例代码:
const http = require('http');
// 创建一个 HTTP 服务器
const server = http.createServer((req, res) => {
// 设置响应头
res.writeHead(200, {'Content-Type': 'application/json'});
// 定义接口路径
if (req.url === '/index') {
// 模拟返回的数据
const data = {
message: 'Hello, this is the API response!'
};
var currentTime = new Date();
data.message=currentTime;
// 将数据转换为 JSON 格式并发送响应
res.end(JSON.stringify(data));
} else if (req.url === '/google') {
const options = {
hostname: 'cn.bing.com',
path:'/HPImageArchive.aspx?format=js&idx=0&n=1',
port: 80,
method: 'GET',
timeout:1000,
};
// 模拟返回的数据
fetchDataFromServer(options, (error, data) => {
if (error) {
res.writeHead(200, {'Content-Type': 'application/json'});
res.end(JSON.stringify(error));
} else {
const googleData = {
message: data
};
res.writeHead(200, {'Content-Type': 'application/json'});
res.end(JSON.stringify(googleData));
}
});
} else {
// 处理未知路径的请求
res.writeHead(200, {'Content-Type': 'application/json'});
res.end('Not Found');
}
});
function fetchDataFromServer(options, callback) {
const req = http.request(options, (res) => {
let data = '';
// 接收响应数据
res.on('data', (chunk) => {
data += chunk;
});
// 响应完成后处理数据
res.on('end', () => {
// 调用回调函数并传递获取的数据
callback(null, data);
});
});
// 处理请求错误
req.on('error', (e) => {
// 调用回调函数并传递错误信息
callback(e, null);
});
// 结束请求
req.end();
}
// 监听端口
const port = 3000;
server.listen(port, () => {
console.log(`Server is running on http://localhost:${port}`);
});
调用及测试
阻塞接口压测
wrk -c 100 -t 10 -d 15s http://127.0.0.1:3000/google
QPS 几十
同时压测普通接口
wrk -c 100 -t 10 -d 10s http://127.0.0.1:3000/index
QPS 3 万左右,没有明显影响
123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号