apache ab压测与参数传递
前言
入职了新公司配置了mac办公,当要进行测试时同事说到用ab测试,当时的我一脸懵逼ab是个啥?当他为我解释完ab是个啥的时候,我想那就动手装一个吧,结果人家说mac下已经装好了,再一次被打脸….
下面我们进入正题,再网上搜了很多资料大部分都是介绍了一些安装及无参数的测试,对需要传参测试的并不太适用,本篇文章是对网上文章的一些总结,测试均采用自己的例子。
压测相关概念
吞吐率(Requests per second)
概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。
计算公式:总请求数 / 处理完成这些请求数所花费的时间,即
Request per second = Complete requests / Time taken for tests并发连接数(The number of concurrent connections)
概念:某个时刻服务器所接受的请求数目,简单的讲,就是一个会话。并发用户数(The number of concurrent users,Concurrency Level)
概念:要注意区分这个概念和并发连接数之间的区别,一个用户可能同时会产生多个会话,也即连接数。用户平均请求等待时间(Time per request)
计算公式:处理完成所有请求数所花费的时间/ (总请求数 / 并发用户数),即
Time per request = Time taken for tests /( Complete requests / Concurrency Level)服务器平均请求等待时间(Time per request: across all concurrent requests)
计算公式:处理完成所有请求数所花费的时间 / 总请求数,即
Time taken for / testsComplete requests
可以看到,它是吞吐率的倒数。
同时,它也=用户平均请求等待时间/并发用户数,即
Time per request / Concurrency Level
apache ab配置
- 开启
mac下已经安装好了apaache我们之间开启就好了
键入 sudo apachectl -v 显示apache信息
键入 sudo apachectl start 开启 - 配置
打开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压测与参数传递相关推荐
- apache ab压测工具,看完就会
安装方法百度很多,不做介绍 一. 压测的几个概念 1. QPS QPS Queries Per Second 是每秒查询率 ,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所 ...
- apache ab 压测
ab是Apache超文本传输协议(HTTP)的性能测试工具. 其设计意图是描绘当前所安装的Apache的执行性能, 主要是显示你安装的Apache每秒可以处理多少个请求. 概要 ab [ -A aut ...
- ab压测_上传图片进行压测
上传图片进行ab压测 背景 今天在做图片分类任务的压力测试,我使用ab(Apache Benchmark)这个压测工具进行压测,这里完整记录下如何上传图片进行ab压测. 流程 整个压测流程大致有以下三 ...
- ab压测与siege压测
本文的核心内容:ab压测与Siege压测工具的使用. 为了测试接口的性能.我们需要对接口进行压力测试,看看接口能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响接口调用方的前端展 ...
- Jmeter wrk ab压测软件对比
文章目录 ab压测工具 安装 简单使用 结果 wrk压测工具 安装 简单使用 结果 ab压测工具 安装 CentOS7 ab压力测试安装与解释 apt-get uninstall apache2-ut ...
- Hyperf 初体验-ab压测
关于什么是 Hyperf ,直接去 Hyperf 官网查看吧. 总之一句话:Hyperf 是基于 Swoole 4.3+ 实现的高性能.高灵活性的 PHP 协程框架 言归正传,我们就来先安装下 Hyp ...
- ab压测 apr_socket_recv: Connection reset by peer (104)错误解决方法
ab压测 apr_socket_recv: Connection reset by peer (104)错误解决方法 参考文章: (1)ab压测 apr_socket_recv: Connection ...
- ab压测工具的一些个人见解
ab压测工具(linux版)由于网上教程一大把,今天也按照教程好好研究了一番,下面写一下对此工具的一些个人见解,如有不妥,希望一起探讨. 优点: 1.小巧. 2.理论支持655350并发数.实际32环 ...
- 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 ...
- ab压测- Apache HTTP server benchmarking tool
文章目录 1.1 原理 1.2 部署 1.3 语法和参数解释 1.4 示例 1.1 原理 ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问.它的测试目标是基于URL,因此 ...
最新文章
- exchange2003备份与恢复
- ACMNO.12有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。 输入 N 输出 数列前N项和 样例输入 10
- ios 3DTouch初识
- oracle 优化器 失效,oracle 优化器 不走索引原因
- u-boot.lds详细的分析
- DC / OS中具有Java和数据库应用程序的服务发现
- rubymine 调试 redmine
- LeetCode - Easy - 696. Count Binary Substrings
- python3.4安装vc_Python3.4 用 pip 安装lxml时出现 “Unable to find vcvarsall.bat ”?
- python能和java一起编程吗_C如何能和Python一起编程,那么它们已经无敌了!Java靠边站!...
- ubuntu下的常见12个命令---欢迎补充
- mysql门派年龄最大的人_MySQL高级 第12章练习
- WireShark 查看UDP码流的丢包率
- ue4手机ui_Epic Games工程师分享:如何在移动平台上做UE4的UI优化?
- java mina框架教程_[Java教程]Mina框架HelloWorld入门
- 微信小游戏上传设置成体验版或者提交审核
- 专硕考数二英二的计算机专业,专硕难度升级!英二改考英一,数二改考数一
- Selenium 打开新标签页获取元素
- 极简时钟,记录时间的利器
- Android左右滑动切换图片
热门文章
- 内存管理技术——离散分配方式
- 中国石油大学《安全行为学》第三阶段在线作业
- 用 SwiftUI 实现一个开源的 App Store
- 32位ubuntu 编译android源码,ubuntu 下编译android源码错误解决记录
- centos 删除服务器文件夹,centos彻底删除文件夹、文件命令
- 英语写作技巧 ——“李靖“
- Java到底能做什么事情呢?
- 小米10 twrp刷入开发版
- c语言爬楼梯不用递归,[leetcode]爬楼梯的递归和非递归方法
- 什么是索引,索引的作用,什么时候需要使用索引,什么时候不需要使用索引