aini 发表于 2017-12-24 16:31:51

node apache ab压力测试

  关于apache ab压力测试博客园有一篇文章http://www.cnblogs.com/zengxiangzhan/archive/2012/12/07/2807141.html讲的还不错。里面有具体参数意思。
  关于node起一个服务然后进行简单测试,可以看看。
  //起一个服务
  http.createServer(function(req,res){
  res.writeHead(200,{'Content-Type':'text/plain'});
  res.write('hello nodejs');
  res.end();
  }).listen(3000);
  然后node app.js(这个看你的文件)
  再开一个命令行,当然得先安装apache服务器,我习惯把apache的bin目录设置为环境变量,命令行在哪都可以起,不然得去apache bin目录起命令行。
  运行ab -n 10000 -c 1000http://localhost:3000/

  10000个请求数,1000的并发,将近20秒完成,也就是平均每秒处理500个请求。
  其中 50% 的用户响应时间小于 1901毫秒
  80 % 的用户响应时间小于 1955毫秒
  最大的响应时间小于 2475 毫秒
  吞吐量-每秒请求数 502.68这个数字很重要,可能是我电脑太渣了的缘故吧。
  没有对比就没有伤害,ab -n 10000 -c 100http://localhost:3000/ 让并发为100试一下呢?

  总时间降了两秒,吞吐量提了一点点,为556.74。最大的区别在于用户响应时间明显降低。
  再来对比一次, ab -n 1000 -c 1000http://localhost:3000/ 请求数1000并发1000来看看效果,测了两次1000 1000

  吞吐量相差还是蛮大的

  看到并发数越大,处理起来感觉就会拖慢效率。再来一次实验。
  ab -n 1000 -c 100http://localhost:3000/处理1000个请求,100的并发

  这个数据跟上面那个100并发很像,压力不够大,于是我又加大了压力
  ab -n 10000 -c 2000http://localhost:3000/处理10000个请求,2000的并发

  延迟明显上来,吞吐量提不上来了,大致我的机器是500左右。
  继续作死,ab -n 10000 -c 3000http://localhost:3000/处理10000个请求,3000的并发

  继续作死,处理5000并发

  吞吐量差不多600度,不过延迟还是蛮多的,好几秒。
  最后我索性把并发加到10000了,延迟更明显,吞吐量也就500到650左右的样子。
页: [1]
查看完整版本: node apache ab压力测试