Java web 服务的性能评估: 一个开发者的观点外文翻译资料

 2022-11-26 20:17:21

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


Java web 服务的性能评估:

一个开发者的观点

作者: Sanjay Ahuja, Je-Loon Yang

School of Computing, University of North Florida, Jacksonville, Florida, USA

简介:

随着互联网人口的快速增长, 网络技术的发展变得非常重要。对于网络的演进, web 服务是必不可少的。web 服务是允许 web 上不同平台的计算机以交互方式进行通信的程序, 而无需额外的数据用于人类阅读界面和格式, 如网页结构。由于 web 服务是互联网发展的未来趋势, 用于开发的工具也很重要。尽管 web 服务框架可供选择, 但开发人员应根据框架的性能、时间和精力, 选择最适合其应用程序的框架。在这个项目中, 我们选择了四个共同的框架来比较它们的定性和定量的度量。运行测试后, 通过 SAS 统计分析结果。

关键词: web 服务, 框架, 性能, java, 开发者

一、导言

为了去其他国家或国家旅行, 此人通常需要购买机票、租车和预订酒店住宿。在处理机票时, 大部分时间的人甚至要买几张票, 而不是把人直接带到最后目的地的车票。查看飞机抵达和起飞时间连接每趟航班可能需要数小时的搜寻和规划。如果有一个虚拟代理可以在短短几秒钟内完成这一切呢?所以通常人们会寻找代理人为他们做这件事。但是, 如果这个代理实际上是一个在线虚拟代理。如果每个子刚进入他想从目的地开始的位置, 就需要离开或抵达的时间, 以及计算机上所需的所有信息, 在一个快照中, 计算机显示所有的结果, 供人选择和购买门票。更佳的是, 这样的虚拟代理商也有可能在目的地展示汽车租赁和酒店的信息, 并为您预留。通过使用这种类型的虚拟代理, 可以节省大量的精力和时间, 也可以比人工代理更准确。这种技术依赖于 web 服务的开发和广泛应用。
除了从头开始开发 web 服务应用程序, 还有许多开源框架令开发更容易。哪些框架工作是 web 服务应用程序开发的更好选择?本研究通过做几个测试和分析, 对四个流行的开源框架进行定性和定量的比较。四个框架是 Apache Axis,、JBossWS、xfire 和Hessian。第二节对 web 服务进行了更多介绍。第三节介绍了本研究中使用的四个框架。第四部分更详细地说明了用于度量框架的度量标准。五部分介绍了用于分析实测结果的统计分析方法。在第六部分, 对测试结果进行了分析和显示。

二、web 服务框架

由于 web 服务旨在通过普通方式传输数据, 因此一些公司和团体开发了 web 服务框架, 以方便 web 服务开发人员, 使他们不必从头开始编写完整的 web 服务。一些流行的框架-作品是Apache Axis,JBossWS, codehaus xfire, 和 Caucho Hessian。在本节中, 将介绍这些框架。

2.1. Apache Axis

Apache Axis (apache 可扩展交互系统) 是由 apache 软件基金会 (asf) 创建的开源、java 和基于 xml 的 web 服务框架。该基金会是一个非营利性公司, 主要生产网络使用软件, 如服务器的服务和框架。他们的项目是众所周知的协作, 基于共识的开发过程和自由或开源软件。apache axis 软件包具有 soap 服务器和 api 的实现, 用于生成和部署 web 服务应用程序。soap 引擎构建诸如客户端、服务器和网关之类的 soap 处理器。这允许服务器和客户端通过 soap 消息进行通信。该 api 支持多种语言。除了 java 版本之外, 还可以使用 c 实现。它允许开发者以各种各样的方式构建他们的应用程序。最简单的方法只需要将文件扩展名从 '. java' 改为 '. jws'。这种方法的缺点是缺乏进一步配置的灵活性。

2.2jbossws

