压力测试

ab测试(ApacheBench);

  1. 介绍: 这是apache提供的压测工具;

  2. 使用:

    • 启动node服务;

    • 我用的XAMPP,进入bin文件夹,打开命令行,执行下面命令:

       // -n: 总请求数; -c: 一次产生的请求个数(并发数);
      ab -n 10000 -c 5 http://127.0.0.1:port/
    • 等待结果返回, 结果如下;
  3. 结果分析:

    Server Software:       
    Server Hostname: 127.0.0.1
    Server Port: 700 Document Path: /
    Document Length: 43 bytes Concurrency Level(并发用户数,sequelize pool设置的max值): 5
    Time taken for tests(测试时间): 0.124 seconds
    Complete requests(请求数): 100
    Failed requests(失败请求数): 0
    Non-2xx responses(非2xx响应): 100
    Total transferred(总传输字节数): 19900 bytes
    HTML transferred(HTML传输数): 4300 bytes
    Requests per second(每秒请求): 807.97 [#/sec] (mean)
    Time per request(每次请求时长): 6.188 [ms] (mean)
    Time per request(每次请求时长/并发数): 1.238 [ms] (mean, across all concurrent requests)
    Transfer rate(传输速度): 157.02 [Kbytes/sec] received Connection Times(连接时间) (ms)
    min(最小) mean(均值)[+/-sd] median(中值) max(最大)
    Connect(连接): 0 0 0.1 0 0
    Processing(处理): 1 6 1.4 5 9
    Waiting(等待): 1 6 1.4 5 9
    Total: 2 6 1.4 5 10 // 下面的内容为整个场景中所有请求的响应情况。在场景中每个请求都有一个响应时间,其中 50% 的用户响应时间小于 6毫秒,60 % 的用户响应时间小于 7 毫秒,
    Percentage of the requests served within a certain time (ms)
    50% 6
    66% 7
    75% 8
    80% 9
    90% 10
    95% 13
    98% 17
    99% 21
    100% 114 (longest request)
  4. 更多扩展;

  5. 问题

    • 报错: apr_socket_recv: Connection reset by peer (54); 
      Answer: 设置的 -c的值超出了apache默认的最大并发数;查看或修改可以在xamppfiles/etc/extra/httpd-default.conf查看MaxKeepAliveRequests;
  6. 报告分析

报告分析我还没有头绪,想来如果请求数大,并发数大的情况下和请求数小,并发数小的情况下的每秒请求和每次请求保持大致一致,就问题不大;这方面有经验的望不吝赐教.

Jmeter(图形化工具);

POSTMAN(图形化工具);

目前个人更推荐使用postman进行接口模拟,以及各种针对接口的测试

代码性能分析

node压力测试的更多相关文章

  1. Node.js躬行记(14)——压力测试

    公司有个匿名聊天的常规H5界面,运营向做一次 50W 的推送,为了能配合她的计划,需要对该界面做一次压力测试. 一.JMeter 压测工具选择了JMeter,这是Apache的一个项目,它是用Java ...

  2. 一个基于.NET平台的自动化/压力测试系统设计简述

    AutoTest系统设计概述 AutoTest是一个基于.NET平台实现的自动化/压力测试的系统,可独立运行于windows平台下,支持分布式部署,不需要其他配置或编译器的支持.(本质是一个基于协议的 ...

  3. nGrinder性能测试平台搭建(LVS压力测试)

    1. nGrinder是什么 nGrinder是一个免费的.开放源代码的Web性能测试平台.运行在应用中间件服务器中运行.它由一个控制端和多个代理端组成.通过控制端(浏览器访问)建立测试场景,然后通过 ...

  4. 使用siege进行Web压力测试

    因为最近公司线上node项目出一些不稳定的情况,考虑在这方面能不能做进一步的优化,既然要做优化首先要知道问题出在哪里? 因为暂无法定位是node层问题还是api层出现问题,由于在开发环境小并发量程序运 ...

  5. MySQL Cluster 4个数据节点压力测试--mysqlslap工具压400W写

    锅巴哥的个人建议:cluster叫电信运营商版本,所以基本上在很大的用户并发量的情况下才会用到,对连接数的线性增长要求高的场景,千兆就不用想了, 没万兆就不用玩了. 很不幸,我的就是千兆网络,我的数据 ...

  6. 如何使用 Apache ab 以及 OneAPM 进行压力测试?

    下一个 release 准备小长假后就要 go-live ,所有的测试 case 都 cover 过了,但还未进行过压力测试,有点不放心,刚好过节期间家人都回家去了,假期终于可以抽点时间压测一把. A ...

  7. 开源API测试工具 Hitchhiker v0.6更新 - 改进压力测试

    Hitchhiker 是一款开源的支持多人协作的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部署到本地,和你的team成员一起协作测试 ...

  8. 使用Apache的ab进行压力测试

    概述 ab是apache自带的压力测试工具,当安装完apache的时候,就可以在bin下面找到ab然后进行apache 负载压力测试. 后台测试开发中,常用的压力测试服务,php一般选择xampp,下 ...

  9. 压力测试以及编译安装httpd2.4

    压力测试以及编译安装httpd2.4 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.使用 deflate_module模块压缩页面优化传输速度 我们的httpd软件自带的有一个 ...

随机推荐

  1. 关于zepto在chrome中触发两次的解决方案

    复现条件:chrome 55+ 1.zepto tap的实现及double fire的原因 在监听DOM根节点的时候,touchStart后通过XY的坐标偏差,与tapTime的计时判断Tap/Lon ...

  2. Android HelloChart Demo

    这几天,要做一个图标的统计,自己去网上查了下,现在用的比较多的有三种,AChartEngine 是Google的一个开源图表库 这种我最开始就去导demo去了解他,不过里面是是英文,不好研究.我就放弃 ...

  3. 利刃 MVVMLight 4:绑定和绑定的各种使用场景

    一.绑定: 主要包含元素绑定和非元素绑定两种. 1.元素绑定,是绑定的最简单形式,源对象是WPF的元素,并且源对象的属性是依赖项属性. 根据我们之前的知识 ,依赖项属性具有内置的更改通知支持.所以当我 ...

  4. LeetCode 笔记总结

    前言 之前把一些LeetCode题目的思路写在了本子上,现在把这些全都放到博客上,以后翻阅比较方便. 题目 99.Recover Binary Search Tree 题意 Two elements ...

  5. KoaHub平台基于Node.js开发的Koa router路由插件代码信息详情

    koa-router Router middleware for koa. Provides RESTful resource routing. koa-router       Router mid ...

  6. 1724: [Usaco2006 Nov]Fence Repair 切割木板

    1724: [Usaco2006 Nov]Fence Repair 切割木板 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 854  Solved: 42 ...

  7. CAAnimation动画--(旋转/缩放/移动/闪烁)

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #1d9421 } p.p2 { margin: 0.0px 0. ...

  8. PDO(20161107)

    PDO MySQLI是针对MySQL数据库扩展的,是专门访问MySQL数据库的 PDO是一个数据库访问的一个扩展类,通过一个类访问多个数据库,就是一个数据访问抽象层,把类结合在一块了 可以访问别的数据 ...

  9. Vuex给我们的.vue文件结构带来了这些变化

    使用vuex前后的对比 使用vuex前 //BookRecommend.vue <script> import * as API from '../api/index' export de ...

  10. [原创]HBase学习笔记(1)-安装和部署

    HBase安装和部署 使用的HBase版本是1.2.4 1.安装步骤(默认hdfs已安装好) # 下载并解压安装包 cd tools/ tar -zxf hbase-1.2.4-bin.tar.gz ...