SPECweb 分析

SPECweb 分析

一、背景

1.1 研究目的

  • 随着 Internet 的迅猛发展,网络对人们的生活影响越来越大,银行业务、电子商务、个人博客等都离不开网络,而 Web 作为 Internet 最主要的信息传送媒介,Web 的性能已经成为判断一个网站成功与否的一个重要评估标准
  • Web 服务器是 Web 系统的重要组成部分,它的性能是决定 Web 性能的重要环节,而对 Web 服务器的频繁访问使得 Web 服务器的工作压力越来越繁重,从而对 Web 服务器的性能也提出越来越高的要求
  • Web 服务器性能就是指一个 Web 服务器响应用户请求的能力,对 Web 服务器进行性能评测,就是在一定的软硬件环境下,按照统一的度量标准,测试 Web 服务器对各种请求的响应速度、最大顺畅连接数等性能指标,以使被测服务器达到软硬件最优配置

1.2 Web 服务器概述

  • 详情请参考:百度链接
  • Web 服务器是指驻留于因特网上某种类型计算机的程序,当 Web 浏览器(客户端)连接到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型),服务器使用 HTTP 协议与客户机浏览器进行信息交流,这就是人们常把它们称为 HTTP 服务器的原因
  • Web 服务器不仅能够存储信息,还能在用户通过 Web 浏览器提供的信息的基础上运行脚本和程序,用于执行这些功能的脚本或程序称为网关脚本/程序,或称为CGI(公共网关接口)脚本

1.3 Web 服务器性能指标

  • Web 服务是基于 HTTP 协议的客户/服务器模式的信息交换过程,一次成功的 Web 访问可以分为以下几个过程:
  1. 客户端和服务器建立 TCP 连接
  2. 客户端向服务器发出 HTTP 请求
  3. 服务器发送被请求的 HTML 文档或其他形式的处理结果给客户端,客户端每次接收到响应报文后给服务器端发送一个确认报文
  4. 服务器发送完被请求的 Web 对象后关闭 TCP 连接结束本次通信
  • 一次 HTTP 请求操作和相应的 Web 服务器的一次响应操作构成一个 HTTP 事务处理

1.3.1 常用 Web 服务器性能指标

  • 并发用户数
    模拟用户通过浏览器访问登录 Web 服务器,系统能够同时正确及时的服务用户数,最大用户并发数是系统容量指标,反映了系统可处理同时在线的最大用户数
  • 每秒用户数
    单位时间(1s)内成功连接到 Web 服务系统的新用户个数
  • 并发连接数
    Web 服务器能够与客户端建立并保持同时打开的 TCP 连接数,最大并发连接数反映了 Web 服务器对其客户多个连接的处理能力
  • 连接速率
    客户端与 Web 服务器在单位时间(1s)新建立的 TCP 连接的个数
  • 事务处理次数
    Web 服务器处理 HTTP 事务的累计总数定义为事务处理次数。一次成功的事务处理须满足以下条件:Web 服务器返回的 HTTP 响应状态码为2xx;请求的数据全部下载完成;完成 fin/ack 报文确认,失败的 HTTP 事务其响应状态码为4xx或5xx
  • 事务处理速率
    在单位时间(1s)内成功响应 HTTP 事务的个数
  • 服务器响应时间
    客户端发送一个 HTTP 请求至收到 HTTP 响应头消息消耗的时间
  • 页面响应时间
    客户端从 Web 服务器请求一个完整的页面(包括内嵌对象)所消耗的时间
  • 往返时间
    建立 TCP 连接时,从客户端发送 SYN 请求到服务器返回 SYN/ACK 的时间
  • 系统带宽
    客户端与 Web 服务器间通过网络传输数字信息的速率,单位 Kbit/s

1.3.2 影响 Web 服务器性能的主要因素

  • 主要与用户访问特征网络状况有关
1.3.2.1 用户访问特征
  • 用户与 Web 服务器交互时的各种行为特征:思考时间、超时放弃浏览、浏览器类型/HTTP 协议版本、SSL、在线操作(登录、搜索、流媒体、表单操作、文件下载)
  • 思考时间
    思考时间是指用户浏览网页的反映时间,思考时间的长短将直接影响用户在线时间和 TCP 连接时间的长短
  • 超时放弃浏览
    超时放弃浏览描述了网页打开太慢时用户点击关闭浏览器窗口离开的行为习惯,导致 TCP 连接关闭,本次请求中断而不再接收来自 Web 服务器的数据
  • 浏览器类型/HTTP 协议版本
    浏览器的类型和使用的 HTTP 协议版本会对 Web 服务器的性能产生一定的影响。HTTP 1.0 缺省情况下为获取每一 URL 都建立独立的 TCP 连接,会加重 HTTP 服务器的负担,增加网络的额外数据流量和服务器处理负担;HTTP 1.1 建立 TCP 持续连接来传输多个 HTTP 请求和应答,通过建立与关闭较少的 TCP 连接,节省了网络、客户机、Web 服务器等的 CPU 时间和内存
  • 安全套接层 SSL 协议使用
    浏览器使用 SSL 增加网上数据信息传输的安全保密性和完整性,基于此,客户端和服务器端对所传输的数据进行加密/解密处理,额外增加了网上传输的数据量,增加了网络带宽和主机的额外资源开销。相关资料显示,使用 SSL 使 Web 服务器的事务处理速率增加了32倍,事务处理时间增加了335倍,网络传输负载增加了2倍
  • 如果请求静态页面,Web 服务器只需要将已经存在的文件传给客户,处理简单,占用资源;
    如果请求动态页面,Web 服务器则需要另外运行相关的程序或存取数据库将结果数据返回给客户端,这需要消耗额外的系统资源,大大增加了服务器的负担,降低了响应其他客户请求的能力
