httpd的压力测试工具-ab工具使用案例

                                          作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

一.httpd自带的工具程序

  事实上,在我们安装完Apache之后,它默认就会给我们安装上很多命令行工具,这个是httpd自带的工具。

1>.htpasswd

  为基本认证创建和更新用户认证文件,如basic认证基于文件实现时,用到的账号密码文件生成工具
[root@node101.yinzhengjie.org.cn ~]# htpasswd -c /etc/httpd/conf.d/httpdpasswd jason          #创建第一个用户时需要使用"-c"选项创建的用户的同时会自动创建文件,若文件已经存在则清空文件所有内容重新写入咱们新创建的用户。
New password:
Re-type new password:
Adding password for user jason
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ll /etc/httpd/conf.d/httpdpasswd
-rw-r--r-- root root Dec : /etc/httpd/conf.d/httpdpasswd
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# date
Mon Dec :: CST
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# htpasswd -s /etc/httpd/conf.d/httpdpasswd jay            #创建第二个用户时千万别在使用"-c"选项哟,不过咱们可以使用-s指定加密算法为sha格式加密哟~
New password:
Re-type new password:
Adding password for user jay
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# chmod /etc/httpd/conf.d/httpdpasswd                 #为了安全起见,可以将文件权限改小点。
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ll /etc/httpd/conf.d/httpdpasswd
-rw------- root root Dec : /etc/httpd/conf.d/httpdpasswd
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# cat /etc/httpd/conf.d/httpdpasswd
jason:$apr1$fnoHrDaP$Q0ZGtsOj9D4W3xHzIKm9E/
jay:{SHA}o78nbN18sxTgXokaJRMEYOxV5b8=
[root@node101.yinzhengjie.org.cn ~]#

htpasswd命令使用案例

2>.apachectl

  httpd自带的服务控制脚本,支持start和stop
[root@node107.yizhengjie.org.cn ~]# which apachectl  
/usr/sbin/apachectl
[root@node107.yizhengjie.org.cn ~]#
[root@node107.yizhengjie.org.cn ~]# file `which apachectl`
/usr/sbin/apachectl: POSIX shell script, ASCII text executable            #这是一个脚本文件。
[root@node107.yizhengjie.org.cn ~]#
[root@node107.yizhengjie.org.cn ~]# ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN *: *:*
LISTEN *: *:*
LISTEN ::: :::*
[root@node107.yizhengjie.org.cn ~]#
[root@node107.yizhengjie.org.cn ~]# apachectl stop
[root@node107.yizhengjie.org.cn ~]#
[root@node107.yizhengjie.org.cn ~]# ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN *: *:*
LISTEN ::: :::*
[root@node107.yizhengjie.org.cn ~]#
[root@node107.yizhengjie.org.cn ~]# apachectl start
[root@node107.yizhengjie.org.cn ~]#
[root@node107.yizhengjie.org.cn ~]# ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN *: *:*
LISTEN *: *:*
LISTEN ::: :::*
[root@node107.yizhengjie.org.cn ~]#
[root@node107.yizhengjie.org.cn ~]#

apachectl命令使用案例

3>.rotatelogs

  不关闭 Apache 而切换日志文件。用于日志滚动的工具。 

4>.suexec

  执行外部程序前切换用户

5>.logresolve

  将Apache日志文件中的IP地址解析到主机名称。

6>.httxt2dbm

  为RewriteMap创建dbm文件。

7>.htdbm

  操作DBM密码数据库。

8>.htdigest

  为摘要认证创建和更新用户认证文件。

9>.htcacheclean

  清理磁盘缓存

10>.dbmmanage

  为基本认证创建和更新DBM格式的用户认证文件

11>.configure

  配置源代码

12>.apxs 

  Apache扩展工具,用于编译第三方模块或是开发第三方模块时会用到它

二.httpd的压力测试工具

ab, webbench, http_load, seige

Jmeter:
  开源

Loadrunner:
  商业,有相关认证

tcpcopy:
  网易,复制生产环境中的真实请求,并将之保存

三.Apache HTTP服务器性能测试基准工具ab工具(来自httpd-tools包)

