- 开发技术:nodejs + expressMVC
- 数据库: mysql
- ORM框架:sequelize
- 测试框架:mocha + supertest + should + istanbul
- js版本:ES6
- 项目工具:webstorm + datagrip + sourceTree + markdown + google
- 压力测试工具:Apache JMeter + badboy
- node进程管理工具: pm2
- 反向代理工具: nginx
- 服务器: centos
- 部署服务器地址:http://182.254.134.135/
12. 详细的目录结构请参考我的博客
node -v
npm -v
2.确保你有mysql数据库,并且database的名称为movie,mysql的账户密码分别是root,root,注意此处可以更改,找到我项目中的config文件下的db.js,下面的参数可以更改,不在赘述。
const sequelize = new Sequelize('movie','root','root',{
host:'localhost',
dialect:'mysql',
pool: {
max:5,
min:0,
idle:10000
},
logging: false
});
npm install
supervisor ./bin/www
npm run-script test-cov
localhost:3000
根据导演名或演员名或电影名或电影原名返回电影详细信息(http://182.254.134.135/searchMovieList/"自己相加的值")
npm run-script test-cov
-
每秒激发10个线程(相当于每秒十个用户同时访问),循环5次,测试结果显示:在每秒钟有十个人同时访问该页面的情况下,每个用户显示页面的平均时间约为0.2秒,最小时间约为0.1秒,最大时间约为0.4秒,出错率为0。
-
每秒激发100个线程(相当于每秒100个用户同时访问),循环5次,测试结果显示:在每秒钟有一百个人同时访问该页面的情况下,每个用户显示页面的平均时间约为1.5秒,最小时间约为0.1秒,最大时间约为10秒,出错率为0。
-
每秒激发500个线程(相当于每秒500个用户同时访问),循环5次,测试结果显示:在每秒钟有500个人同时访问该页面的情况下,每个用户显示页面的平均时间约为10秒,最小时间约为1.6秒,最大时间约为179秒,出错率为1.26%。
-
这块测试到线程1800,模拟5次基本上没什么问题,当测试到线程数量为5000的时候,错误率高达70.3%,数据忘记截屏了。有的线程不知道为什么跑不起来。