Specification and implementation of dynamic Web site benchmarks外文翻译资料

 2021-12-30 10:12

英语原文共 11 页,剩余内容已隐藏,支付完成后下载完整资料


Specification and implementation of dynamic

Web site benchmarks

摘要:具有动态内容的网站缺乏基准是该领域研究的主要障碍。我们描述了评估具有动态内容的网站性能的三个基准。基准测试模拟了具有广泛不同应用特征的三种常见类型的动态内容网站:在线书店,拍卖网站和公告板。对于在线书店,我们使用TPCW规范。对于拍卖网站和公告板,我们提供了我们自己的规范,分别以ebay.com和slahdot.org为模型。对于每个基准测试,我们描述了数据库的设计和Web服务器提供的交互。我们已经使用各种方法实现了这三个基准,用于构建动态内容应用程序,包括PHP,Java servlet和EJB(Enterprise Java Bean)。在所有情况下,我们都使用常用的开源软件。我们还提供了一个客户端模拟器,允许使用各种工作负载驱动动态内容Web服务器。我们的实施可从我们的网站免费获取,供其他研究人员使用。这些基准测试可用于动态Web和应用程序服务器设计的研究。在本文中,我们提供了这种可能用途的一个示例,即发现特定服务器配置中的应用程序的瓶颈。其他可能的用途包括研究动态内容的聚类和缓存,比较不同的应用程序实现方法,以及研究不同工作负载特征对服务器性能的影响。有了这些基准,我们希望为这些领域的研究提供一个共同的参考点。

1.简介

Web内容越来越多地动态生成,与Web的早期阶段不同,几乎所有内容都由静态HTML或图像文件组成。动态Web内容通常由前端Web服务器,应用程序服务器和后端数据库的组合生成(参见图1)。站点的(动态)内容存储在数据库中。应用程序服务器提供实现应用程序业务逻辑的方法。作为其中的一部分,应用程序通常访问数据库。三个服务器(Web,应用程序和数据库服务器)可以全部在单个机器上执行,或者它们中的每一个可以在单独的机器上或在机器群集上执行,或者其各种组合。

图1 动态内容网站经典配置

为了研究动态Web站点的体系结构和性能,需要基准来代表这些Web站点的一些常见应用程序,但又足够简单,易于理解和操作。TPC-W 提供了对电子商务应用程序进行基准测试的规范。它模拟了一个在线书店,如amazon.com。本文提出了两种不同类型的动态内容网站的新规范:拍卖网站和公告板。我们的拍卖网站基准模仿eBay 。对于公告板,我们的基准测试是以Slashcode 为模型的,它用于许多公告板网站,包括其创始人网站Slashdot 。

我们使用各种方法实现了所有三个应用程序。特别是,我们使用PHP Web脚本语言,Java servlets以及使用EJB(Enterprise Java Bean)的不同方式进行实现。这些实现使用开源软件平台,如Apache Web服务器,Tomcat servlet服务器,JOnAS和JBoss EJB服务器,以及MySQL关系数据库,所有这些实现的源代码可以在我们的网站http://www.cs.rice.edu/CS/Systems/DynaServer上找到。选择开源平台可以让其他研究人员轻松使用我们的基准测试。除了服务器应用程序,我们还开发了一个客户端模拟器来驱动具有各种工作负载的动态内容Web服务器。

这些基准测试可用于动态Web内容生成的各种不同研究。我们已经使用拍卖网站来比较各种应用程序实现方法,容器设计和EJB应用程序的通信优化。我们还在PHP,Java servlet和EJB 的比较中使用了所有这三个应用程序。目前,我们正在使用基准来研究动态内容的聚类和缓存。

作为可以使用这些基准测试执行的工作类型的一个示例,我们使用PC服务器硬件呈现了应用程序的PHP版本的瓶颈分析。在我们的所有实验中,Web服务器和数据库都在一台单独的机器上运行。特别是,每台机器使用1.33GHz AMD Athlon,内存为768MB,磁盘为60GB。这两台机器相互连接,并通过交换机100Mbps以太网连接到一组运行客户端仿真软件的机器。对于在线书店,数据库服务器上的CPU是瓶颈。相比之下,对于拍卖网站和公告板,Web服务器CPU是瓶颈。在所有实验中我们都没有发现内存,磁盘或网络成为瓶颈。

本文的其余部分结构如下。第2至4 节描述了基准规范。第5节描述了客户端的emulato工具。第6节概述了本文中讨论的基准测试的示例使用。第7节描述了我们的实验环境,包括软件,硬件,工作负载和应用程序规模。第8至10 节分析了三个基准的结果。我们将在第11节介绍相关工作,并在第12节中进行总结。

