Analysis and Simulink Modeling of the Performance of Dynamic Web Server Using JSP and PHP 外文翻译

外文原文:

https://download.csdn.net/download/one111a/12302215

译文:

使用JSP和PHP对动态Web服务器的性能进行分析和Simulink建模

Fontaine Rafamantanantsoa*, Paulson Ravomampiandra
University of Fianarantsoa, Fianarantsoa, Madagascar
Communications and Network, 2018, 10, 196-210
ISSN Online: 1947-3826 ISSN Print: 1949-2421
摘要
近年来,网络技术不断发展,与此同时,互联网用户数量也大大增加。今天,Web服务器每天能够处理数百万个请求,但是在高峰时段可能会崩溃并变得至关重要,从而导致服务器提供的服务不可用。这就是为什么Web服务器性能成为许多研究人员非常感兴趣的话题的原因。在本文中,我们通过实验评估了JSP和PHP动态内容技术的影响:JSP和PHP可访问Apache Web服务器的性能数据数据库。使用“ ApacheBench”性能评估工具,该方法是比较Web服务器的四种不同配置的性能,例如:实现JSP技术且可访问PostgreSQL数据库的Apache Web服务器,使用PHP技术并将PostgreSQL作为数据库的Apache, Apache Web服务器使用JSP技术访问MySQL数据库,最后使用Apache和PHP使用DBMS MySQL。在本文的结尾,我们还提出了基于简单M / M / 1队列的Web服务器性能的Simulink模型。在建模过程中,使用了MATLAB软件。
关键字:分析,队列,JSP,模型,性能评估,PHP,Web服务器,Simulink
1.简介
在最近的几十年中,互联网用户的数量并没有停止增加。根据一些研究,与世界上接近70亿的居民相比,2012年连接到互联网的用户的统计数字已增加了超过23亿。三分之一的人口连接到Internet。 2012年11月,Netcraft的一项调查对全球625,329,303个活跃网站进行了统计。尽管现在Web服务器每天能够处理数百万个请求,但在高峰时期,其性能可能会崩溃并变得至关重要。因此,这种粗略位置的用户贬低了服务器提供的服务质量。因此,许多研究人员对计算机系统的性能进行了研究,即:直接测量,仿真和建模。直接测量是一种精确的方法,但是它需要一个真实的系统来收集有关系统性能指标的特定信息。仿真是真实系统的原型,可以为性能测量提供或多或少的准确结果,但可能难以构建。至于建模,我们使用了诸如网络队列,马尔可夫模型,Petri网和神经网络之类的技术。建模是最便宜的方法,因为现在个人计算机硬件更难以承受。
涉及Web服务器性能研究的各种研究人员还使用了这三种方法。在[1]和[2]中,作者分别考虑了队列M / G / 1 / K * PS和M / M / 1 / K来评估Web服务器的性能。在工作期间,他们研究了参数的影响,例如:流量到达和服务规则对性能指标的影响,例如平均Web响应时间,吞吐量和服务器拒绝率。其他研究人员,例如R. Fontaine等。 [3]使用其他方法(即神经网络)对ApacheWeb服务器的性能进行了建模。为此,使用了三种神经网络模型来预测Web服务器的性能指标,例如平均响应时间,拒绝百分比和流量(取决于系统内核参数FreeBSD,Apache和入站流量的优化),并使用传播梯度算法。 2011年,[4]进行了相同的工作,但他们使用的操作系统是Debian和Ubuntu Linux 9.4。许多研究致力于Web服务器的分析和设计,以识别构成瓶颈的元素。在[5]中,Rafamantanantsoa和Aussem使用Webstone分析了Apache Web Server的性能。他们研究了可能影响服务器性能的不同因素,例如:Apache优化参数(Maxclients,MaxUsers)和FreeBSD操作系统(例如Somaxconn)。在本文的最后,他们提出了一个基于队列的简单模型,该模型使用均值分析(MVA)算法表示饱和Web服务器的行为。 Hu等。还测量并分析了Apache的行为。作者使用基准测试工具SpecWeb96和Webstone来评估Web服务器在系统单处理器和多处理器(4-CPU SMP(对称多处理器))上的行为。最近,Xiao和Dohi [6]使用Apache JMeter工具定量评估了Apache性能。具体来说,它们专注于Apache Web服务器的错误率与可能影响Apache性能的系统参数之间的关系。
我们上面介绍的工作仅专注于静态工作负载的使用,但是互联网的发展已导致其他研究人员考虑基于动态网页的工作负载。特伦特等。 [7],在他们的工作中,他们着重在Lighttpd和Apache Web服务器上使用SPECWeb2005比较动态语言PHP和JSP脚本。他们的结果表明,这两种技术在速度和性能上仅相差5%-10%。
在2012年,Aaqib和Sharma [8]测量了Apache实施PERL,PHP和Java Servlet技术并使用MySQL数据库的性能。他们的目标是确定这三种技术中的哪一种在Windows和Linux平台上能提供更好的结果。他们的结果表明,用PHP获得的性能比使用PERL和Java Servlet时要好得多。他们开发的多元线性回归模型用于预测Web服务器的性能以验证其结果。在本文中,我们将分析和建模结合JSP和PHP技术的Apache Web服务器的性能。本文分为四个部分。第1节介绍Web服务器的性能指标。实验配置将在第2节中给出。然后,第三部分将显示各种实验的结果。在最后一部分中,将提供有关服务器性能的模型。
2.Web服务器性能
Web服务器是处理多种同时进行的客户端请求的系统。这些查询可以定向到不同大小的静态文件,动态网页,CGI命令或通过各种API访问数据库。服务器对这些请求的处理相对于其他请求是不同的。因此,查询的处理时间取决于应用程序的复杂性,文档大小和服务器的速度。后者还取决于组成服务器的硬件(CPU,RAM…)和配置软件。
为了衡量Web服务器的性能,使用已知的性能指标或性能指标的度量单位。这些是描述Web服务器定量行为的关键指标。这些索引可能会有所不同,具体取决于类型,性质,所研究的Web服务器配置。在性能指标中,衡量Web服务器性能的基本单位是:
响应时间:此值显示应用程序的平均执行时间,即从客户端发送请求直到获得请求的时间。服务器的响应;
每秒处理的请求数:衡量一段时间内Web服务器管理的请求数;
错误数量:由于收到大量请求,服务器拒绝了应用程序。
3.性能评估方法论
作为我们研究的一部分,我们为每个实验检查Web服务器的四种不同配置。图1显示了实验期间的各种配置。
首先,我们在扩展名为的动态网页上发送查询。 jsp或。 php。每个HTTP请求都会导致一个SQL SELECT命令从数据库PostgreSQL或MySQL检索数据。接下来,我们改变了要从数据库检索的数据大小,以便我们可以确定数据大小对服务器性能的影响。对于图1中所示的每种配置,我们改变数据大小以获取20、40、60、80和100个字节。 PostgreSQL和MySQL数据库每个都有一个包含四列的表。
我们注意到,我们在实验期间仅使用SQL SELECT命令。我们没有使用任何其他SQL命令(例如INSERT,UPDATE和DELETE),因为在大多数情况下,Web用户仅查询Web服务提供给他们的各种文档。表1列出了我们在实验中使用的动态工作负载的特征。
4.实验环境
在实验过程中,我们使用了两台机器,一台机器充当服务器,另一台客户端设备向服务器生成请求。服务器和客户端计算机通过交叉电缆RJ45互连。本节的其余部分将对该实验环境进行详细说明。第4.1节显示了我们实验环境的硬件配置,第4.2节显示了我们使用的软件。
4.1 硬件要求
我们使用的客户端计算机是具有单个Intel Pentium IV处理器,256 MB RAM和20 GB IDE硬盘的Dell计算机。至于服务器计算机,一个带有Intel Core i5处理器,带有8 GB RAM和1 TB SATA硬盘的Acer品牌。请注意,服务器计算机不是专用的Web服务器。它是Apache在Windows 7双重引导下运行的系统。表2总结了实验期间使用的服务器和客户端计算机的配置。
4.2 软件配置
我们使用Pear Linux OS8发行版作为服务器的操作系统,并使用Debian 6作为客户的操作系统。我们使用了Linux的默认内核参数。操作系统的配置也保留其默认值。表3总结了用于实验的各种软件。对于所有使用的软件,设置优化保留其默认值。
4.3实验设置
图2显示了用于获得用于建模Apache Web服务器性能的数据的实验设置。
表1实验期间的工作量
在这里插入图片描述
表2所用材料的特性
在这里插入图片描述
表3所用软件的特性
在这里插入图片描述
图1绩效评估方法
在这里插入图片描述
图2实验装置
E [S]是Web服务器的平均服务时间,也就是说,客户端请求到达服务器的时间与服务器准备将响应发送给客户端的时间之间的时间。 E [S]可以通过获取查询响应时间的输出与请求到达服务器的时间之间的差来计算。实验过程如下:请求从安装了Python和Scapy开发的工具的计算机发送。该请求来自IP地址为192.168.1.151的第一个网络接口。 Web服务器在其第一个网络接口上以IP地址192.168.1.150接收。处理完请求后,响应将通过第二个IP地址为192.168.2.150的服务器网络接口返回给客户端,并且客户端计算机在其第二个IP地址为192.168.2.151的网络接口上接收到此响应。我们使用了与前面各节相同的材料。进行了一系列实验,以收集受支持的JSP技术和数据库访问的Apache Web服务器的性能指标。在本节中,我们没有使用ApacheBench工具,而是使用Python编程语言和称为Scapy的网络数据包处理软件开发了Web服务器的性能测量工具。图3显示了已开发工具的用户界面。该GUI由Qt4 Designer进行。
工具说明:
服务器IP:用于指示要测试的Web服务器的IP地址。
竞争对手:用于指示同时访问服务器提供的资源的用户数。
请求:它允许指定每次性能测试期间要运行的查询总数。
URL:允许您指出网页的绝对路径,以便在测试期间检索客户。
在这里插入图片描述
图3 GUI工具
“开始”按钮用于启动Web服务器性能测试。 至于“清除”按钮,它用于清除实验结果的显示区域。 我们使用此工具运行性能测试。 文档的大小从20到100字节不等,以20为步长变化。对于每个值,该工具都会检索有关Web服务器性能的指标。 测试的结果,对于测量服务器的E [S]时间特别有用。
5.实验结果
进行了一系列测试,以测量然后检查Web服务器的性能。各种测试包括运行在客户端计算机上的ApacheBench,每次测试后的工作负载如表1所示,ApacheBench工具收集有关各种性能指标的统计信息,例如平均响应时间,错误数量。 Linux的“ top”工具允许监视服务器计算机上的系统资源。监视资源为:内存和CPU。对于每个实验,我们将建立数据大小与平均响应时间之间的关系。为了正确地组织本节,我们将代表各种测试的结果,如下所示:实验1:访问数据库表的第一列。实验2:访问数据库表的第二列。实验3:访问数据库表的第三列。实验4:访问数据库表的第四列。
5.1 实验1:访问数据库表的第一位
平均响应时间是Web服务器性能的重要指标。图4显示了第一列中已恢复数据的大小与数据库介质响应时间之间的关系。发现使用Apache和PHP并能访问MySQL的服务器配置的平均响应时间
与我们在实验中使用的其他配置相比,该数据库的性能要好得多。另外,图4显示,当Apache Web服务器与技术生成动态内容JSP结合使用时,使用MySQL DBMS的服务器比使用PostgreSQL DBMS的服务器更好。根据这些结果,我们可以得出结论,MySQL DBMS适用于小型基础,而PostgreSQL DBMS适用于大型基础。对于所有测试的配置,平均响应时间在数据大小0到20字节之间显着增加,并且在20到80字节之间变得稳定。系统的使用稳定在20到80个字节之间的事实可以解释这种稳定性。在实验过程中,顶级Linux工具还表明,JSP技术比PHP资源使用更多的内存。这是由于使用了Java虚拟机(JVM)。
根据大小的平均响应时间曲线方程
在这里插入图片描述
图4平均时间响应取决于第一列中检索到的数据的大小
从MATLAB获得的Apache和JSP与PostgreSQL的数据,访问MySQL数据库的Apache和JSP,与DBMS PostgreSQL的Apache和PHP的数据,从MATLAB获得的MySQL的Apache和PHP的数据分别如下:
在这里插入图片描述
5.2实验2:访问数据库表的第二列
图5显示了数据库PostgreSQL和MySQL表的第二列中的实验结果。 恢复的数据大小在数据库20、40、60、80和100字节中有所不同。 与第一个实验一样,配置Apache Web服务器通过访问MySQL来实现PHP。
数据库比其他配置为我们提供了更好的性能。 此外,访问数据库中表的第一列的响应时间之间没有重大差异。 可以看到在第二个实验中获得的曲线方程上的微小差异(方程的顺序与第一个实验中的相同):
在这里插入图片描述
在这里插入图片描述
图5平均时间响应取决于第二列中检索到的数据的大小
在这里插入图片描述
5.3实验3:访问数据库表的第三列
在此第三实验中,我们访问数据库表的第三列。 配置始终是相同的测试,首先是Apache Web服务器通过访问PostgreSQL数据库来实现JSP,通过JSP和MySQL来实现Apache,最后是通过DBMS PostgreSQL实现技术PHP,而通过访问MySQL数据库的Apache实现PHP(图6)。 在0到20个字节之间,每种测试配置的平均响应时间都会大大增加。 但是平均响应时间稳定在40到80个字节之间。 与以前的实验相比,平均响应时间的细微差别可以从曲线方程中看出:
在这里插入图片描述
5.4实验4:访问数据库表的第四列第四项也是最后一项测试是访问数据库表的第四列(图7)
比较上述三个实验中的方程曲线,平均响应时间没有显着差异。 但是在配置中,Apache通过访问MySQL实现了PHP与其他配置相比,数据库具有更好的性能。
在这里插入图片描述
图6平均时间响应,具体取决于第3列中检索到的数据的大小
在这里插入图片描述
图7平均时间响应取决于第4列中检索到的数据的大小
在这里插入图片描述
6.对Web服务器性能进行建模
在本节中,我们基于M / M / 1队列表示一个简单的模型,该队列表示Apache Web服务器的性能。 在建模期间,我们使用在各种测试中获得的数据。
6.1 M / M / 1队列
这是对计算机系统设计建模最简单,最广泛使用的队列。 M / M / 1由无限的队列容量和唯一的服务器组成。 客户根据泊松过程以比率λ和到达间隔A(t)到达系统是指数分布。 使用时间以μ参数分布到指数规律。 服务顺序为FIFO。 M / M / 1队列的解决方案是:􂀀服务器利用率:服务器被占用的可能性更高。 我们将服务器的使用率定义为记为ρ的流量(或负载)强度。
在这里插入图片描述
平均响应时间:表示客户端在系统中的平均停留时间。 该时间包括等待时间和服务时间。
在这里插入图片描述
6.2 Simulink模型
我们使用备用M / M / 1队列对Web服务器的性能进行了建模。 入站流量是速率为λ鱼的过程。 服务时间遵循指数分布,比率为μ。
在图8中,块基于事件的随机数1基于数字事件以随机方式生成。 它指定λ的值和合法流量的到达。 遵循定律Λ是每秒发送的请求数,并且在仿真过程中,我们将λ的值从20更改为100。此模块连接到基于时间的实体生成器模块,该模块用作满足以下条件的实体生成器: 我们指定的标准。 基于时间的实体生成器块连接到调度超时块的IN端口,该端口确定每个实体发生的事件的时间。 Schedule Timeout模块的OUT端口与FIFO Queue模块的IN端口保持联系,该FIFO队列模块表示具有无限长的队列。 FIFO表示
在这里插入图片描述
图8 Simulink模型
第一个出现在此块中的实体是第一个出现的实体。无法根据此区块中实​​体的数量预先确定实体在此区块中保留的时间。 #n个端口#w和to连接到相应的块队列长度,该队列长度显示了队列中实体的瞬时曲线,而计数实体作用域曲线给出了预期中的实体数。 FIFO队列块的OUT端口连接到IN块。Cancel Timeout取消计时器事件,该事件已为实体到达FIFO队列块提供了Schedule Timeout块。 cancel Timeout块连接到代表我们的Web服务器的单个服务器块。将单个服务器块端口的使用连接到相应的块等待时间服务器,该服务器提供服务器中等待时间曲线的可视化并使用显示服务器利用率的曲线。使用t块可与基于事件的随机数块联系,该块指定服务器服务时间的分布。在这项研究中,服务时间遵循指数分布。在这里,服务时间的值是我们在实验期间获得的E [S]的平均值。最后一个块,即“实体接收器”块为我们提供了一种结束实体方式的方法。
6.3 均方误差
均方误差通常称为均方误差(MSE),是对平均误差的度量,由误差的平方加权。它回答了“预测误差的大小是多少”这个问题,但没有指出误差的方向。因为它是数量的平方,所以MSE受较大误差的影响要大于较小误差的影响。它的范围是0到无穷大,0表示完美。使用数学方程式的MSE计算:
在这里插入图片描述
其中:Fi值预测参数,Oi是值对应的验证(观察或分析),N是验证区域中检查点(网格点或观察点)的数量。 在我们的工作中,平方误差用于计算从仿真获得的曲线与由M / M / 1队列获得的分析模型之间的差异。
6.4结果和讨论
在本节中,我们将介绍各种仿真结果和获得的分析模型。向量条目由到达的贩运λ组成。
6.4.1服务器使用率
服务器使用率是反映服务器使用范围的指标。根据使用服务器提供的资源的实体数量,它在0到1之间变化。图9显示了在从模型队列M / M / 1测量和计算的仿真过程中Web服务器的利用率。从逻辑上可以看出,曲线服务器的利用率随着处理的应用程序数量的增加而增加。当服务器到达拥塞点时,曲线增加到等于1的最大值,释放了软件包,并且应始终接近最大值。可以通过增加队列长度来解释拥塞。从服务器利用率的曲线来看,M / M / 1的结果相当不错。这可以通过两条曲线之间的平方误差值来确认。均方误差的值等于0.033。
6.4.2平均响应时间
平均响应时间表示客户端停留在系统中的平均时间。这是衡量Web服务器性能的非常重要的指标。图10显示了根据请求数的响应时间曲线(通过分析方法和仿真方法得到)。
考虑图10,我们注意到从逻辑上说,响应时间的两条曲线随着数据的大小逐渐增加。可以通过数据大小增加时队列长度的增加来解释。当数据大小变大时,服务器需要更多时间来处理它。分析模型和仿真的两条曲线几乎相同;我们可以通过两条曲线之间的均方误差(MSE)值来确认这一点。该MSE的值等于:0.004。
7.结论
在本文中,我们对Web服务器性能进行了分析。 进行了一些实验来检查Web服务器的性能。 在实验过程中,我们使用了性能评估工具ApacheBench。
在这里插入图片描述
图9服务器利用率
在这里插入图片描述
图10 Web服务器平均响应时间
在这些实验中,我们检查了不同的服务器配置:使用DBMS PostgreSQL的Apache和JSP,使用DBMS PostgreSQL的Apache Web服务器实现PHP,使用Apache和可访问MySQL数据库的技术JSP,使用MySQL的Apache和PHP。对于这些配置,平均响应时间和从数据库中检索到的数据大小之间的关系是相当大的。实验结果表明:与我们使用的其他配置相比,配置Apache Web服务器的PHP实现并具有对MySQL数据库的访问权限,从而为我们提供了最佳性能。对于系统资源,由于使用Java虚拟机,使用JSP技术进行配置会消耗大量内存资源。
在本文的最后,我们提出了一个基于M / M / 1队列的Web服务器性能指标的简单模型。为此,我们使用了实验期间获得的数据。解决队列的方法有两种:基于队列理论的解析方法和仿真方法。在仿真过程中,我们使用了Simulink MATLAB仿真工具。在建模阶段,我们专注于性能指标,例如:服务器利用率,服务器中的平均等待时间,队列中的平均等待时间以及队列中的实体数。分析模型和仿真的比较结果相当不错。
利益冲突
作者声明与本文发表无利益冲突。
参考文献
[1] Cao, M. Anderson, Nyberg, C. and M.K. (2003) Web Server Performance Modelling Using an M/G/1/K*PS Queue. ICT , 10 th International Conference on Telecomm unications ,Vol. 2, Papeete, 23 February-1 March 2003, 1501-1506.
[2]Acosta, R. and Waena, F. (2009) Queuing Theory: Performance Modeling of Computer Networks. Strathmore University, Nairobi.
[3] Fontaine, R., Laurencot, P. and Aussem, A. (2007) Performance Learning, Real Time Monitoring and Admission Control of a Web Server Using Neural Technique. Proceedings of 4 th International IEEE of Science of Electronics , Technologies of Information and Telecommunication , Aubière, 2.
[4] Aid, L., Loudin, M. and Hidouci, W.-K. (2011) An Admission Control Mechanism for Web Servers Using Neural Network. International Journal of Computer Applications , 15.
[5] Fontaine, R., Laurencot, P. and Aussem, A. (2009) Analyse des performances et modélisation d’un serveur Web. Proceedings of 5 th International IEEE of Science of Electronics. Techonologies o f Information and Telecommunication , Aubière, March 2009, 7.
[6] Xiao, X. and Dohi, T. (2010) Estimating the Error Rate in an Apache Web Server System. International Journal of Software Engineering and Its Applications , 4, 19-28.
[7] Trent, S., Tatsubori, M., Suzumura, T., Tozawa, A. and Onodera, T. (2009) Performance Modeling of Computer Networks. Strathmore University, Nairobi.
[8] Aaqib, S.M. and Sharma, L. (2012) Analysis of Compute vs Retrieve Intensive Web Applications and Its Impact on the Performance of a Web Server. IJANA Intern ational Journal of Advanced Networking and Applications , 236 p.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值