JBossWS 是 jboss 的 j2ee 兼容 web 服务的实现。该框架旨在更好地适应整个 jboss 架构, 通常更适合于针对 web ser 的特定 j2ee 要求。而不是使用传统的 apache 服务器为这个框架, jboss 有一个自己的服务器, 并建议该框架在这台服务器上使用, 以获得最佳的性能。类似于 asf, jboss 社区是一群专注于开源项目的人。他们的项目侧重于 java 企业中间件的开发, 这是软件, 在应用程序、操作系统或两者之间起到桥梁作用。

2.3. codehaus xfire

codehaus xfire 是新一代的 java SOAP框架。它是一个自由和开源的 soap 框架, 使您能够轻松和简洁地实现 web 服务。它还提供了许多在 web 服务规范中标识的功能, 这些特性在大多数商业或开源工具中都不可用。据称它具有更高的性能, 因为它是建立在低内存的stAX (基于 xml 的流式 api) 模型中, 但没有数据来记录这个事实。

2.4. Hessian

Hessian二进制 web 服务协议使开发 web 服务变得简单易用, 而不需要大型框架, 这样开发者就不必花更多的时间和精力来学习协议。因为它是一个二进制协议, 所以它在发送二进制数据时很好地工作, 无需使用附件扩展协议。像手机之类的J2ME设备可以使用Hessian连接到具有更好性能的 web 服务, 因为它是一个小协议。Hessian以Hessian cloth,命名了, 是英国的期限为Hessian。它被命名为这样, 因为Hessian是简单、实用和有用的像Hessian协议的特征。

三、评价指标

在比较这个项目的四个框架时, 考虑了不同的因素。一些指标是对矿井的性能和效率的威慑;有些是显示透明度和抽象。本节说明这些度量标准。

3.1滞后时间

在网络方面, 延迟是一个表达式, 它需要多少时间才能将数据发送回请求。这包括将请求发送到服务器的时间、服务器处理任务所花费的时间以及将结果发送回的时间。网络滞后是由传播、传输、调制解调器和路由器处理以及存储延迟等诸多因素造成的。传播是一个对象 (如数据) 以光速从一个位置传输到另一个目标所需的时间。传输是延迟从媒介象光纤或无线网络。调制解调器和路由器需要时间来检查数据包的报头。存储延迟是实际硬件存储 (如硬盘) 所需的时间, 以存储接收的数据。在该项目中, 使用不同的方案测试滞后时间, 如请求一、二、三、四、五 mb 数据, 以及一、10、15、20客户端同时请求数据。从这种测试的结果中, 可以找到和比较每个框架的趋势。

3.2吞吐量

吞吐量是指在某一时间单位内处理的客户机或数据的数量, 就像第二个。它与延迟密切相关, 因为具有高滞后时间的方案会导致吞吐量低, 且滞后时间低的情况会导致吞吐量高。但是, 通过查看滞后时间图, 我们只能说明响应的趋势, 而我们可以通过查看吞吐量图来确定框架的最有效方案。

3.3内存使用

在计算中, 内存是数据存储, 用于临时存储计算机的计算数据。有各种各样的内存, 如缓存存储器、闪存、随机存取存储器 (ram)、虚拟存储器等。无论是内存, 它们都在服务器上受到限制, 因为成本和空间。使用较少内存的框架将具有允许服务器容量更高的优点。

3.4cpu 使用率

中央处理器 (cpu), 也称为处理器, 是用于解释程序指令和处理数据的计算机中的一个组件。虽然它只能够一次处理一个任务, 当有多个任务要完成时, 而不是完成一个任务然后转到另一个, cpu 的设计, 在完成一个必要时切换到其他任务, 这样它就会像是在同时执行多个任务。但是, 大型任务可能占用大量的 cpu 时间, 这系数随了为其他任务排定的时间。使用较少的 cpu 的框架将允许服务器有更多的时间执行其他任务。

3.5源代码行

框架中使用的代码 (sloc 度量) 的源代码行可以表明框架的透明性和抽象性。框架的主要目标是不需要从头编写整个代码, 从而节省开发人员的时间和精力。因此, 框架所需的代码行越少, 此框架就会节省更多的时间和精力。但是, 代码行不能精确准确, 因为有些行可能很长, 而有些行很短。所以文件的数量和大小也是一个考虑因素。