1.3.2.2 网络状况
  • 丢包率
    如果 Web 服务器的响应消息丢失,客户端可能需要花几秒钟才能监测到请求响应丢失,然后再次重发该请求,丢包过多会导致 Web 服务器不再给没有响应的客户端发送数据,随着丢包率的上升,客户端需要建立更多的 TCP 连接下载一个网页,维持额外的 TCP 连接增加了服务器内存、CPU 处理开销
  • 传输速率
    服务器只有收到完整的请求信息才会发出响应,在低速链路上客户请求数据包需要更长的时间才能全部到达,服务器也要用更长的时间等待请求接收、发出响应,此时 TCP 连接占用的资源不释放,服务器就不能处理其他连接请求,随着传输速率的增加,Web 服务器同时打开的 TCP 连接数会显著降低,响应时间也会显著下降
  • 传输时延
    请求和响应进出 Web 服务器越慢,对服务器施加的负载压力就越大

1.4 静态工作负载

  • 静态工作负载模拟了一个假定的 Web 服务提供者,这个 Web 服务提供者为自己的各个“成员”分配定量的空间,让其存储各自的网页。各个“成员”在服务器上有自己的网页空间,可以存放大量不同的网页,这些网页表现为大小不同的文件,导致其访问频率也各不相同

1.5 动态工作负载

  • 在动态工作负载中,服务器并没有客户需要的文件,客户端向服务器发出请求,服务器运行某个特定的程序来产生这些文件并返回客户端,因此需要消耗 CPU、系统等资源

二、SPECweb 2009 简介

SPECweb 官网链接

  • SPECweb2009 是衡量 Web 服务器性能和能效的标准化基准,包括四个独立的工作负载(网上银行、电子商务、支持下载针对计算机应用程序的软件补丁、Power,但是Power 与电子商务相同),代表三种常见但截然不同的消费者活动类型:银行、购物和下载文件,通过提供 PHP、JSP 和 ASP.NET 脚本来生成动态服务器响应
  • SPECweb 2009 可以对 Web 服务器的并发数进行性能测试,评测 Web 服务器能够支持的最大同时连接数的客户端/服务器(每秒能够响应的最大请求数),使用一个或多个客户端系统来为服务器产生 HTTP 负载,各个客户端向服务器发送 HTTP 请求并且在之后确认响应被接收,最后由主客户端来收集所有客户端的数据并计算出结果,即通过一个或多个客户端向服务器发出 GET 请求,请求调用 Web 服务器上的网页文件,这些文件从数千字节到数兆字节不等。在相同的时间里,服务器回答的请求越多,就表明服务器对客户端的处理能力越强,系统的Web性能就越好
  • 由于安全要求的高度可变性以及各种 Web 服务器工作负载中动态内容的差异(安全需求、对 Web 服务器动态请求的不同),因此无法表征具有单个工作负载的任何服务器的 Web 性能,所以 SPECweb 2009 使用三种不同的基于 session 工作负载:银行、电子商务、支持下载的一般应用软件,来表征 Web 服务器的性能,所有这三种工作负载均基于对网页的请求,而不是针对单个文件的请求,每个页面请求包括在服务器端运行的动态 Script、返回的动态文件,并经常伴随着与文件有关的内置图片和其他的静态文件,因此,当接收到与该页面关联的所有文件时,该页面将被完全接收,另外,基准还包括每个页面的 QoS 要求。对于下载量较大的所有页面,QoS 基于页面返回延迟,对于大页面,QoS基于字节率

三、环境说明

  • SUT:配置为Web服务器的系统(被测系统),包括存储
  • Client(s):一个或多个客户端系统充当 SPECweb 2009 的负载驱动程序
  • Prime Client:测试控制器,必须能够连接到所有客户端,BeSim 和 SUT。 如果需要,主客户端还可以充当负载生成驱动程序
  • BeSim system:配置为 Web 服务器且 BeSim 安装为 FastCGI,NSAPI 或 ISAPI 的客户端类系统
  • Network:客户端必须能够连接到 SUT,并且 SUT 必须能够连接到 BeSim 系统
  • Controller(s):一个或多个运行 PTD 的系统, 这些系统可以是任何客户端或其他系统,但必须可由主客户端访问
  • Power Analyzers accepted by SPECpower:电源/功率分析器
  • Temperature Sensors accepted by SPECpower:温度传感器
  • 为了进行调试,您可以在1个或2个系统上运行所有程序,但是这些说明假设您至少有3个系统

四、工作负载

4.1 工作负载一

  • 基于网上银行, 此工作负载中的所有请求均基于 SSL

4.1.1 数据摘要

此分析基于对德克萨斯州一家主要银行的 Web 服务器日志的研究得出

  1. SPECweb 99中的请求类型及其分数以及银行业务日志中的请求类型及其分数
  2. HTTP响应代码
    SPECweb 99不代表“ 200”以外的任何服务器响应,但是客户端缓存以及“ 304”响应(服务端已经执行了GET,但文件未变化)的返回可能带来服务器上不同的资源使用情况
  3. 银行数据以及 SPECweb 99的各种访问协议(HTTP1.0 和 HTTP1. 1)版本
    HTTP1.1 的相对使用率正在增长,实际上取决于客户使用的客户端计算机&#x
  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jayco-J

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值