1>.常用参数

语法格式:
  ab [OPTIONS] URL 常用参数:
  -n:总请求数
  -c:模拟的并行数
  -k:以持久连接模式测试

2>.ab命令使用案例

[root@yinzhengjie ~]# ab -c  -n  http://www.yinzhengjie.org.cn/index.html             ----->注意, -c 模拟的并发数,-n 模拟的总请求数, 一般并发数应该小于等于请求数。
This is ApacheBench, Version 2.3 <$Revision: $>
Copyright Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking www.yinzhengjie.org.cn (be patient)
Completed requests ----->告诉我们测试以及完成了5000个请求,下面一次是执行进度。
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Finished requests ------->这就说明任务完成了。 Server Software: Apache/2.2. ----->服务器程序及版本;
Server Hostname: www.yinzhengjie.org.cn ----->服务器的主机名;
Server Port: ------>访问服务器的端口; Document Path: /index.html ------->请求资源的路径;
Document Length: bytes ------->请求资源的大小; Concurrency Level: -------->并发级别为100个;
Time taken for tests: 9.013 seconds --------->测试所经历的市场;
Complete requests: --------->完成的请求个数;
Failed requests: --------->失败的请求个数;
Write errors: ---------->发送的失败个数;
Total transferred: bytes ---------->一共传输的355M,默认单位为字节;
HTML transferred: bytes ---------->所传输的HTML大小为341M,上面的值包括请求首部等,因此上面的值会大于该值,该项只只包含文档实体本身;
Requests per second: 5547.74 [#/sec] (mean) ----------->每秒钟完成的请求数;
Time per request: 18.025 [ms] (mean) ----------->表示总的并发数需要的时间;
Time per request: 0.180 [ms] (mean, across all concurrent requests) ------>表示单个请求所需的时间。总的并发数是100,就用总的时间除以100就会得到这个数字;
Transfer rate: 40390.33 [Kbytes/sec] received -------->每秒钟传输的字节数; Connection Times (ms) ----->处理时间,单位是毫秒。
min mean[+/-sd] median max
Connect: 4.1 ---->连接时间
Processing: 4.1 ----->处理进程(请求)总的时间
Waiting: 3.6 ----->处理请求的等待的时间
Total: 4.4 ------>整体花费的时间 Percentage of the requests served within a certain time (ms)
%              ------>表示完成50%的请求需要的时间是16ms,就是做一个评估。
%
%
%
%
%
%
%
% (longest request) ------>表示完成100%的请求需要的时间为68ms;
You have new mail in /var/spool/mail/root
[root@yinzhengjie ~]#

3>.总结

  我这里测试是在本机测试的,效果是相当的好,实际生产环境中建议要跨主机测试,还有就是测试的时候不能光等测试结果,在进行压力测试的同时还要手动去打开这个网页,观察网页是否能够正常打开,如果不能正常打开就不是压力测试了,而成了崩溃测试啦,哈哈~尽管你满足了以上两点,ab的测试也并不准确,因为我们这里只是测试一个页面,而在生产实际环境中,我们打开的页面也不止一个哟。我们这里主要介绍ab的用法。ab只是可以用来做参考,不能真正用来作为实际生产环境中服务器可以承载的压力,除了ab的测试压力工具还有很多,比如http_load,webbench,seige等等,这些模拟测试工具都不精确。新环境上线之前,我们可以用tcp_copy来进行压力测试,它的可靠性会强一些。

httpd的压力测试工具-ab工具使用案例的更多相关文章

  1. Web进行压力测试的小工具

    在Linux下对Web进行压力测试的小工具有很多,比较出名的有AB.虽然AB可以运行在windows下,但对于想简单界面操作的朋友有点不太习惯.其实vs.net也提供压力测试功能但显然显得太重了,在测 ...

  2. JMeter压力测试和性能测试工具

    Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测 试但后来扩展到其他测试领域. 它可以用于测试静态和动态资源例如静态文件 ...

  3. CentOS 6.7平台nginx压力测试(ab/webbench)

    压力测试工具一:webbench 1.安装 wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz tar zxvf w ...

  4. Web压力测试 ApacheBench(ab)

    ApacheBench命令原理 ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问.它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试ngin ...

  5. 压力测试 Apache ab

    https://www.jianshu.com/p/166a4ea8aade https://httpd.apache.org/docs/2.4/programs/ab.html 安装: 按照提示安装 ...

  6. 压力测试 mac ab

    apache ab:http://blog.chinaunix.net/uid-20382003-id-3032167.html 简单用法: ab -n 3000 -c 3000 http://www ...

  7. 压力测试工具集合(ab,webbench,Siege,http_load,Web Application Stress)

    压力测试工具集合(ab,webbench,Siege,http_load,Web Application Stress) 1 Apache附带的工具ab ab的全称是ApacheBench,是Apac ...

  8. PHP性能:序——谈ab(Apache Bench)压力测试工具

    PHP性能:序——谈ab(Apache Bench)压力测试工具 ab(Apache  Bench)是啥? ab是Apache自带的一个压力测试软件,可以通过ab命令和选项对某个URL进行压力测试.a ...

  9. 转:PHP性能:序——谈ab(Apache Bench)压力测试工具

    PHP性能:序——谈ab(Apache Bench)压力测试工具 ab(Apache  Bench)是啥? ab是Apache自带的一个压力测试软件,可以通过ab命令和选项对某个URL进行压力测试.a ...

随机推荐

  1. java导出pdf功能记录

    这几天已在做处理导出pdf文件的功能,摸索了几天总算可以了.记录下这几天遇到的问题. 1.网上基本都是基于Itext5和Itext7来处理的.我最终是在Itext5上成功了,itext7应该是模板出问 ...

  2. sqlite3 数据库表查看步骤

    sqlite3 数据库表查看步骤 1 sqlite3 local.db2 .mode column3 .headers on4 .tables5 select * from tablename6 ;( ...

  3. js:如何在iframe重载前执行特定动作

    问题说明: 点击左侧菜单时,右侧页面中的iframe加载菜单内容,在iframe加载的页面A中使用了websocket.点击其它菜单时,无法主动关闭websocket, 可能会造成websocket链 ...

  4. go 垃圾回收机制

    转载一篇仔细分析了golang的垃圾回收策略以及发展的一篇文章 地址是https://mp.weixin.qq.com/s?__biz=MzAxNzMwOTQ0NA%3D%3D&mid=265 ...

  5. linux添加虚拟内存交换内存,以及设置优先使用交换内存

    场景:在网上买了台低配置服务器,1c1g,内存太小了,于是打起了交换内存的注意.上网一查,居然还真可以.以下是具体步骤 首先新建一个交换分区文件夹 dd if=/dev/zero of=/usr/sw ...

  6. DS博客作业07--查找

    1.本周学习总结(0--2分) 1.思维导图 2.谈谈你对查找运算的认识及学习体会. 2.PTA实验作业(6分) 本周要求挑3道题目写设计思路.调试过程.设计思路用伪代码描述.题目选做要求: 原则上题 ...

  7. 2019 西安邀请赛 D

    //n件物品,m种关系,(有关系的2个不能在同一组) //把所有物品分为2组,希望最后2组的差值尽可能小,输出较大者 /* 二分图涂色+可行性(01)背包 dp[i] =1表示 最后差值为i可行 建图 ...

  8. 【LEETCODE】71、验证二叉树的前序序列化

    简单粗暴,代码有待优化,不过自己独立完成,没有参考任何材料,还是比较满意的 package y2019.Algorithm.stack.medium; import java.util.Stack; ...

  9. sublime_python编译_输出台中文为乱码

    Evernote Export sublime_python编译_输出台中文为乱码 创建时间: 2019-10-17 星期四 10:52 作者: 苏苏 标签: sublime, 乱码       问题 ...

  10. scratch少儿编程第一季——09、声音模块:吹拉弹唱我也会

    各位小伙伴大家好: 上期我们学习了外观模块的指令,学会了制作特效. 本期我们来学习如何给游戏配音. 声音模块的指令不是很多,我们一起来看看吧. 首先第一个就是播放声音,里面默认插入了喵叫声. 我们点击 ...