四、统计分析方法

在检索测试数据进行性能比较后, 需要一种方法来分析结果。通过简单地计算平均响应时间, 并将它们放入图表中, 不足以进行分析。查看平均响应时间 (秒和秒), 我们不能确定这是否有很大的差异。因此, 需要统计分析方法来判断差异是否显著。在这个项目中, 一般线性模型 (glm) 和双向方差分析 (双向变异) 用于统计分析。此外, 统计分析系统 (sas) 被用作协助计算所需统计分析的工具。

4.1 SAS系统

sas 系统是统计分析软件, 有各种各样的统计模块和程序。他们使用四代编程语言 (4GL) 为他们的代码和程序由三个主要组件组成-数据步骤, 过程步骤, 和宏语言。数据步骤用于输入数据, 如在代码中插入数据或从数据文件中读取。过程步骤是使用统计方法和模型来分析数据步骤中读取的数据。宏语言用于减少在整个程序中反复使用的函数的冗余。

4.2 GLM模型

GLM模型是一般情况下使用的统计线性模型。它是许多统计分析的基础, 如 t 检验、方差分析、协方差 (协方差分析) 等。最容易理解 GLM模型的工作原理是两个可变的情况。此分析的目的是使用一种方法来准确地描述这个情节中的信息。使用 GLM模型, 我们试图找到一个直线, 它是最靠近阴谋中的所有点。这条线将写成: y = b0 b 1x e, 其中 y 是 y 轴变量, x 是 x 轴变量, b0 是截距 (x 等于零的值 y), 地下是直线的斜率, e 是误差。通过求解 b0 和地下, 我们可以得到关于这个直线的信息, 它描述了剧情中的点。在具有两个以上变量的其他情况下, 公式可以扩展为: y =

b0 b1x1 b2x2 b3x3 ... bnxn e, 其中 n 是情况变量的个数。但机制

解决这些问题是一样的。

五、结果和分析

为了获得 sas 分析的最佳结果, 每个案例都被测试了。由于测试了四个不同数量的客户的框架, 所以有不同的案例。在不同的情况下增加测试时间将会由 sas 计算得出400数据集。除了客户数量外, 还考虑了数据的大小。由于发送了五种不同大小的数据, 总共有400数据集的情况。响应时间是通过在调用 web 服务之前记录时间, 并在收到请求的数据后记录时间, 然后减去时差来衡量的。

5.1结果

5.1.1. 客户端方案

为了在不同的方案中测试四个不同的框架, 创建了发送数据的 web 服务应用程序。这五种情况下, 基于客户端的测试性能的四个框架的数量是一个客户, 五客户, 10 客户, 15 客户和20客户每检索一 mb 的数据。记录每个方案和每个框架的平均响应时间以进行分析。结果如图一所示。通过计算结果到吞吐量, 图二显示每个方案和框架的平均每秒客户端。

图二显示了每个框架最有效的客户端方案。在达到10客户端或以上的场景后, Apache Axis可以每秒钟处理4.993 客户端。Hessian可以在相同的场景中每秒钟处理4.807 客户机。JBossWS 在每个场景中每秒钟处理0.943 客户端。codehaus xfire 似乎在五个客户的情况下工作最有效, 每秒钟处理大约2.892 客户。

5.1.2. 数据大小方案

对于基于不同数据大小的五种方案的结果和平均吞吐量, 它们将显示在图三和四。图已省略。

5.2分析

显然, 响应时间的高度取决于框架的选择、传输的数据量以及从 web 服务调用任务的客户端数。这使三个因素对测试结果有重要意义, 这是响应时间。但在董进一步分析之前, 我们必须用 glm 模型来确定三个因素的相互作用是否也有重要因素。如果不交互, 我们可以使用 Tukey 方法做多个比较和 分析。 看看哪个框架在所有情况下都有更好的表现, 而这更糟; 如果相互作用是重要的因素, 比我们需要分析结果案例。

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[26172],资料为PDF文档或Word文档,PDF文档可免费转换为Word

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

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