作为服务器端脚本语言的PHP和JSP的性能比较_第1页
作为服务器端脚本语言的PHP和JSP的性能比较_第2页
作为服务器端脚本语言的PHP和JSP的性能比较_第3页
作为服务器端脚本语言的PHP和JSP的性能比较_第4页
作为服务器端脚本语言的PHP和JSP的性能比较_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大连交通大学2013届本科生毕业设计(论文)外文翻译全套论文代码相关材料:联系qq:68661508中文翻译作为服务器端脚本语言的php和jsp的性能比较摘要:动态脚本语言php(php超文本预处理器)已经在实施轻量级的web应用程序中变得颇受欢迎,并被广泛用作web服务器的服务器端脚本语言。为了比较php和jsp的性能,我们使用了specweb2005基准测试,它提供三种在php和jsp实现的应用方案。本文介绍和对比了采用了时下流行的web服务器apache和lighttpd的在不同配置上的php和jsp的specweb2005性能基准测试的结果。尽管微基准测试中观察到php引擎解释执行开销

2、,但是specweb2005基准的实验结果对web服务器实施者产生了有价值的性能数据。脚本语言运行时的效率仍然对终端到终端的性能显得尤为重要。然而,一旦经过精心的构建和调整,语言运行时比web服务器性能本身少了一个瓶颈。1介绍:动态脚本语言php(php超文本预处理器)已经在实施轻量级的web应用程序中变得颇受欢迎,并广泛用于访问数据库和其他中间件。由security space在2007年10月主持的apache模块受欢迎度调查中显示37的apache服务器启用php支持,使得它以10个百分点成为最流行的apache模块。商家正在迅速实现面向服务的架构环境和动态脚本语言,如php的强强联合。

3、不过,我们认为涉及php的严重的性能问题仍存在,且这些问题有待调查。本文重点介绍使用动态脚本语言来实现网页服务器的前端接口。这符合运用php 和 jsp的行业标准的web服务器性能基准测试specweb2005的这种方式。在这种情况下,脚本被用于执行动态页的生成, 而不是复杂的业务逻辑的实现。这有别于传统的复杂的基于jsp的业务逻辑的实现的使用。虽然有许多动态网页内容的研究,本文用关于php的详细的分析补充这些研究。例如,继基于动态内容的web服务器的cgi(公共网关接口)yeager & mcgrath在1995年做的研究后,研究者和从业者一直在研究最近的动态web内容生成技术的性能。这些作

4、品,但是,处理servlet的前端实现相对复杂的业务逻辑的应用场景。虽然warner 和worley讨论和specweb2005使用php的重要性,以作者最好的知识,本文率先发布一个使用php和jsp用于specweb2005实验结果的详细分析。本文所提供基于specweb2005的php和jsp性能的详细分析使web服务器的设计者和实施者来了解php和jsp的相对性能和不同的版本和配置的吞吐量。本文的其余部分安排如下:第2节讨论了多层web服务器架构和使用php和jsp的轻量级前端方法。第3节报告我们研究的关于php和jsp语言运行的微基准测试性能。第4节详细介绍specweb2005基准测

5、试方法,环境,和测试配置。第五节分析了specweb2005基准测试的吞吐量结果,cpu使用情况分析,以及相关的性能指标。第6节讨论这些结果的重要性。第7节涵盖了相关的工作,其次是我们在第8节的结论。2 多层web服务器架构:使用php/ jsp的轻量级前端开发者一般使用php来实现动态web内容生成器的一个前端接口,这个接口是web服务器软件和后端服务相结合的以提供动态内容。web服务器直接静态内容的请求和转发请求动态内容到动态内容生成器。后端服务器支持的动态内容生成器执行实现一个网站的业务逻辑和存储动态的代码。后端服务器可以被实现为一个直进数据库,或者可以是更复杂处理web站点的业务逻辑的

6、服务器。前端的的实现可能会从重量级的业务逻辑处理程序到轻量级客户组成收到来自后端服务器的内容而有所不同。本文利用这样的轻量级前端重点介绍的多层web站点的发展情况,由一个或多个层的重量级后端所支持。当考虑面向服务的环境中,php脚本主要用于实施在其他地方提供的服务的一个“混搭”,除了简单的网站,如php脚本只是一个数据库一个包装这类的布告牌。在本文中所描述的情景之内,动态内容生成器提供除了页面组成以外的客户端实现。它通过网络使用标准协议,如http,或应用/中间件特定的协议来连接到后端服务器。jsp技术可以被考虑替代php来实现这种前端。虽然它是java servlet的框架的一部分,开发人员

