前言

入职了新公司配置了mac办公,当要进行测试时同事说到用ab测试,当时的我一脸懵逼ab是个啥?当他为我解释完ab是个啥的时候,我想那就动手装一个吧,结果人家说mac下已经装好了,再一次被打脸….
下面我们进入正题,再网上搜了很多资料大部分都是介绍了一些安装及无参数的测试,对需要传参测试的并不太适用,本篇文章是对网上文章的一些总结,测试均采用自己的例子。

压测相关概念

  1. 吞吐率(Requests per second)
    概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。
    计算公式:总请求数 / 处理完成这些请求数所花费的时间,即
    Request per second = Complete requests / Time taken for tests

  2. 并发连接数(The number of concurrent connections)
    概念:某个时刻服务器所接受的请求数目,简单的讲,就是一个会话。

  3. 并发用户数(The number of concurrent users,Concurrency Level)
    概念:要注意区分这个概念和并发连接数之间的区别,一个用户可能同时会产生多个会话,也即连接数。

  4. 用户平均请求等待时间(Time per request)
    计算公式:处理完成所有请求数所花费的时间/ (总请求数 / 并发用户数),即
    Time per request = Time taken for tests /( Complete requests / Concurrency Level)

  5. 服务器平均请求等待时间(Time per request: across all concurrent requests)
    计算公式:处理完成所有请求数所花费的时间 / 总请求数,即
    Time taken for / testsComplete requests
    可以看到,它是吞吐率的倒数。
    同时,它也=用户平均请求等待时间/并发用户数,即
    Time per request / Concurrency Level

apache ab配置

  1. 开启
    mac下已经安装好了apaache我们之间开启就好了
    键入 sudo apachectl -v 显示apache信息
    键入 sudo apachectl start 开启
  2. 配置
    打开Apache的配置文件
    sudo vi /etc/apache2/httpd.conf在httpd.conf中找到“#Include /private/etc/apache2/extra/httpd-vhosts.conf”,去掉前面的“#”,保存并退出,去掉这一行的#意思是从/extra/httpd-vhosts.conf这个文件导入虚拟主机配置。
    然后重启Apache
    sudo apachectl restart
    运行如下命令:
    sudo vi /etc/apache2/extra/httpd-vhosts.conf
    就打开了配置虚拟主机文件httpd-vhost.conf,配置虚拟主机了。需要注意的是该文件默认开启了两个作为例子的虚拟主机:
    增加如下配置
<VirtualHost *:80>DocumentRoot "/Library/WebServer/Documents"ServerName localhostErrorLog "/private/var/log/apache2/localhost-error_log"CustomLog "/private/var/log/apache2/localhost-access_log" common
</VirtualHost><VirtualHost *:80>DocumentRoot "/Users/snandy/work"ServerName mysitesErrorLog "/private/var/log/apache2/sites-error_log"CustomLog "/private/var/log/apache2/sites-access_log" common
<Directory />Options Indexes FollowSymLinks MultiViewsAllowOverride NoneOrder deny,allowAllow from all</Directory>
</VirtualHost>

保存退出,后重启apache就可以进行压测了。

apache ab 压测

测试命令

ab -n 100 -c 10 http://test.com/
其中-n表示请求数,-c表示并发数
其余命令请参见 http://apache.jz123.cn/programs/ab.html

测试Get请求并传入一个参数

这里我就直接贴出来我得测试结果

测试get请求并输入两个参数

同样直接贴图了

测试post请求

post有两个参数:p(小写),T(大写),注意区分大小写,一个是用于指定POST请求时的参数文件,一个用于指定请求的类型Content-type,关于Content-type的类型,大家可以百度。
我自己的测试中并没有指定
以下为我得参数json串。

{"lesson_id":8877,"unionid":"f2_877","user_id":123}