2.在线书店基准

事务处理委员会的TPC-W基准是一个专门用于评估电子商务系统的事务性Web基准。我们的在线书店基准测试以TPC-W为模型。它实现了TPC-W中指定的所有功能,这些功能对性能有影响,包括事务一致性和对安全事务的支持。它没有实现TPC-W中指定的某些功能,这些功能仅影响价格而不影响性能,例如需要为180天的运行提供足够的存储。

除了每本书使用的图像之外,所有持久性数据都存储在数据库中。该数据库包含八个表:customers, addresses, orders, order_line, credit info, items, authors, and countries。rder_line,orders和credit_info表存储有关已下订单的信息,特别是:订购的图书,数量和折扣(表order_line),客户标识,订单日期,付款金额信息,送货地址和状态(表格订单)和信用卡信息,如类型,编号和到期日期(表credit_info)。items和authors表包含有关书籍及其作者的信息。客户信息,包括真实姓名和用户名,联系信息(电子邮件,地址)和密码,

数据库中的每个项目都有两个相应的图像:全尺寸图像和缩略图图像。图像存储在Web服务器上。我们实现了TPC-W基准规范中指定的14种不同交互。在14个脚本中,6个是只读的,而8个则导致数据库更新。只读交互包括访问主页,新产品和畅销商列表,产品详细信息请求以及涉及搜索的两个交互。读写交互包括用户注册,购物车更新,涉及购买的两个交互,两个涉及订单查询和显示,两个涉及管理任务。我们使用与TPC-W中指定的相同的脚本执行分布。交互也可能涉及对多个嵌入图像的请求,每个图像对应于清单中的项目。除了一个例外,所有交互都查询数据库服务器。

我们实施支付网关仿真器(PGE),它代表一个外部系统,授权在购买交互期间支付资金。Web服务器使用SSL会话联系PGE以发送信用卡信息。PGE回复一条包含授权号的消息。PGE不是基准系统的一部分。

3.拍卖网站基准

我们的拍卖网站基准实现了拍卖网站的核心功能:销售,浏览和出价。我们不实施即时消息或新闻组等补充服务。我们区分三种用户会话:访客,买家和卖家。对于访问者会话,用户无需注册,但只允许浏览。买方和卖方会议需要注册。除了在访问者会话期间提供的功能之外,在买家会话期间,用户可以对项目进行投标并查阅其当前出价的摘要,其评级和其他用户留下的评论。在允许用户提出待售物品之前,卖方会话需要付费。拍卖会立即开始,持续时间不超过一周。卖方可以指定物品的储备(最低)价格。

该数据库包含七个表:users, items, bids, buy_now, comments, categories and regions。users表记录包含用户的名称,昵称,密码,区域,评级和余额。除了类别和卖家的昵称之外,items表包含简要描述该项目的名称和更广泛的描述,通常是HTML文件。每个出价都存储在出价表中,其中包括卖家,出价和代理出价工具使用的max_bid值(代表用户自动出价的工具)。直接购买而没有任何拍卖的物品存储在buy_now表中。comments表记录了一个用户对另一个用户的评论。作为优化,每个项目存储出价数量和当前最高出价金额,以防止对出价表进行许多昂贵的查询。这种冗余信息对于保持可接受的浏览请求响应时间是必要的。由于用户仅浏览和出价当前待售的商品,因此我们将商品表拆分为新旧商品表。绝大多数请求访问新项目表,从而大大减少了数据库的工作集。

我们的拍卖网站定义了26个互动 其中最重要的是按类别或地区浏览项目,出价,购买或出售项目,对其他用户发表评论以及咨询自己的用户页面(在eBay上称为myEbay )。浏览商品还包括查询出价历史记录和卖家信息。

4.公告板基准

我们的公告板基准测试是以像Slashdot 这样的在线新闻论坛为蓝本的。我们最初考虑使用免费提供的基于Perl的Slashcode ,但我们得出结论,代码太复杂而无法作为基准。相反,我们实现了Slashdot站点的基本公告板功能。特别是,如在Slashcode中,我们支持讨论线程。讨论线程是一个逻辑树,其根部包含一个故事,并且可以嵌套该故事的许多注释。用户有两种不同级别的授权访问权限:普通用户和主持人。普通用户浏览并提交故事和评论。此外,主持人还会审核故事和评分。

