express实现简单接口监听及写入数据库,利用ab测压工具测试

前言

高并发在大型系统中较为常见,那么Nodejs性能在高并发的情况下性能如何呢。基于Nodejs的express框架实现简单接口监听,并实现写入数据库。利用ab压力测试工具包对高并发状况进行模拟。
环境:win10, node v8.11.3 , MySQL v5.5.62
Node相关模块:mysql,express

连接数据库

const mysql = require('mysql');

// 数据库配置
MYSQL_CONF = {
    host: 'localhost',
    user: 'root',
    password: '123',
    port: '3306',
    database: 'map_game',
};

const con = mysql.createConnection(MYSQL_CONF);

//建立连接
con.connect();

function exec(sql) {
    const promise = new Promise((resolve, reject) => {
        con.query(sql, (error, result) => {
            if (error) {
                reject(error);
            }
            resolve(result);
        });
    });
    return promise;
}

监听接口实现

var express = require("express");

var app = new express();
var port = 3000;

app.get('/test', (req, res) => {
    exec("INSERT INTO `gps_data` VALUES(id,'123456', '75', '100', '2021-06-01','120.1', '22.1');");
    res.send({ errcode: 0, data: {} });
});

app.listen(port, () => {
    console.log(`Example app listening at http://localhost:${port}`)
})

ab测压工具使用

1.下载安装
(1)官方下载地址,如何安装可以参考文章(文献1文献2)。
(2)运行相关命令
cmd命令运行:

ab -n2000 -c100 -t1 http://localhost:3000/test

结果:模拟了100台客户端,1秒内请求2000次接口,结果仅完成了772次请求。多次运行命令,经过观察发现,在上述模拟条件下,请求完成数量大概在600-900之间。
在这里插入图片描述
ab工具更多使用参数可以参考这里

展望

后续有机会将使用其他语言和框架进行测试,并对比测压结果。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值