- 浏览: 122898 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (131)
- J2EE (5)
- 系统配置 (2)
- eclipse (3)
- MySQL (3)
- 数据库 (1)
- log4j (2)
- hibernate (5)
- JBOSS (3)
- https (2)
- Struts2 (7)
- javascript (2)
- CSS (4)
- HTTP (2)
- J2SE (1)
- apache (6)
- XML (1)
- android (3)
- session (3)
- Spring (3)
- 前端优化 (2)
- Drools (2)
- java笔试题 (8)
- SVN (2)
- linux (19)
- linux命令 (3)
- memcache (1)
- Servlet (2)
- Java RMI (1)
- 领域模型 (1)
- LVS (4)
- Linux shell (2)
- WEB (1)
- F5 (2)
- WinRAR (1)
- TCP (1)
- MQ (2)
- weblogic (1)
- winxp安装FTP (1)
- WebLogic和Tomcat (1)
- 虚拟机 (1)
- nexus-maven (1)
- jstl (1)
- jvm (1)
- Redis (2)
- mongodb (3)
- JAVA (2)
- mybatis (1)
- SQLserver (1)
- GC (1)
- zabbix (1)
- node (1)
最新评论
-
huosange:
简单明了,通俗易懂
JAVA为什么只允许单继承
1. 最基本的关心两个选项 -c -n
例: ./ab -c 100 -n 10000 http://127.0.0.1/index.php
-c 100 即:每次并发100个
-n 10000 即: 共发送10000个请求
2. 测试结果分析
[junjie2@login htdocs]$ /data1/apache/bin/ab -c 1000 -n 50000 "http://10.10.10.10/a.php "
This is ApacheBench, Version 1.3d <$Revision: 1.73 $> apache-1.3
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/
Benchmarking 10.65.129.21 (be patient)
Completed 5000 requests
Completed 10000 requests
Completed 15000 requests
Completed 20000 requests
Completed 25000 requests
Completed 30000 requests
Completed 35000 requests
Completed 40000 requests
Completed 45000 requests
Finished 50000 requests
Server Software: Apache/1.3.33
Server Hostname: 10.65.129.21
Server Port: 80
Document Path: /a.php //请求的资源
Document Length: 0 bytes // 文档返回的长度,不包括相应头
Concurrency Level: 1000 // 并发个数
Time taken for tests: 48.650 seconds //总请求时间
Complete requests: 50000 // 总请求数
Failed requests: 0 //失败的请求数
Broken pipe errors: 0
Total transferred: 9750000 bytes
HTML transferred: 0 bytes
Requests per second: 1027.75 [#/sec] (mean) // 平均每秒的请求数
Time per request: 973.00 [ms] (mean) // 平均每个请求消耗的时间
Time per request: 0.97 [ms] (mean, across all concurrent requests) // 就是上面的时间 除以并发数
Transfer rate: 200.41 [Kbytes/sec] received // 时间传输速率
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 183 2063.3 0 45003
Processing: 28 167 770.6 85 25579
Waiting: 21 167 770.6 85 25578
Total: 28 350 2488.8 85 48639
Percentage of the requests served within a certain time (ms)
50% 85 // 就是有50%的请求都是在85ms内完成的
66% 89
75% 92
80% 96
90% 168
95% 640
98% 984
99% 3203
100% 48639 (last request)
3. 用127.0.0.1来访问可以排除网络的因素,不过在Linux上用本机的对外ip访问也是不走网卡,没有网络消耗的
ab 帮助:
1. 我们知道用ab测试时,最大并发不能超过1024,其实ab本身没有做这个限制,而是系统限制每个进程打开的最大的文件数为1024,ulimit查看如 下:
[root@localhost ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
pending signals (-i) 1024
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 32765
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
而且open files这个选项在一般的系统里是不允许修改成无限制的,如下:
[root@localhost ~]# ulimit -n unlimited
bash: ulimit: open files: cannot modify limit: Operation not permitted
但是稍微修改大一些或者是小一些,还是允许的,我们修改的小一 些试试:
[root@localhost ~]# ulimit -n 1020
[root@localhost ~]# ulimit -n
1020
[root@localhost ~]#
在用ab测试,错误如下:
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 1019
ioctl(1019, FIONBIO, [1]) = 0
gettimeofday({1243919682, 867688}, NULL) = 0
connect(1019, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("10.55.38.18")}, 16) = -1 EINPROGRESS (Operation now in progress)
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = -1 EMFILE (Too many open files )
close(-1) = -1 EBADF (Bad file descriptor)
第1019个还能正常打开,下一个就报Too many open files的 错误了
确实有效,那么我们修改大一些吧:
[root@localhost ~]# ulimit -n 10240
[root@localhost ~]# ulimit -n
10240
[root@localhost ~]#
但是我们发现改大却不行,这里却冒出了一个AF_AX25 的名词:
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 1024
ioctl(1024, FIONBIO, [1]) = 0
gettimeofday({1243919592, 254950}, NULL) = 0
connect(1024, {sa_family=AF_INET , sin_port=htons(80), sin_addr=inet_addr("10.55.38.18")}, 16) = -1 EINPROGRESS (Operation now in progress)
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 1025
ioctl(1025, FIONBIO, [1]) = 0
gettimeofday({1243919592, 255242}, NULL) = 0
connect(1025, {sa_family=AF_AX25 , sa_data="\0P\n7&\22\0\0\0\0\0\0\0\0"}, 16) = -1 EAFNOSUPPORT (Address family not supported by protocol)
这个AF_AX25可能是buffer溢出造成的,但不确定 哦:)。
另:
-n 可以指定最大请求数,但是也不能超过50000哦:)
-v n 当n>=2 时,可以显示发送的http请求头,和响应的http头及内容; 压力测试时不要这么做哦:)
例: ./ab -c 100 -n 10000 http://127.0.0.1/index.php
-c 100 即:每次并发100个
-n 10000 即: 共发送10000个请求
2. 测试结果分析
[junjie2@login htdocs]$ /data1/apache/bin/ab -c 1000 -n 50000 "http://10.10.10.10/a.php "
This is ApacheBench, Version 1.3d <$Revision: 1.73 $> apache-1.3
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/
Benchmarking 10.65.129.21 (be patient)
Completed 5000 requests
Completed 10000 requests
Completed 15000 requests
Completed 20000 requests
Completed 25000 requests
Completed 30000 requests
Completed 35000 requests
Completed 40000 requests
Completed 45000 requests
Finished 50000 requests
Server Software: Apache/1.3.33
Server Hostname: 10.65.129.21
Server Port: 80
Document Path: /a.php //请求的资源
Document Length: 0 bytes // 文档返回的长度,不包括相应头
Concurrency Level: 1000 // 并发个数
Time taken for tests: 48.650 seconds //总请求时间
Complete requests: 50000 // 总请求数
Failed requests: 0 //失败的请求数
Broken pipe errors: 0
Total transferred: 9750000 bytes
HTML transferred: 0 bytes
Requests per second: 1027.75 [#/sec] (mean) // 平均每秒的请求数
Time per request: 973.00 [ms] (mean) // 平均每个请求消耗的时间
Time per request: 0.97 [ms] (mean, across all concurrent requests) // 就是上面的时间 除以并发数
Transfer rate: 200.41 [Kbytes/sec] received // 时间传输速率
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 183 2063.3 0 45003
Processing: 28 167 770.6 85 25579
Waiting: 21 167 770.6 85 25578
Total: 28 350 2488.8 85 48639
Percentage of the requests served within a certain time (ms)
50% 85 // 就是有50%的请求都是在85ms内完成的
66% 89
75% 92
80% 96
90% 168
95% 640
98% 984
99% 3203
100% 48639 (last request)
3. 用127.0.0.1来访问可以排除网络的因素,不过在Linux上用本机的对外ip访问也是不走网卡,没有网络消耗的
ab 帮助:
1. 我们知道用ab测试时,最大并发不能超过1024,其实ab本身没有做这个限制,而是系统限制每个进程打开的最大的文件数为1024,ulimit查看如 下:
[root@localhost ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
pending signals (-i) 1024
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 32765
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
而且open files这个选项在一般的系统里是不允许修改成无限制的,如下:
[root@localhost ~]# ulimit -n unlimited
bash: ulimit: open files: cannot modify limit: Operation not permitted
但是稍微修改大一些或者是小一些,还是允许的,我们修改的小一 些试试:
[root@localhost ~]# ulimit -n 1020
[root@localhost ~]# ulimit -n
1020
[root@localhost ~]#
在用ab测试,错误如下:
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 1019
ioctl(1019, FIONBIO, [1]) = 0
gettimeofday({1243919682, 867688}, NULL) = 0
connect(1019, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("10.55.38.18")}, 16) = -1 EINPROGRESS (Operation now in progress)
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = -1 EMFILE (Too many open files )
close(-1) = -1 EBADF (Bad file descriptor)
第1019个还能正常打开,下一个就报Too many open files的 错误了
确实有效,那么我们修改大一些吧:
[root@localhost ~]# ulimit -n 10240
[root@localhost ~]# ulimit -n
10240
[root@localhost ~]#
但是我们发现改大却不行,这里却冒出了一个AF_AX25 的名词:
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 1024
ioctl(1024, FIONBIO, [1]) = 0
gettimeofday({1243919592, 254950}, NULL) = 0
connect(1024, {sa_family=AF_INET , sin_port=htons(80), sin_addr=inet_addr("10.55.38.18")}, 16) = -1 EINPROGRESS (Operation now in progress)
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 1025
ioctl(1025, FIONBIO, [1]) = 0
gettimeofday({1243919592, 255242}, NULL) = 0
connect(1025, {sa_family=AF_AX25 , sa_data="\0P\n7&\22\0\0\0\0\0\0\0\0"}, 16) = -1 EAFNOSUPPORT (Address family not supported by protocol)
这个AF_AX25可能是buffer溢出造成的,但不确定 哦:)。
另:
-n 可以指定最大请求数,但是也不能超过50000哦:)
-v n 当n>=2 时,可以显示发送的http请求头,和响应的http头及内容; 压力测试时不要这么做哦:)
发表评论
-
linux yum 下载至本地及使用本地缓存安装包
2018-12-29 08:04 30911.搭建yum服务器 2.使用yum下载缓存进行封装,然后使用 ... -
linux grep命令
2014-12-08 10:06 5411.作用 Linux系统中grep命令是一种强大的文本搜索工具 ... -
Linux中Samba详细安装
2014-12-08 09:05 534为了实现Windows主机与Linux服务器之间的资源共享,L ... -
linux挂载光驱以及yum配置与安装
2014-12-01 10:12 11491,使用命令ll /dev/* |gr ... -
linux培训笔记3
2014-10-29 11:55 571selinux: 传统权限:以 ... -
linux培训笔记2
2014-10-28 16:47 854linux的编辑器: 1、gedit & (必须在图形 ... -
linux 培训笔记
2014-10-27 11:33 779何世晓 server raid lsi 内存大于等于1G,带锂 ... -
linux培训笔记
2014-10-27 11:32 577/boot分区单独划分,大小为200M,其他采用LVM逻辑卷划 ... -
Linux: 字体安装
2014-04-14 11:58 702本实验以安装宋体( simsun.ttf ) 为例, 记录下安 ... -
make报错:"/usr/bin/ld: cannot find -lXXX"
2014-04-12 18:16 770在编译php时报错如下: # make 。。。 /usr/bi ... -
/bin/sh^M: bad interpreter:没有那个文件或目录解决
2014-03-09 18:55 911/bin/sh^M: bad interpreter:没有那个 ... -
linux定时任务的设置
2014-01-03 11:47 554为当前用户创建cron服务 ... -
Centos和RHEL的区别
2013-10-19 20:19 769CentOS简介关于CentOS CentOS是Comm ... -
Linux 查看CPU信息、机器型号等硬件信息
2013-10-11 14:20 530测试机器的硬件信息: 查看CPU信息(型号) # cat ... -
Linux 查看CPU,内存,硬盘
2013-06-08 10:59 7321 查看CPU 1.1 查看CPU个数 # cat /pr ... -
常见命令
2013-06-08 10:53 5421,打开开机启动项(win7):在菜单搜索框中输入msconf ... -
Linux init.d
2013-06-08 10:05 611本文包括3部分内容 1、 Linux的引导过程 2 ... -
Linux下which、whereis、locate、find 命令的区别
2013-06-04 17:40 650我们经常在linux要查找 ...
相关推荐
4. Apache Bench (`ab`):进行性能测试,评估服务器处理请求的能力。 七、备份与迁移 1. 备份:使用`tar`命令将Apache配置文件、网站文件和日志文件打包成`.tar.gz`文件,例如: ``` sudo tar -czvf apache_backup...
1. **在Linux上安装**:如果你使用的是基于Debian的系统(如Ubuntu),可以通过`sudo apt-get install apache2-utils`命令安装;如果是基于Red Hat的系统(如CentOS),则使用`sudo yum install httpd-tools`。 2. ...
wget https://download.oracle.com/otn/java/jdk/8u211-b12/478a62b7d4e34b78b671c754eaaf38ab/jdk-8u211-linux-x64.tar.gz?AuthParam=1556526529_ff0d654b4dc02f6bddc87cf330595b53 ``` 或者访问Oracle官网下载...
要使用Apache AB,首先确保Apache服务器正在运行,然后在命令行中输入以下命令: ```bash ab -n <请求次数> -c <并发用户数> http://<服务器地址>/ ``` - `-n` 参数指定要发送的请求数。 - `-c` 参数设置并发连接...
安装完成后,你就可以在终端中运行ab命令了。下面是对ab命令常用参数的详细解释: - `-n requests`:指定要执行的总请求数。这是你希望ab工具向服务器发送的HTTP请求的总数。 - `-c concurrency`:设置并发连接数...
`ab`通常作为Apache HTTP服务器的一部分预装在Linux或Unix系统中。对于未预装的环境,可以通过包管理器(如`apt-get`、`yum`或`brew`)进行安装。在命令行中输入`ab`即可启动工具。 ### 3. 基本用法 `ab`的基本...
根据提供的文档信息,本文将详细介绍如何在Linux系统上安装并配置加速版OpenSSL(OCF)及Apache服务器,这是英特尔官方发布的技术文档,主要应用于基于Intel® QuickAssist Technology的安全应用开发环境中。...
基于 Linux 的 Apache+MySQL+PHP 的安装配置 本文档详细介绍了基于 Linux 平台的 Apache、MySQL 和 PHP 的安装配置过程。Apache 是一个流行的 Web 服务器软件,MySQL 是一个小型关系型数据库管理系统,PHP 是一种...
在 Linux 下安装 JDK 需要从 Oracle 官方网站下载对应的安装包,下载完成后,使用 cd 命令切换到下载的目录,使用 ./jdk-6u27-linux-i586.bin 命令安装 JDK。安装完成后,需要配置环境变量,编辑 /etc/profile 文件...
wrk以其轻量级、高性能和易于扩展性,区别于其他性能测试工具,如Apache JMeter、ab(Apache HTTP Server Benchmarking Tool)等。它更适合对高并发、短连接场景下的Web服务进行压力测试,而JMeter则更适合功能测试...
4. `httpd-tools-2.4.6-90.el7.centos.x86_64.rpm`:这个包包含了一些与httpd相关的命令行工具,如`apachectl`用于控制httpd服务,`ab`用于性能测试等。 5. `mailcap-2.1.41-2.el7.noarch.rpm`:Mailcap文件定义了...
Linux 网络操作系统期末考试卷 AB 卷带答案习题试卷模拟卷 本资源摘要信息涵盖了 Linux 网络操作系统的多个方面,包括 Linux 的历史、网络协议、文件系统管理、服务器配置、网络安全等。下面是其中的一些知识点: ...
在这个例子中,命令`ab -n 100 -c 100 http://www.u8group.com/cgi-bin/echo-cpp.e.fcgi`表示将发起100次并发度为100的请求到指定的FastCGI应用。 总结来说,这个基于Apache的CGI框架是一个功能完善的开发工具,它...
可以使用以下命令安装 Apache 扩展: yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql 7. 安装 MySQL 在 CentOS 7.1 中,需要安装 MySQL 数据库,以便能够存储数据。可以使用以下命令安装 MySQL: ...
1. 安装:在大多数Linux发行版中,ab工具通常作为Apache HTTP Server的一部分预装。如果未安装,可以通过包管理器(如`apt-get`或`yum`)轻松获取。例如,在Ubuntu上,可以运行`sudo apt-get install apache2-utils`...
- 基本命令格式:`ab -n <请求次数> -c <并发数> <URL>` - `-n` 参数定义了要发送的请求数量。 - `-c` 参数定义了同时进行的并发请求数。 - `<URL>` 是要测试的Web服务器地址。 **二、主要选项及参数** 1. **...
- **命令功能**: `ab` 是一个用于测试 Apache HTTP 服务器性能的工具,通过向服务器发送大量请求来评估其响应能力。 - **应用场景**: 在部署 Web 应用之前,可以使用 `ab` 来测试服务器的压力承受能力和性能瓶颈。 -...