压力测试

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. [翻译]现代java开发指南 第一部分

    现代java开发指南 第一部分 第一部分:Java已不是你父亲那一代的样子 第一部分,第二部分 =================== 与历史上任何其他的语言相比,这里要排除c语言和cobol语言,现 ...

  2. 关于synchronized、wait、notify已经notifyAll的使用

    前言:关于synchronized.wait.notify已经notifyAll大家应该不陌生,现在我大致说一下我的理解. 一:synchronized synchronized中文解释是同步,那么什 ...

  3. 线上问题debug过程(cat,grep,tr,awk,sort,uniq,comm等工具的综合使用)

    问题:发现线上到货单的数量,小于实际到货的数量. 怀疑一些隐藏的条件,将部分唯一码进行了过滤,导致数量变少. 开展了如下的跟踪流程: 1.找到其中一个明细的唯一码 grep 6180e-4b09f p ...

  4. LeetCode 2. Add Two Numbers 解题报告

    题意: 有两个链表,它们表示逆序的两个非负数.例 (2 -> 4 -> 3)表示342,求两个数字的和,并用同样的方式逆序输出.如342+465 = 807,你需要把结果表达为(7 -&g ...

  5. Palindrome Linked List leetcode

    Given a singly linked list, determine if it is a palindrome. Follow up:Could you do it in O(n) time ...

  6. 1602: [Usaco2008 Oct]牧场行走

    1602: [Usaco2008 Oct]牧场行走 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1211  Solved: 616 [Submit][ ...

  7. 微信企业号接收消息(使用SpringMVC)

    微信企业号接收消息(使用SpringMVC) 微信企业号接收消息(使用SpringMVC) 将应用设置在回调模式时,企业可以通过回调URL接收员工回复的消息,以及员工关注.点击菜单.上报地理位置等事件 ...

  8. QT 中使用 c++ 的指针

    之前没有接触过 c++,不过听说 c++ 的指针很坑,直到最近在用 QT / C++ 写一个 Linux Deepin 系统上检测网络流量和网速的小程序时,发现 c++ 的指针用起来真的特别蛋疼. 不 ...

  9. 如何使用Vue2做服务端渲染

    花费了一个月时间,终于在新养车之家项目中成功部署了vue2服务端渲染(SSR),并且使用上了Vuex 负责状态管理,首屏加载时间从之前4G网络下的1000ms,提升到了现在500-700ms之间,SS ...

  10. Git-最简单的本地项目变成版本仓库,然后把内容推送到GitHub仓库

    (注:本文的前提是本地Git仓库和github仓库之间已经存在SSH key了,所以如果没有建立联系的小伙伴们请先建立联系) 具体操作: 一:把本地项目变成版本仓库 1.把本地的一个项目目录编程版本库 ...