apache ab压测与参数传递相关推荐

  1. apache ab压测工具,看完就会

    安装方法百度很多,不做介绍 一. 压测的几个概念 1. QPS QPS Queries Per Second 是每秒查询率 ,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所 ...

  2. apache ab 压测

    ab是Apache超文本传输协议(HTTP)的性能测试工具. 其设计意图是描绘当前所安装的Apache的执行性能, 主要是显示你安装的Apache每秒可以处理多少个请求. 概要 ab [ -A aut ...

  3. ab压测_上传图片进行压测

    上传图片进行ab压测 背景 今天在做图片分类任务的压力测试,我使用ab(Apache Benchmark)这个压测工具进行压测,这里完整记录下如何上传图片进行ab压测. 流程 整个压测流程大致有以下三 ...

  4. ab压测与siege压测

    本文的核心内容:ab压测与Siege压测工具的使用. 为了测试接口的性能.我们需要对接口进行压力测试,看看接口能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响接口调用方的前端展 ...

  5. Jmeter wrk ab压测软件对比

    文章目录 ab压测工具 安装 简单使用 结果 wrk压测工具 安装 简单使用 结果 ab压测工具 安装 CentOS7 ab压力测试安装与解释 apt-get uninstall apache2-ut ...

  6. Hyperf 初体验-ab压测

    关于什么是 Hyperf ,直接去 Hyperf 官网查看吧. 总之一句话:Hyperf 是基于 Swoole 4.3+ 实现的高性能.高灵活性的 PHP 协程框架 言归正传,我们就来先安装下 Hyp ...

  7. ab压测 apr_socket_recv: Connection reset by peer (104)错误解决方法

    ab压测 apr_socket_recv: Connection reset by peer (104)错误解决方法 参考文章: (1)ab压测 apr_socket_recv: Connection ...

  8. ab压测工具的一些个人见解

    ab压测工具(linux版)由于网上教程一大把,今天也按照教程好好研究了一番,下面写一下对此工具的一些个人见解,如有不妥,希望一起探讨. 优点: 1.小巧. 2.理论支持655350并发数.实际32环 ...

  9. http,https,TCP,UDP,apache 的ab,压测工具

    对于http,https使用apache 的ab: 对于http/2使用nghttp2的h2load: 压测http ab -k -t 180 -c 6 -n 1000000 http://172.1 ...

  10. ab压测- Apache HTTP server benchmarking tool

    文章目录 1.1 原理 1.2 部署 1.3 语法和参数解释 1.4 示例 1.1 原理   ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问.它的测试目标是基于URL,因此 ...

最新文章

  1. exchange2003备份与恢复
  2. ACMNO.12有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。 输入 N 输出 数列前N项和 样例输入 10
  3. ios 3DTouch初识
  4. oracle 优化器 失效,oracle 优化器 不走索引原因
  5. u-boot.lds详细的分析
  6. DC / OS中具有Java和数据库应用程序的服务发现
  7. rubymine 调试 redmine
  8. LeetCode - Easy - 696. Count Binary Substrings
  9. python3.4安装vc_Python3.4 用 pip 安装lxml时出现 “Unable to find vcvarsall.bat ”?
  10. python能和java一起编程吗_C如何能和Python一起编程,那么它们已经无敌了!Java靠边站!...
  11. ubuntu下的常见12个命令---欢迎补充
  12. mysql门派年龄最大的人_MySQL高级 第12章练习
  13. WireShark 查看UDP码流的丢包率
  14. ue4手机ui_Epic Games工程师分享:如何在移动平台上做UE4的UI优化?
  15. java mina框架教程_[Java教程]Mina框架HelloWorld入门
  16. 微信小游戏上传设置成体验版或者提交审核
  17. 专硕考数二英二的计算机专业,专硕难度升级!英二改考英一,数二改考数一
  18. Selenium 打开新标签页获取元素
  19. 极简时钟,记录时间的利器
  20. Android左右滑动切换图片

热门文章

  1. 内存管理技术——离散分配方式
  2. 中国石油大学《安全行为学》第三阶段在线作业
  3. 用 SwiftUI 实现一个开源的 App Store
  4. 32位ubuntu 编译android源码,ubuntu 下编译android源码错误解决记录
  5. centos 删除服务器文件夹,centos彻底删除文件夹、文件命令
  6. 英语写作技巧 ——“李靖“
  7. Java到底能做什么事情呢?
  8. 小米10 twrp刷入开发版
  9. c语言爬楼梯不用递归,[leetcode]爬楼梯的递归和非递归方法
  10. 什么是索引,索引的作用,什么时候需要使用索引,什么时候不需要使用索引