压力测试

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. 读书笔记 effective c++ Item 23 宁可使用非成员非友元函数函数也不使用成员函数

    1. 非成员非友元好还是成员函数好? 想象一个表示web浏览器的类.这样一个类提供了清除下载缓存,清除URL访问历史,从系统中移除所有cookies等接口: class WebBrowser { pu ...

  2. 每天一个linux命令(37)--iostat命令

    Linux 系统中的iostat是I/O statistics (输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况. ...

  3. js本地预览图片

    废话不说  直接上代码 <script type="text/javascript" src="http://code.jquery.com/jquery-late ...

  4. cassandra 数据到Java对象的映射绑定

    类似Hibernate和MyBatis的关系映射,自动帮你将查询数据或是修改的参数进行数据映射和绑定. 支持查询后返回数据ResultSet到Java对象的映射,支持修改.删除.查询之前参数的绑定. ...

  5. MAC本如何优雅的创建定时任务

    在MACOS上设置定时任务大体有两种方案.一种是使用crontab,一种是使用Schedule,今天结合我的使用简单介绍一下. 先说一下背景,为什么MAC可以用crontab.如果使用过Linux的同 ...

  6. 【2017-02-23】switch...case...和for循环

    1.代码简化折叠: #region 标题 ... ... #endregion 一.switch...case... 1.格式 switch(变量){ case 值:代码段;break; case 值 ...

  7. Struts2环境的搭建

    1. Struts2 获取http://struts.apache.org/download.cgiStruts-2.3.16.3-all.zip 了解主要目录 apps :该文件夹下包含了基于Str ...

  8. APICloud使用

    APICloud-APP开发平台 [网址:]http://www.apicloud.com/ APICloud studio 下载 打开网址,找到开发者社区->文档->下载->开发工 ...

  9. KoaHub.JS基于Node.js开发的mysql的node.js驱动程序代码

    mysql A node.js driver for mysql. It is written in JavaScript, does not require compiling, and is 10 ...

  10. Solr vs. Elasticsearch谁是开源搜索引擎王者

    当前是云计算和数据快速增长的时代,今天的应用程序正以PB级和ZB级的速度生产数据,但人们依然在不停的追求更高更快的性能需求.随着数据的堆积,如何快速有效的搜索这些数据,成为对后端服务的挑战.本文,我们 ...