Web服务器性能测试介绍
一、引言
随着Internet的快速发展,Web服务器已成为Web系统的重要组成部分,同时也是影响Web系统性能的主要因素,因此Web服务器性能的好坏一直是人们关注的问题。同时,Web及其应用程序的普及对Web服务器提出了越来越高的性能要求。随着Web服务器的重要性日益显著,为了及时掌握Web服务器的性能,需要对其进行公证的测试。
Web服务器性能测试是指在一定的软硬件环境下,按照统一的度量标准,测试Web 服务器对各种请求的响应速度、最大顺畅连接数等性能指标,给出公正、可靠的性能评价。Web服务器性能测试不仅能够确定影响Web服务器性能的关键因素,进而可以采取有针对性的方法和策略对Web服务器进行优化,而且在Web系统构建过程中可以为选取Web服务器提供重要参考。
二、Web服务器的性能指标
评估Web服务器性能是一个复杂的过程,需要考虑的因素有服务器的硬件配置、操作系统、HTTP软件、网络速度和工作负载等。采用测试的方法来衡量Web服务器的性能,首先要确定的就是测试指标。常用的Web服务器的性能指标主要包括以下几类:
(1)时间指标
*
服务器响应时间(Server Response Time)
客户端发送一个HTTP请求至收到HTTP响应头信息消耗的时间。
*
页面响应时间(Page Response Time)
客户端从Web服务器请求一个完整的页面(包括内嵌对象)所消耗的时间。
*
往返时间(Round Trip Time)
建立TCP连接时,从客户端发送SYN请求到服务器返回SYN/ACK的时间。
*
TCP连接建立时间
客户端发出访问请求后,与Web服务器成功建立TCP连接所需的时间。
(2)系统容量指标
*
并发用户数(Concurrent Users)
Web服务器能够同时正确及时地服务的用户数。
*
每秒用户数(User Per Second)
单位时间(1s)内成功连接到Web服务系统的新用户的个数。
*
并发连接数(Simultaneous Connections)
Web服务器能够与客户端建立并保持同时打开的TCP连接数,最大并发连接数反映了Web服务器所对其客户多个连接的处理能力。
*
连接速率(Connect ion Rate)
客户端与Web服务器在单位时间(1s)新建立的TCP新建连接的个数。
*
事务处理次数(Cumulative Transactions)
Web服务器处理HTTP Transaction的累计总数定义为事务处理次数。
*
事务处理速率(Transactions Per second)
在单位时间(1s)内成功响应HTTP Transaction的个数。
(3)资源利用率指标
资源利用率是指Web服务器不同资源(如服务器的CPU,内存、磁盘、网络带宽等)的使用程度,它常常用占资源的最大可用量的百分比来衡量。Web服务器资源利用率指标包括CPU占用率、内存占用率、磁盘占用率、可用网络带宽。
三、Web服务器性能测试方法
鉴于Web服务器的访问特点,Web服务器性能测试方法通过模拟客户端对Web系统的压力量来测试Web服务器性能是否能够满足Web系统的需要。它主要包括并发性能测试、疲劳强度测试等,其中并发性能测试是重点。
(1) 并发性能测试
并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的状态,通过综合分析请求响应数据和资源监控指标,来确定系统并发性能的过程。
负载测试(Load Testing)是确定在各种工作负载下系统的性能,通过在被测系统上不断增加压力,直到性能指标超过预定指标或某种资源使用已经达到饱和状态。主要目的:寻找Web服务器的处理能力极限,包括支持的最大用户、业务等处理能力的约束;了解Web系统性能容量;配合Web系统进行调优。测试角度可以是并发用户数、业务量、数据量等不同方面的负载。负载测试的特点有:
压力测试(Stress Testing)是通过确定一个系统的瓶颈或者不能再接收的极限点,来获得系统所能提供的最大服务级别的测试。压力测试方法测试Web服务器在资源处于饱和或超负荷的情况下(例如CPU、内存等在饱和状态下),系统能够处理的HTTP请求或用户会话的能力以及系统是否会出现错误。其主要意义是通过测试、调优保证系统即使在用户的极端压力下也不会出错甚至或者导致系统崩溃。因此可以认为是一种在极端压力下的稳定性测试。
(2) 疲劳强度测试
疲劳强度测试也称持久度测试(durability),可以被当作是一个长期的负载或压力测试,它是选择Web服务器稳定运行情况下能够支持的最大并发用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。疲劳强度测试可以采用工具自动化生成的方式进行测试,也可以手工编写程序测试,其中后者占的比例较大。
一般情况下以Web服务器能够正常稳定响应请求的最大并发用户数进行一定时间的疲劳测试,获取交易执行指标数据和系统资源监控数据。如出现错误导致测试不能成功执行,则及时调整测试指标,例如降低用户数、缩短测试周期等。还有一种情况的疲劳测试是对当前系统性能的评估,用系统正常业务情况下并发用户数为基础,进行一定时间的疲劳测试。
四、Web服务器性能测试工具
针对Web服务器的应用场景和测试目标不同,可以将Web服务器性能测试工具分为如下三类:
(1)基准测试工具
服务器基准测试测量系统的整体性能,并把各部件间的相互作用考虑在内。服务器基准测试工具是为了评测服务器计算环境而特别设计的。面向Web服务器的基准测试工具主要包括两个系列:一个由是由标准性能评估组织(SPEC)开发的Web 服务器基准测试,包括SPECweb96、SPECweb99、SPECweb2005;二是由事务处理性能委员会(TPC,Transaction Processing Corp)制定的TPC-C型服务器基准测试。
(2)部件性能测试工具
Web服务器的性能可以按照Web服务器的部件或子系统分别考虑,包括CPU性能、内存性能、存储性能、网络性能等。部件性能测试工具主要是测试Web服务器的一个或多个部件的性能。测试Web服务器部件或子系统性能的测试工具有:Iometer、 Sisoft Sandra、Iozone、Netperf。
(3)基于应用的测试工具
为了公正有效地评价Web服务器在Web系统中性能,基于应用的测试工具需要满足两个条件:能够模拟大量用户的行为;能够比较容易地获取各种性能评价指标。目前,业界流行的性能测试工具包括:LoadRunner、Webload、QALoad,可以对Web服务器进行负载压力测试。
Web服务器性能测试介绍相关推荐
- was web 服务器性能测试,was web 服务器性能测试
was web 服务器性能测试 内容精选 换一换 cd /home/ior-master/src/home/OpenMPI/bin/mpirun --allow-run-as-root -machin ...
- linux web 服务器性能,Linux系统Web服务器性能测试(2)
2.系统内存的影响 在linux系统下,有一点需要注意:对于某些BIOS来说,如果超过64MB内存就需要在LILO.CONF中加入扩展内存的命令,否则服务器内存显示只有64MB.我们对64MB内存和1 ...
- linux对web后端重要吗,基于Linux的Web服务器性能测试
摘要:Linux作为一种免费的开源操作系统,正越来越受到人们的重视.随着稳定的Linux2.4内核发布日期的临近和IntelIA-64构架的推出,Linux在服务器操作系统市场所占的份额会继续扩大,那 ...
- java web服务器tomcat介绍【转载】
机器矩阵2016-08-10 22:14 java程序员亲切地称他为tom猫,看到这只猫可以说明1 服务器部署成功了 ,2 网络是联通的. 到底这只猫是什么来头呢? tomcat是Apache基金会下 ...
- 轻量级WEB服务器Nginx介绍
轻量级WEB服务器Nginx介绍 本文目录 第1 章 Nginx 简介 ................................................................ ...
- Web服务器性能测试工具介绍
web性能测试工具 相关工具:webbench .Apache bench 压力测试相关指标 吞吐量(Requests per second, RPS),某个并发用户数下,单位时间内处理的请求数. 注 ...
- windows web服务器性能测试工具,Web 性能测试编辑器概述
Web 性能测试编辑器概述 02/21/2013 本文内容 在记录了 Web 性能测试之后,可以用 Web 性能测试编辑器来编辑所记录的 Web 性能测试.通常,可以使用 Web 性能测试记录器来记录 ...
- 【基础】主流web服务器的介绍
1.Apache Apache是一个占据主导地位的web服务器,之所以能够主导,原因有三: 开放式授权许可(Open License) 先入为主,快速抢占市场(1995年就已经发布) 部署PHP十分轻 ...
- web服务器性能测试---服务器性能测试实例
WEB性能测试--服务器 目录 一.准备测试环境............................................................................ ...
最新文章
- CNN原理与实践指南
- 作为mwp 和real 不错的资料
- 等于x分之a的平方的导数_数学漫谈导数
- mac os10.11上使用proxychains
- 利用OpenCV的findContours作轮廓检测
- JavaScript的基础学习篇
- Java HashMap 核心源码解读
- 朋友圈 H5 进化简史
- 说下readyState属性是干嘛的,都有哪几个状态
- Pytorch 神经网络nn模块
- android 自动打包工具,AutopackingAndroid
- Server object instance creation failed on all SOC machines
- python开发基础作业02:三级菜单,使用字典dic及列表
- 信息图表是如何炼成的(三):阶层结构与isometric
- 飞控算法-姿态解算之互补滤波
- mysql间隙锁_mysql的间隙锁
- 软件使用:如何彻底把VMware卸载干净
- 动图怎么分解成静图?教你一键在线分解gif动图?
- P1359 租用游艇 dfs/dp/floyd/dijk/spfa DAG(有向无环图)
- 交房后,如何办理产权证、土地证?
热门文章
- word中出现“由于文件许可权错误,word无法完成保存操作”的解决办法
- java poi word换行符_poi读取word的换行符问题
- 我在公司彻夜撸码,老板天天开X6夜店蹦迪,到头来工资还拖欠
- 高速信号线PCB走线中的阻抗匹配
- OsgEarth —— 笔记9 - 飞机加入跟踪半透明圆圈标识(附源码)
- 2023年北京邮电大学软件工程807考研信息汇总
- 阿里巴巴国际站 网站和PC客户端都登录不了,其他电脑或手机可以
- 反走崛起之路1:创新之西部——西雅图
- 整数分解 费马方法c语言,因数分解(费马的方法)
- 成绩管理系统(C语言)完整代码,纯C的练手程序