7、通常使用jsp来实现轻量级前端。php和jsp允许开发人员编写html嵌入代码。事实上,虽然php和java之间有语言的内在差异,php脚本的使用和jsp文件可以非常相似。本文中详细介绍的实验的目的是来衡量使用流行的web服务器,如apache和lighttpd用php和jsp语言所写的轻量级前端动态内容生成的性能。这个web服务器架构方案涉及用户,这些用户访问用纯静态html页面写的,或者jsp和混合使用html代码的php脚本语言的 web服务器。本文献采用的配置很典型,其中web服务器软件如apache分别区分纯html,jsp和php,它们分别以.html, .jsp,和.php结尾。

8、html代码为直接返回到发出请求的最终用户的web浏览器中,此处jsp和php页面分别被tomcat脚本引擎和php运行时引擎所解析。jsp和php之间的一个共同的点是表现良好的实现有动态编译和缓存的字节码。例如,当just-in-time (jit) 编译器被启动来打造高效的高速缓存的本地运行代码的时候,我们使用的tomcat的脚本引擎的java运行时执行要好得多。同样,当替代的php缓存(apc)被启用时,我们使用的zendphp运行时也明显执行地更好,在此,apc存储php脚本源代码共享内存中被编译的字节码以便将来重用。3 语言运行时性能的微型基准测试要理解php和java在语言运行水平

9、之间的性能特点的差异,我们使用了一系列的微基准测试比较了以下的引擎:php语言的框架允许开发人员用c语言编写的库函数来扩展语言。这些函数,通常被称为“扩展”,被使用在内在的php脚本中。php运行时提供了多种字符串操作,文件处理,网络等等的扩展。由于我们的首要目标是了解php运行时本身的性能,我们在不使用扩展的情况下进行的实验。我们制定了以下的微基准测试:这些php基准用php语言的原语和避免使用php的扩展而被完全实施。java版本还集中使用语言原语,而非标准类。我们比较了每一引擎执行每个测试10,000次的总的运行时间。在测试前,我们也执行额外的10,000次基准测量作为热身。这可以从在j

10、ava测试中影响分数来防止java just-in-time编译的开销。此测试演示每个测量的脚本语言和实现之间大的性能差异。图1中的实验结果表明用jit编译的java 5执行的最好,其次是没有jit编译的java 5,php 5.2.3和php 4.4.7。用jit的java 5展示由于有效地生成的原生代码的使用,它表现的比其他更好多出近三个数量级。同样明显的是php5.2.3比php4.4.7具有两到三倍的性能改进。其次确定与java类方法相比,php扩展性能的影响。我们开发和测试三个额外的微基准测试:正则表达式匹配,md5编码和莱文斯坦比较。对于正则表达式匹配,perl兼容的正则表达式扩展

11、(preg_match() 函数)被使用到php中,java.util.regex包被使用到java中。对于md5编码,md5扩展被使用在php and java.security中。在java中使用消息摘要。这个实验不完全比较相同的逻辑,而是表明使用php扩展相比使用just-in-time编译的java是具有竞争力,如图2所示。尽管纯脚本实验表明java和php性能之间的各种实现存在三个数量级的差别,使用php扩展(c语言编写)和被编译java类库显示的变化则要小得多。在极端情况下,正则表达式测试表现出java和php之间约5倍的最大性能差异,在另一端,java和php之间的md5测试结果

12、几乎相当。因此,一个解释脚本语言如php的内在性能风险可以使用高效的库函数,如c语言编写的php扩展从而被克服。4 php / jsp specweb2005的基准测试方法尽管微基准测试在执行和分析很简单,因此通常用在性能分析,接下来我们使用产业标准specweb2005基准来了解php和jsp在不同的版本和配置下的影响。specweb2005基准,由spec开发的,由三组基于常见的网站使用的测试方案组成:一个银行网站案例,一个电子商务网站案例,一个支持网站案例。银行网站案例允许典型的加密的账户交易通过安全套接字层(ssl),其中60的数据是通过生成动态网页库。电子商务购物网站允许用户浏览目录

13、和“购买”产品通过同时使用加密和未加密的数据。正如表2中所示,实验约5的电子商务案例中的数据使用ssl加密被传输,有70被传输的数据是通过动态网页生成。最后,供应商的支持网站提供大型未加密的支持文件比如手册和软件的下载。此方案主要允许访问大型非机密的静态文件,此处没有加密,只有12的被传输的数据是通过动态网页生成。由于specweb2005都在php和jsp中实现,它特别适合于两种语言之间的性能比较。然而,因为每一个正式公布specweb2005基准测试结果使用jsp进行而不是使用php在2008年夏,本文提供了一个独特的两种实现的比较,这个比较很有价值地考虑到现实世界中基于php的web服务器的受欢迎程度。一个典型的specweb2005测试床有多个被一个首要的客户控制的客户端计算机来提供被测系统(sut)上的负荷,这些符合模拟数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论