webbench概述

一、简介

Webbench是知名的网站压力测试工具,能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。
webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数和每秒钟传输数据量。
Webbench最多可以模拟3万个并发连接去测试网站的负载能力

二、安装webbench-1.5.tar.gz

1、将webbench-1.5.tar.gz文件上传至服务器的/opt/目录下;

2、对webbench-1.5.tar.gz文件进行解压操作:

[[email protected] opt]# tar -xvf webbench-1.5.tar.gz
webbench-1.5/
webbench-1.5/webbench.1
webbench-1.5/socket.c
webbench-1.5/webbench.c
webbench-1.5/Makefile
webbench-1.5/debian/
webbench-1.5/debian/rules
webbench-1.5/debian/dirs
webbench-1.5/debian/copyright
webbench-1.5/debian/control
webbench-1.5/debian/changelog
webbench-1.5/COPYRIGHT
webbench-1.5/ChangeLog

3、进入webbench-1.5目录进行编译操作:

[[email protected] opt]# cd webbench-1.5

[[email protected] webbench-1.5]# make &&make install
-bash: make: command not found

安装make编译器:

[[email protected] webbench-1.5]# yum  -y install make

再次进行编译操作:

[[email protected] webbench-1.5]# make && make install
cc -Wall -ggdb -W -O -c -o webbench.o webbench.c
make: cc:命令未找到

提示cc命令未找到,安装gcc编译器:

[[email protected] ~]# yum -y install gcc automake autoconf libtool make

再次进行make编译:

[[email protected] webbench-1.5]# make && make install
cc -Wall -ggdb -W -O -c -o webbench.o webbench.c
webbench.c: 在函数‘alarm_handler’中:
webbench.c:77: 警告:未使用的参数‘signal’
cc -Wall -ggdb -W -O -o webbench webbench.o
ctags *.c
/bin/sh: ctags: command not found
make: [tags] 错误 127 (忽略)
install -s webbench /usr/local/bin
install -m 644 webbench.1 /usr/local/man/man1
install: 无法创建普通文件"/usr/local/man/man1": 没有那个文件或目录

编译成功:

[[email protected] webbench-1.5]# ll webbench
-rwxr-xr-x. 1 root root 24442 5月 10 18:55 webbench

webbench的使用说明:

[[email protected] webbench-1.5]# ./webbench
webbench [option]... URL
-f|--force Don‘t wait for reply from server.
-r|--reload Send reload request - Pragma: no-cache.
-t|--time <sec> Run benchmark for <sec> seconds. Default 30.
-p|--proxy <server:port> Use proxy server for request.
-c|--clients <n> Run <n> HTTP clients at once. Default one.
-9|--http09 Use HTTP/0.9 style requests.
-1|--http10 Use HTTP/1.0 protocol.
-2|--http11 Use HTTP/1.1 protocol.
--get Use GET request method.
--head Use HEAD request method.
--options Use OPTIONS request method.
--trace Use TRACE request method.
-?|-h|--help This information.
-V|--version Display program version.

三、使用

[[email protected] webbench-1.5]# ./webbench -t 30 -c 10 http://sports.163.com/
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://sports.163.com/
10 clients, running 30 sec.

Speed=54 pages/min, 423497 bytes/sec.
Requests: 27 susceed, 0 failed.

由执行结果可以算出tps的值:tps=Requests27/30sec
但是不知道任务是对还是错,在日志中查看

[[email protected] webbench-1.5]# ./webbench -t 1 -c 1 http://192.168.20.128/bugfree/index.php/site/login/
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://192.168.20.128/bugfree/index.php/site/login/
1 client, running 1 sec.

Speed=1979 pages/min, 143286 bytes/sec.
Requests: 33 susceed, 0 failed.

[[email protected] logs]# cat access_log |grep "/bugfree/index.php/site/login/ HTTP/1.0" | wc -l
34

为什么100个并发的时候比10个并发所发的请求数要少,因服务器的处理能力有限,服务器处理不过来,cpu切片。

四、测试结果分析

1、测试环境(软件、硬件、数据库数据、脚本、测试场景等)
判断2xx状态,不接收服务器的返回值

2、同时lr测试,环境都一样,数据不一样(2.1,2.3秒)
每一次的执行结果会不一样(why?差异在可接受范围内)
出现差异怎么办:多次测试取平均值

3、lr测试:2.9s  开发:日志打印1.8s
1)排除开发打的计时是否正确(请求数lr使用录制html方式录制,一个html请求可能对应多个url请求等)
2)client → webservice(代码、web容器) → db

①客户端发送请求时间
②请求传输时间
③服务器空闲线程取请求
④服务器代码执行时间
⑤请求传输到数据库时间
⑥数据库线程池拿到请求的时间
⑦数据库语法检查、语义分析、open表、生成执行计划、按照执行计划到内存或者磁盘中拿数据到内存中再返回、DML处理时间
⑧数据库处理结果返回到服务器时间
⑨服务器线程唤醒的时间
⑩服务器执行代码的时间
①①服务器执行结果返回客户端的时间
①②客户端接收数据的时间