数据库中的主要表是users, stories, comments, and submissions 表。users表包含每个用户的真实姓名和昵称,联系信息(电子邮件),密码,授权访问级别和评级。stories表包含每个故事的标题和正文,故事作者的昵称,故事发布的日期,最外层嵌套级别的评论数量以及故事所属的类别。categories 表包含与Slashdot站点相同的类别。comments 表包含评论的主题和正文,评论作者的昵称,评论发布的日期,故事的标识符或其所属的父评论以及评论评级。除非由主持人提交,否则每个提交的故事最初都会放在submissions 表中。我们维护一个moderator_log表,该表存储评论的版主评级。常规用户评级是根据他们发布的评论的评级计算的。

出于效率原因,我们将故事和评论表分成单独的新旧表。在新故事表中,我们保留最近的故事,截止日期为一个月。我们将故事保留了两年。新旧评论表分别对应于新旧故事。预计大多数浏览请求都会访问新的故事和评论表,这些表格要小得多,因此可以更加高效地访问。定期激活守护程序以根据需要将故事和注释从新表移动到旧表。

我们定义了24个Web交互。主要是:生成当天的故事,按类别浏览新故事,旧故事或故事,在过滤评论时显示具有不同选项的特定故事,在故事标题中搜索关键字,评论和用户名,提交故事,在主持人级别添加评论,审核提交的故事和评分评论。目前不支持全文搜索。如果没有额外的支持,它需要在通用关系数据库中禁止处理时间。通常,将使用外部搜索引擎来执行此任务。

5.客户端模拟器:工作负载生成工具

除了第2节到第4 节中描述的基准测试外,我们还开发了一个客户端模拟器,它实现了为动态内容站点生成工作负载的方法。该工具相当普遍,可以扩展到相同性质的其他基准。我们实现的原型工具需要一些特定于被测应用程序的代码,尽管其中大部分都可以自动化。

遵循TPC-W规范,客户端仿真器生成的工作负载由许多并发客户端及其与被测系统(SUT)的交互组成。可以改变工具模拟的客户端数量,以改变SUT上的负载。

每个模拟客户端都会打开与SUT的会话。会话保持活动一段时间,称为会话时间,在该时间段结束时连接已关闭。每个会话都是与SUT的持久HTTP连接。使用此连接,客户端重复发出请求,解析服务器对请求的响应,并遵循响应中嵌入的(超)链接。服务器的响应是一个Web页面,其中包含对上一个请求中的查询的答案以及客户端可以从此响应转换到的页面集的链接。例如,在查看TPC-W的主页之后,客户端可以决定查看某个特定主题的畅销书籍,因此对主页请求的响应包含最佳卖家的链接和其他链接。马尔可夫模型确定来自响应的后续链接。马尔可夫模型使用转移概率矩阵,其概率附加到从一个状态到另一个状态的转换。转换矩阵中的状态对应于SUT及其网页的特定交互,例如,主页,畅销书页面,产品信息页面等。转换对应于点击页面中的链接。在启动下一次交互之前,客户端模拟器会等待一段时间,称为思考时间。这模拟了真实客户的“思考”时期,在点击下一个请求之前需要一段时间。转换矩阵中的状态对应于SUT及其网页的特定交互,例如,主页,畅销书页面,产品信息页面等。转换对应于点击页面中的链接。在启动下一次交互之前,客户端模拟器会等待一段时间,称为思考时间。这模拟了真实客户的“思考”时期,在点击下一个请求之前需要一段时间。转换矩阵中的状态对应于SUT及其网页的特定交互,例如,主页,畅销书页面,产品信息页面等。转换对应于点击页面中的链接。在启动下一次交互之前,客户端模拟器会等待一段时间,称为思考时间。这模拟了真实客户的“思考”时期,在点击下一个请求之前需要一段时间。

该工具将许多客户端和转换矩阵作为输入。事务矩阵的特定列指定从给定页面转换到所有其他页面/状态的概率。该工具对表中的值提供某些一致性检查,确保任何列中的概率总计为1。

该工具收集配置文件中指定的SUT机器上的系统利用率统计信息(CPU,内存,网络带宽等)。在执行结束时,该工具显示有关执行的详细统计信息,尤其包括总体吞吐量和响应时间统计信息,以及运行长度的CPU,内存,网络和磁盘利用率图表(如后面部分所示) )。

6.基准的使用示例

在本文的其余部分,我们通过对应用程序执行瓶颈分析来演示这些基准测试的使用。我们改变系统的负载并监控产生的吞吐量。我们专注于测量系统负载的吞吐量和各种资源的利用率,而不是其他性能指标(如响

全文共9166字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[2819]

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。