前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >apache-ab 并发负载压力测试

apache-ab 并发负载压力测试

作者头像
老七Linux
发布2018-05-31 10:48:00
1.7K0
发布2018-05-31 10:48:00
举报

网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环。只有让服务器处在高压情况下,才能真正体现出软件、硬件等各种设置不当所暴露出的问题。

性能测试工具目前最常见的有以下几种:ab、http_load、webbench、siege

ab是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。

一、ab 的原理(apachebench命令的缩写)

ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力

ab命令对发出负载的计算机要求很低,它既不会占用很高CPU,也不会占用很多内存。但却会给目标服务器造成巨大的负载,其原理类似CC攻击。自己测试使用也需要注意,否则一次上太多的负载。可能造成目标服务器资源耗完,严重时甚至导致死机

二、安装(以 Linux 环境为例 )

①源码安装 ②apache 通过 yum 的 RPM 包方式安装 默认存放在 /usr/local/src

1) /opt下面解压:httpd-2.4.27.tar.gz 2) /opt下进入httpd-2.4.27文件夹:cd httpd-2.4.27 3) 安装

在 /usr/local/web/apache 目录下安装Apache执行以下命令

代码语言:javascript
复制
./configure --prefix=/usr/local/apache2.4 --enable-shared=max --enable-module=rewirte --enable-module=so
代码语言:javascript
复制
yum groupinstall “Development Tools”

执行完毕

代码语言:go
复制
 2. 执行 make 命令编译
代码语言:text
复制
 3. 执行 make install   安装

which ab 查看安装位置

代码语言:javascript
复制
which ab

③ 不想安装Apache 但是想使用 ab 命令时可以直接安装 Apache 的工具包 http-tools

代码语言:text
复制
yum -y install httpd-tools

查看安装是否成功

代码语言:text
复制
ab -V   

安装成功则会显示版本信息

官方 ab 参考文档及参数说明

测试命令
代码语言:text
复制
ab [ -A auth-username:password ] [ -b windowsize ] [ -c concurrency ] [ -C cookie-name=value ] [ -d ] [ -e csv-file ] [ -f protocol ] [ -g gnuplot-file ] [ -h ] [ -H custom-header ] [ -i ] [ -k ] [ -n requests ] [ -p POST-file ] [ -P proxy-auth-username:password ] [ -q ] [ -r ] [ -s ] [ -S ] [ -t timelimit ] [ -T content-type ] [ -u PUT-file ] [ -v verbosity] [ -V ] [ -w ] [ -x <table>-attributes ] [ -X proxy[:port] ] [ -y <tr>-attributes ] [ -z <td>-attributes ] [ -Z ciphersuite ] [http[s]://]hostname[:port]/path

说明: -c   concurrency   并发量 -n   requests   请求数

通常使用最多的参数 -n -c

四、ab 性能指标

在进行性能测试过程中有几个指标比较重要

代码语言:javascript
复制
1、吞吐率(Requests per second)
2、并发连接数(The number of concurrent connections)
3、并发用户数(Concurrency Level)
4、用户平均请求等待时间(Time per request)
5、服务器平均请求等待时间(Time per request:across all concurrent requests)

五、ab的应用

ab 在 Linux 系统中压力测试安装完事之后,直接可以测试其他任意的网站

代码语言:text
复制
ab -n10000 -c1000 https://101.201.142.142:443**/**

请求后面可以不添加端口号使用默认,当手动写入时:http  -80     https   -443

分析数据:

Requests per second: 3684.48 [#/sec] (mean) Requests per second: 4443.88 [#/sec] (mean) Requests per second: 4103.85 [#/sec] (mean) APR配置之后 Requests per second: 2079.95 [#/sec] (mean) Requests per second: 5474.69 [#/sec] (mean) 吞吐量。每秒请求数可以冲刺到 5k 多。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017/02/20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 测试命令
  • 分析数据:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档