开发的响应时间:比方说,在代码的调用sql前开始计时,执行完相关方法后停止计时,并且打印时间,从第④步开始计时到代码块执行完毕的时间,第⑩步的执行时间

响应时间相差大,慢在哪里?
分析:
步骤① ② ③ ①① ①②会慢,client端口是否有问题、网络是否有问题、线程池是否有性能问题(拿不到线程)

时间: 2024-10-07 23:02:25

webbench概述的相关文章

Ubuntu环境下Webbench的应用

Ubuntu环境下Webbench的应用 1.概述 Webbench是知名的网站压力测试工具.Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况.webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数和每秒钟传输数据量.webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进 行测试的能力.还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试. Webbench最多可以模

【性能测试工具】- WebBench

优点:模拟的并发量更大:缺点:统计的结果有限 概述: webbench是由Lionbridge公司(http://www.lionbridge.com)开发,它是Linux下的一个网站压力测试工具,它最多可以模拟3万个并发连接去测试网站的负载能力.使用fork()函数产生一定数量的并发数,支持的请求协议包括HTTP/0.9----HTTP/1.1(<HTTP 0.9 / 1.0 / 1.1> http://www.cnblogs.com/musicmovie/p/3892648.html).返

Web服务器项目详解 - 00 项目概述

目录 00 项目概述 01 线程同步机制包装类 02 半同步/半反应堆线程池(上) 03 半同步/半反应堆线程池(下) 04 http连接处理(上) 05 http连接处理(中) 06 http连接处理(下) 07 定时器处理非活动连接(上) 08 定时器处理非活动连接(下) 09 日志系统(上) 10 日志系统(下) 11 数据连接池 12 注册和登录校验 13 服务器测试 14 项目遇到的问题及解决方案 15 项目涉及的常见面试题 功能 Linux下C++轻量级Web服务器基于C/C++语言

第一课 MongoDB 概述与安装

1.课程大纲 本次课主要介绍 MongoDB 背景知识和 MongoDB 的安装与配置,让大家对 MongoDB 有一个初认识. 其基本的知识点包含: NoSQL数据库概述 MongoDB 数据库简单介绍 Linux 下安装 MongoDB 数据库 Mac 和 Windows 下安装 MongoDB 数据库 2.课程简单介绍 MongoDB是由MongoDB.inc研发的一款NoSQL类型的文档型数据库,MonogoDB名字来源于英文单词humongous,这个单词的意思是巨大无比.暗喻Mong

java面向对象:面向对象的思想和概述

1:面向对象思想 面向对象是基于面向过程的编程思想. 面向过程:强调的是每一个功能的步骤 面向对象:强调的是对象,然后由对象去调用功能 2:面向对象的思想特点 A:是一种更符合我们思想习惯的思想 B:可以将复杂的事情简单化 C:将我们从执行者变成了指挥者 开发,设计,特征 面向对象开发 就是不断的创建对象,使用对象,指挥对象做事情. 面向对象设计 其实就是在管理和维护对象之间的关系. 面向对象特征 封装(encapsulation) 继承(inheritance) 多态(polymorphism

java基础总结——概述

  一.java语言概述 来自维基百科 https://zh.wikipedia.org/wiki/Java Java是一种计算机编程语言,拥有跨平台.面向对象.泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发. 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机.电话.闹钟.烤面包机等家用电器的控制和通信.由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划.随着1990

译-BMC Remedy Action Request System权限控制概述

原文链接:Access control overview 说明: BMC Remedy Action Request System是BMC ITSM产品平台,简称AR 或者Remedy,可实现基于ITIL标准的整个IT管理流程的实施定制.该平台可实现多种权限级别的管理,包括人员.组.角色,以及表.字段.行级别等.本文可以用作其他对权限要求比较精细的系统参考. 为了便于理解,部分名词翻译如下: Server:服务器Form (or table):表单Field (or column):字段Acti

Aircrack-ng: (1) 概述

作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 目录 一.概述 二.工具与命令介绍 Linux命令 (1) ifconfig (2) macchanger (3) iwconfig (4) iwlist Aircrack-ng 工具 (1) airmon-ng (2) airodump-ng (3) aireplay-ng (4) aircrack-ng 其他Aircrack-ng工具 一.概述 Aircrack-ng是一款用于破解无线

NHibernate框架与BLL+DAL+Model+Controller+UI 多层架构十分相似--『Spring.NET+NHibernate+泛型』概述、知识准备及介绍(一)

原文://http://blog.csdn.net/wb09100310/article/details/47271555 1. 概述 搭建了Spring.NET+NHibernate的一个数据查询系统.之前没用过这两个框架,也算是先学现买,在做完设计之 后花了一周搭建成功了.其中,还加上了我的一些改进思想,把DAO和BLL之中相似且常用的增删改查通过泛型T抽象到了DAO和BLL的父类中,其DAO 和BLL子类只需继承父类就拥有了这些方法.和之前的一个数据库表(视图)对应一个实体,一个实体对应一