apache ab test使用 单独安装ab和htpasswd

apache ab test使用 apache ab test使用 单独安装ab和htpasswd

转载自:

http://www.cnblogs.com/super-d2/p/3831155.html#top

http://blog.chinaunix.net/uid-20382003-id-3032167.html

 

注意:ab test是不支持长连接压测的,只支持短连接压测

ab性能不行,会拖累nginx回包和关闭链接的延迟,最终影响整体nginx并发测试,尝试同时开多个ab发包(http://www.itzk.com/thread-583354-52-1.shtml)

 

单独安装ab和htpasswd

yum install -y httpd-tools完成后,就可以直接运行ab# which ab
/usr/bin/ab# rpm -qf /usr/bin/ab
httpd-tools-2.2.15-47.el6.centos.1.x86_64# which htpasswd
/usr/bin/htpasswd

 

 

压测方法,一定要指定页面名

/usr/bin/ab  -n 3000 -c 3000 https://www.baidu.com/index.php

 

压测之前先执行下面命令

ulimit -n 65535

 

htpasswd加密

默认以DES加密
htpasswd -c /root/aa.txt  test
# cat aa.txt
test:Dl4dQa5GI3Qzsmd5和sha加密
htpasswd -c -m  /root/.aa.txt  user1

 

ab test

先查看一下版本信息 ab -V(注意是大写的V)

 2、我们也可以使用小写的v查看下ab命令的一些属性 ab -v

 

1、命令格式
ab命令放在apache目录bin目录下面,使用方法如下

./ab -n 3000 -c 3000 http://www.test.com/

其中-n代表每次并发量,-c代表总共发送的数量

2、测试结果分析
[root@Svr107 bin]# ./ab -n 3000 -c 3000 http://www.test.com/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.twioo.com (be patient)
Completed 300 requests
Completed 600 requests
Completed 900 requests
Completed 1200 requests
Completed 1500 requests
Completed 1800 requests
Completed 2100 requests
Completed 2400 requests
Completed 2700 requests
Completed 3000 requests
Finished 3000 requests


Server Software: nginx/0.7.65
Server Hostname: www.test.com
Server Port: 80

Document Path: / ###请求的资源
Document Length: 50679 bytes ###文档返回的长度,不包括页头

Concurrency Level: 3000 ###并发个数
Time taken for tests: 30.449 seconds ###总请求时间
Complete requests: 3000 ###总请求数
Failed requests: 0 ###失败的请求数
Write errors: 0
Total transferred: 152745000 bytes
HTML transferred: 152037000 bytes
Requests per second: 98.52 [#/sec] (mean) ###平均每秒的请求数
Time per request: 30449.217 [ms] (mean) ###平均每个请求消耗的时间
Time per request: 10.150 [ms] (mean, across all concurrent requests) ###上面的请求除以并发数
Transfer rate: 4898.81 [Kbytes/sec] received ###传输速率

Connection Times (ms)
min mean[+/-sd] median max
Connect: 2 54 27.1 55 98
Processing: 51 8452 5196.8 7748 30361
Waiting: 50 6539 5432.8 6451 30064
Total: 54 8506 5210.5 7778 30436

Percentage of the requests served within a certain time (ms)
50% 7778 ###50%的请求都在7778ms内完成
66% 11059
75% 11888
80% 12207
90% 13806  ###90%的请求都在13806 ms内完成
95% 18520
98% 24232
99% 24559
100% 30436 (longest request)  ###100%的请求都在30436ms内完成  大部分请求响应时间都很长


3、如果用ab访问的是本机上的web服务器,使用127.0.0.1或者是web服务器上的网卡IP地址,这个是不走网络设备的,可以忽略网络消耗


4、ab使用的一些问题
a、ab命令在一般系统上面做测试时候,一般并发不能超过1024个,其实是因为因为系统限制每个进程打开的最大文件数为1024,可以用ulimit -a来查看
open files (-n) 65536 ##这个我系统已经修改过
b、-n 可以指定最大请求数,但是不能超过50000个
c、-v n 当n>=2 时,可以显示发送的http请求头,和响应的http头及内容,压力测试时不要这么做
[root@Svr107 bin]# ./ab -n 1 -c 1 -v 2 http://www.test.com/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.test.com (be patient)...INFO: POST header ==
---
GET / HTTP/1.0
Host: www.test.com
User-Agent: ApacheBench/2.3
Accept: */*


---
LOG: header received:
HTTP/1.1 200 OK
Server: nginx/0.7.65
Date: Thu, 01 Dec 2011 13:08:16 GMT
Content-Type: text/html
Connection: close
Vary: Accept-Encoding
Content-Length: 50515
Last-Modified: Thu, 01 Dec 2011 13:08:04 GMT
Accept-Ranges: bytes

<sc< div="">
..done


Server Software: nginx/0.7.65
Server Hostname: www.test.com
Server Port: 80

Document Path: /
Document Length: 50515 bytes

Concurrency Level: 1
Time taken for tests: 0.006 seconds
Complete requests: 1
Failed requests: 0
Write errors: 0
Total transferred: 50751 bytes
HTML transferred: 50515 bytes
Requests per second: 176.27 [#/sec] (mean)
Time per request: 5.673 [ms] (mean)
Time per request: 5.673 [ms] (mean, across all concurrent requests)
Transfer rate: 8736.39 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 5 5 0.0 5 5
Waiting: 1 1 0.0 1 1
Total: 6 6 0.0 6 6

在做压力测试的时候,一般情况下压力测试客户端接收到的数据量一定会远大于发送出去的数据量

 

问题

b -n 3000 -c 3000 http://192.168.0.2/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.0.2 (be patient)
socket: Too many open files (24)

解决方法:

查看当前要以打开的文件个数

[root@zabbix ~]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 14802
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024    #只能打开1024个socket文件 /端口
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 14802
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

调整可以打开的文件数

[root@zabbix ~]# ulimit -n 65535
重新执行ab命令即可解决


自己压测结果

# /usr/bin/ab  -n 3000 -c 3000 https://www.baidu.com/index.php
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.baidu.com (be patient)
Completed 300 requests
Completed 600 requests
SSL handshake failed (5).
Completed 900 requests
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).

/usr/bin/ab  -n 3000 -c 3000 https://www.baidu.com:443/index.php


/usr/bin/ab  -n 3000 -c 3000 http://www.80ops.cn/archives/178.html


 /usr/bin/ab  -n 3 -c 3 http://www.80ops.cn/archives/178.html
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.80ops.cn (be patient).....done


Server Software:        nginx/1.6.3
Server Hostname:        www.80ops.cn
Server Port:            80

Document Path:          /archives/178.html
Document Length:        74117 bytes

Concurrency Level:      3
Time taken for tests:   1.092 seconds
Complete requests:      3
Failed requests:        0
Write errors:           0
Total transferred:      223206 bytes
HTML transferred:       222351 bytes
Requests per second:    2.75 [#/sec] (mean)
Time per request:       1092.167 [ms] (mean)
Time per request:       364.056 [ms] (mean, across all concurrent requests)
Transfer rate:          199.58 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       28   30   1.3     30      31
Processing:   126  587 435.8    817     993
Waiting:       38   44   5.1     47      48
Total:        157  616 435.2    846    1022

Percentage of the requests served within a certain time (ms)
  50%    669
  66%    669
  75%   1022
  80%   1022
  90%   1022
  95%   1022
  98%   1022
  99%   1022
 100%   1022 (longest request)
You have new mail in /var/spool/mail/root

 

相关问题

http://blog.csdn.net/largetalk/article/details/7337102

http://2hei.net/linux_web_test_tools_for_https.html

 

转载于:https://www.cnblogs.com/MYSQLZOUQI/p/5123212.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/471186.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 2180. 统计各位数字之和为偶数的整数个数

文章目录1. 题目2. 解题1. 题目 给你一个正整数 num &#xff0c;请你统计并返回 小于或等于 num 且各位数字之和为 偶数 的正整数的数目。 正整数的 各位数字之和 是其所有位上的对应数字相加的结果。 示例 1&#xff1a; 输入&#xff1a;num 4 输出&#xff1a;2 解释&a…

LeetCode 2181. 合并零之间的节点(链表)

文章目录1. 题目2. 解题1. 题目 给你一个链表的头节点 head &#xff0c;该链表包含由 0 分隔开的一连串整数。 链表的 开端 和 末尾 的节点都满足 Node.val 0 。 对于每两个相邻的 0 &#xff0c;请你将它们之间的所有节点合并成一个节点&#xff0c;其值是所有已合并节点的…

Web框架——Flask系列之模板使用练习(六)

一、实现的效果如下: 二、实现要求&#xff1a; 给定如下5条数据,只显示4行数据&#xff0c;背景颜色依次为&#xff1a;黄&#xff0c;绿&#xff0c;红&#xff0c;紫 my_list [{"id": 1,"value": "我爱工作"},{"id": 2,"va…

Android安全研究经验谈

安全研究做什么从攻击角度举例&#xff0c;可以是&#xff1a;对某个模块进行漏洞挖掘的方法&#xff0c;对某个漏洞进行利用的技术&#xff0c;通过逆向工程破解程序、解密数据&#xff0c;对系统或应用进行感染、劫持等破坏安全性的攻击技术等。而防御上则是&#xff1a;查杀…

LeetCode 2182. 构造限制重复的字符串(贪心、map)

文章目录1. 题目2. 解题1. 题目 给你一个字符串 s 和一个整数 repeatLimit &#xff0c;用 s 中的字符构造一个新字符串 repeatLimitedString &#xff0c;使任何字母 连续 出现的次数都不超过 repeatLimit 次。你不必使用 s 中的全部字符。 返回 字典序最大的 repeatLimited…

Web框架——Flask系列之WTF表单验证练习(七)

一、Web表单 web表单是web应用程序的基本功能。 它是HTML页面中负责数据采集的部件。表单有三个部分组成&#xff1a;表单标签、表单域、表单按钮。表单允许用户输入数据&#xff0c;负责HTML页面数据采集&#xff0c;通过表单将用户输入的数据提交给服务器。 在Flask中&…

LeetCode 2185. 统计包含给定前缀的字符串

文章目录1. 题目2. 解题1. 题目 给你一个字符串数组 words 和一个字符串 pref 。 返回 words 中以 pref 作为 前缀 的字符串的数目。 字符串 s 的 前缀 就是 s 的任一前导连续字符串。 示例 1&#xff1a; 输入&#xff1a;words ["pay","attention",…

Web框架——Flask系列之Flask-SQLAlchemy安装与使用 定义数据模型(八)

Flask-SQLAlchemy安装及设置 SQLALchemy 实际上是对数据库的抽象&#xff0c;让开发者不用直接和 SQL 语句打交道&#xff0c;而是通过 Python 对象来操作数据库&#xff0c;在舍弃一些性能开销的同时&#xff0c;换来的是开发效率的较大提升SQLAlchemy是一个关系型数据库框架…

多线程篇-NSThread-简单使用

创建的三种方式 第一种 介绍/*alloc init 创建第一个参数&#xff1a;目标对象第二个参数&#xff1a;选择器&#xff0c;线程启动要调用哪个方法第三个参数&#xff1a;前面方法要接收的参数&#xff08;最多只能接收一个参数&#xff0c;没有则传nil&#xff09;*/ NSThread …

LeetCode 2186. 使两字符串互为字母异位词的最少步骤数

文章目录1. 题目2. 解题1. 题目 给你两个字符串 s 和 t 。在一步操作中&#xff0c;你可以给 s 或者 t 追加 任一字符 。 返回使 s 和 t 互为 字母异位词 所需的最少步骤数。 字母异位词 指字母相同但是顺序不同&#xff08;或者相同&#xff09;的字符串。 示例 1&#xf…

Web框架——Flask系列之Flask-SQLAlchemy数据库的基本操作(九)

数据库基本操作 在Flask-SQLAlchemy中&#xff0c;插入、修改、删除操作&#xff0c;均由数据库会话管理。 会话用 db.session 表示。在准备把数据写入数据库前&#xff0c;要先将数据添加到会话中然后调用db.session.commit()方法提交会话。 db.session.add&#xff08;role&…

bash/shell编程学习(2)

先来复习上节重定向的用法&#xff1a; 1.快速清空文件 cat demo.txt < /dev/null注&#xff1a;linux中有一个经典名言【一切皆文件】&#xff0c;/dev/null可以认为是一个特殊的空文件&#xff0c;更形象点&#xff0c;可以理解为科幻片中的黑洞&#xff0c;任何信息重向定…

LeetCode 2187. 完成旅途的最少时间(二分查找)

文章目录1. 题目2. 解题1. 题目 给你一个数组 time &#xff0c;其中 time[i] 表示第 i 辆公交车完成 一趟旅途 所需要花费的时间。 每辆公交车可以 连续 完成多趟旅途&#xff0c;也就是说&#xff0c;一辆公交车当前旅途完成后&#xff0c;可以 立马开始 下一趟旅途。 每辆…

Web框架——Flask系列之综合案例——图书管理系统(十)

一、知识点: 表单创建数据库操作一对多关系演练 二、实现步骤: 创建数据库配置信息,定义模型类创建数据库表,添加测试数据编写html页面,展示数据添加数据删除书籍,删除作者 三、创建数据库连接信息,定义模型 from flask import Flask, render_template, redirect, url_for,…

LeetCode 2190. 数组中紧跟 key 之后出现最频繁的数字

文章目录1. 题目2. 解题1. 题目 给你一个下标从 0 开始的整数数组 nums &#xff0c;同时给你一个整数 key &#xff0c;它在 nums 出现过。 统计 在 nums 数组中紧跟着 key 后面出现的不同整数 target 的出现次数。换言之&#xff0c;target 的出现次数为满足以下条件的 i 的…

Web框架——Flask系列之request请求参数详解(十一)

一、request参数 request 就是flask中代表当前请求的 request 对象&#xff0c;其中一个请求上下文变量(理解成全局变量&#xff0c;在视图函数中直接使用可以取到当前本次请求) from flask import request 就是Flask中表示当前请求的request对象&#xff0c;request对象中保存…

LeetCode 2191. 将杂乱无章的数字排序(自定义排序)

文章目录1. 题目2. 解题1. 题目 给你一个下标从 0 开始的整数数组 mapping &#xff0c;它表示一个十进制数的映射规则&#xff0c;mapping[i] j 表示这个规则下将数位 i 映射为数位 j 。 一个整数 映射后的值 为将原数字每一个数位 i &#xff08;0 < i < 9&#xff…

LeetCode 2192. 有向无环图中一个节点的所有祖先(拓扑排序)

文章目录1. 题目2. 解题1. 题目 给你一个正整数 n &#xff0c;它表示一个 有向无环图 中节点的数目&#xff0c;节点编号为 0 到 n - 1 &#xff08;包括两者&#xff09;。 给你一个二维整数数组 edges &#xff0c;其中 edges[i] [fromi, toi] 表示图中一条从 fromi 到 t…

Web框架——Flask系列之Flask创建app对象 路由(十二)

一、初始化参数 import_name: 当前模块名 static_url_path:静态资源的url前缀&#xff0c;默认为‘static’ static_folder: 静态文件目录名&#xff0c;默认‘static’ template_folder: 模板文件目录名&#xff0c;默认‘templates’ 二、配置参数 app.config.from_pyfil…

bootstrap在iframe框架中实现由子页面在顶级页面打开模态框(modal)

我需要完成的效果&#xff1a; 1.在顶级页面打开模态框&#xff0c;并且遮罩层也要再顶级页面 2.单击遮罩层部分&#xff0c;模态框不关闭 问题描述&#xff1a; 不知为什么&#xff0c;可能是bootstrap前端框架添加遮罩层的一些问题。通过子页面在顶级页面打开模态框&#xff…