ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SPECweb 分析

2021-01-22 20:00:37  阅读:450  来源: 互联网

标签:分析 Web 负载 HTTP 请求 SPECweb 服务器 客户端


SPECweb 分析

一、背景

1.1 研究目的

<引>

  • 随着 Internet 的迅猛发展,网络对人们的生活影响越来越大,银行业务、电子商务、个人博客等都离不开网络,而 Web 作为 Internet 最主要的信息传送媒介,Web 的性能已经成为判断一个网站成功与否的一个重要评估标准。
  • 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 GET 请求
  3. 服务器发送被请求的 HTML 文档或其他形式的处理结果给客户端,客户端每次接收到响应报文后给服务器端发送一个确认报文
  4. 服务器发送完被请求的 Web 对象后关闭 TCP 连接结束本次通信
  • 一次请求操作(GET/POST)和相应的 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 服务器交互时的各种行为特征:思考时间、超时放弃浏览、浏览器类型、SSL应用、在线操作(登录、搜索、流媒体、表单操作、文件下载)
  • 思考时间
    思考时间是指用户浏览网页的反映时间,思考时间的长短将直接影响用户在线时间和 TCP 连接时间的长短
  • 超时放弃浏览
    超时放弃浏览描述了网页打开太慢时用户点击关闭浏览器窗口离开的行为习惯,导致 TCP 连接关闭,本次请求中断而不再接收来自 Web 服务器的数据
  • 动态页面
    如果请求静态页面,Web 服务器只需要将已经存在的文件传给客户,处理简单,占用资源少。
    如果请求动态页面,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倍

1.3.2.2 网络状况

  • 丢包率
    如果 Web 服务器的响应消息丢失,客户端可能需要花几秒钟才能监测到请求响应丢失,然后再次重发该请求,丢包过多会导致 Web 服务器不再给没有响应的客户端发送数据,随着丢包率的上升,客户端需要建立更多的 TCP 连接下载一个网页,维持额外的 TCP 连接增加了服务器内存、CPU 处理开销
  • 传输速率
    服务器只有收到完整的请求信息才会发出响应,在低速链路上客户请求数据包需要更长的时间才能全部到达,服务器也要用更长的时间等待请求接收、发出响应,此时 TCP 连接占用的资源不释放,服务器就不能处理其他连接请求,随着传输速率的增加,Web 服务器同时打开的 TCP 连接数会显著降低,响应时间也会显著下降
  • 传输时延
    请求和响应进出 Web 服务器越慢,对服务器施加的负载压力就越大

1.4 静态工作负载

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

1.5 动态工作负载

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

二、SPECweb 2009 简介

2.1 是什么

SPECweb 官网链接

  • SPECweb 2009 可以对 Web 服务器的并发数进行性能测试,即评测 Web 服务器能够支持的最大同时连接数的客户端/服务器(每秒能够响应的最大请求数),使用一个或多个客户端系统来为服务器产生 HTTP 负载,各个客户端向服务器发送 HTTP 请求并且在之后确认响应被接收,最后由主客户端来收集所有客户端的数据并计算出结果
  • SPECweb 2009 提供3种基于 session 工作负载:银行、电子商务、支持下载的一般应用软件。这3个工作负载都是基于对 Web 网页的请求而不是对单个文件的请求,每个页面请求包括在服务器端运行的动态 Script、返回的动态文件,并经常伴随着与文件有关的内置图片和其他的静态文件
  • SPECweb 2009 主要包括4个部分:客户端(Client)、主客户端(prime client)、Web服务器、后端模拟器(Besim:back-end simulator)

2.2 基准设计

  • 由于安全要求的高度可变性以及各种 Web 服务器工作负载中动态内容的差异(安全需求、对 Web 服务器动态请求的不同),因此无法表征具有单个工作负载的任何服务器的 Web 性能,所以 SPECweb 2009 使用三种不同的工作负载来表征 Web 服务器的性能,所有这三种工作负载均基于对网页的请求,而不是针对单个文件的请求,每个页面请求都涉及在服务器端运行动态脚本,并返回动态创建的文件,随后一般是对嵌入式图像和与该文件关联的其他静态文件的请求,因此,当接收到与该页面关联的所有文件时,该页面将被完全接收,基准还包括每个页面的 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. 工作负载一

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

4.1 数据摘要

4.2 客户到达和活动模拟

4.2.1 在 On-period ON 期间内的文件请求

4.2.2 生成 Off Period 关闭周期和 Think Time 思考时间

4.3 动态脚本的访问模式

4.3.1 XYZ 银行在线银行网站经历

4.4 一般基准描述

4.5 最终用户速度

4.6 指标

4.7 静态文件的存储

4.8 模拟304响应

标签:分析,Web,负载,HTTP,请求,SPECweb,服务器,客户端
来源: https://blog.csdn.net/LvJzzZ/article/details/112976671

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有