优化Web服务器的方法和策略

发布者:上海IT外包 发布时间:2019/1/17 17:35:10来源:www.linemore.com

Web服务器功能就是指一个Web服务器响运用户恳求的才能。为了提高Web服务器的功能人们进行了诸多测验,已经取得了可喜的效果。本文经过对前人研讨结果的剖析,提出了在详细运用环境中优化Web服务器的办法和策略。

  Web体系在现在网络中广泛运用,而Web服务器则是Web体系的一个重要组成部分。完好的Web结构应包含:HTTP协议,Web服务器,通用网关接口CGI、Web运用程序接口、Web阅读器。
  
  Web服务器是指驻留在因特网上某种类型计算机的程序。它是在网络中信息供给者基干HTTP的为完成信息发布、材料查询、数据处理等诸多运用搭建底子平台的服务器,其首要功能是供给网上信息阅读服务。当Web阅读器(客户端)连到服务器并恳求文件时,服务器将处理该恳求并将文件发送到该阅读器上,顺便的信息会通知阅读器如何查看该文件(即文件类型)。
  
  Web服务器在web页面处理中大致可分为三个过程:第一步,web阅读器向一个特定的服务器发出Web页面恳求;第二步,Web服务器接收到web页面恳求后,寻找所恳求的web页面,并将所恳求的Web页面传送给Web阅读器;第三步,Web服务器接收到所恳求的web页面,并将它显示出来。
  
  web服务器不只能够存储信息,还能在用户经过Web阅读器供给的信息的基础上运转脚本和程序。在Web上,常见的大多数表单核搜索引擎上都是用的是CGI脚本。
  
  影响web运用服务器功能的要素
  
  Web服务器的功能就是指一个Web服务器响运用户恳求的才能,服务器的功能关于一个Web体系来说至关重要。为了提高Web服务器的功能人们进行了许多测验,也选用了许多技能和办法,可是这些技能和办法往往缺少适用性。
  
  经过对前人的研讨剖析能够发现,在web服务器的优化方而存在这种问题的原因首要有两个:一方面是服务器功能评测形成的,一方面是选用优化计划时考虑不全面形成的。
  
  现行的服务器功能评测东西在对Web服务器进行评测时,其实是由一台或几台计算机模仿客户机,与被测的Web服务器进行通讯,它们其实组成的只是一个局域网的环境,这与真正的广域网的环境有一定的不同。
  
  另外,评测东西在挑选网络负载时,尽管已经尽可能的接近实在负载,可是与持续的高频率负载要求仍有距离;再者,在功能测验指标的挑选与剖析上也不行合理,形成了剖析结果不行公正、牢靠。而在选用优化Web服务器的办法时,往往只是考虑Web服务器这一个方面,很少结合详细的运用环境。所以就形成了评测结果不行科学,运用环境考虑不行全面,Web服务器功能优化缺少针对性。因而在详细的运用环境下优化Web服务器的功能需要另外考虑以下两个首要要素:网络特性和Web负载特色。
  
  网络特性是指web服务器地点网络状况,是广域网仍是局域网,是高速网络(传输速率在1OOMb/s以上的网络就叫做高速网络)仍是低速网络,在不同的网络中相关的传输数据的类型、网络相应时刻、吞吐量,运用率等网络特性不尽相同,所以要加以区分,详细状况详细剖析。
  
  而在Web负载特色方面,由于在对Web服务器进行评测时,一个十分关键的要素就是Web负载的挑选。评测东西尽管有多种,可是它们都在挑选负载上做足了功课。关于Web负载特色的研讨首要意图就在于对Web服务器功能进行评测时,能够依据这些特色,挑选模仿最实在的Web负载的评测东西以便获得最贴近事实的Web服务器功能评测数据,以便更好的对其进行剖析和得出优化计划。
  
  Web运用服务器优化办法
  
  在对Web服务器进行优化时要依据实在的Web运用体系的状况和特征来采取有针对性地优化计划。首要依据不同的网络特性来看:在局域网中,降低MTU(最大传输单位)值对能够避免仿制数据和求校验,而经过优化select体系调用或在Socket事情处理器中执行计算能够优化恳求并发办理,运用HTTP1.1持续衔接等都能够使体系功能得到相应的改善,但在广域网的环境下却没有什么大的效果,有的乃至恰恰相反。
  
  例如:减少用户衔接的MTU会增加服务器处理开支,选用网络推迟、带宽约束和运用HTTP1.1的持续衔接在广域网中不会对服务器功能有什么大的影响。在广域网中,终端用户的恳求的等待时刻依赖于与网络推迟的程度,衔接带宽约束状况。关于广域网,软硬中止在网络处理中占有很大的重量,所以选用习惯的中止处理机制将会给服务器的呼应才能带来很大的优点;将服务器定位在内核和将根据进程规划改为根据事务处理也能够不同程度的提高服务器的功能。
  
  关于Web负载,除了对Web负载的特征进行剖析以便在评测时更好地再现实在负载之外,还要考虑Web服务器地点的网络环境下负载的状况。人们不只要求服务器满意正常的作业负载要求,并且在顶峰时期仍然要保持较高的吞吐量。可是,服务器在高负载的状况下的功能表现往往低于人们的期望。
  
  服务器过载的状况分为两种:一种为瞬间过载,即服务器暂时的、短时刻的超载,这种状况首要是由服务器负载的特色引起的。大量的研讨表明,Web恳求的网络通讯量散布是自相似的,即Web恳求的通讯量能够在很大规模内有明显的改变。这就形成服务器常常短时刻的超载,但这样状况持续的时刻一般很短。一种是服务器长时刻的超载,这种状况一般是由某一特殊事情引起的,例如服务器受到拒绝服务进犯或许发生了“活锁”现象。
  
  第一种服务器超载状况是不可避免的,但第二种状况则能够经过对服务器改善来改善。抛开恶意的进犯不算,仔细剖析服务器处理信息包的过程能够发现,形成体系在超载状况下功能下降的底子原因是高优先级处理阶段对CPU的不公平抢占。
  
  因而,如果约束高优先级处理阶段对CPU的占用率,或许约束处理高优先级的CPU个数,都能够减轻或许消除收包活锁现象。详细的能够选用以下的办法:
  
  一、选用轮询机制

  为了减少中止对体系功能的影响,在负载正常的状况下选用“下半处理”的办法就十分有用,而在高负荷状况下,选用这个办法仍然会形成活锁现象,这时能够选用轮询机制。尽管这个办法在负载正常的状况下会形成资源的糟蹋和呼应速度降低,但在网络数据频繁到达服务器时就要比中止驱动技能有用的多。
  
  二、减少上下文切换

  这种办法不论服务器在什么状况下对功能改善都很有用,这时能够选用引进核心级(kerne1—leve1)或硬件级数据流的办法来到达这个意图。核心级数据流是将数据从源经过体系总线进行转发而不需要使数据经过运用程序进程,这个过程中由于数据在内存中,因而需要CPU操作数据。
  
  硬件级数据流则是将数据从源经过私有数据总线或是虽等DMA经过体系总线进行转发而不需要使数据经过运用程序进程,这个过程不需要CPU操作数据。这样在数据传输过程中不需要用户线程的介入,减少了数据被拷贝的次数,减少了上下文切换的开支。
  
  三、减低中止的频率

  这儿首要有两种办法:批中止和暂时封闭中止。批中止能够在超载时有用的按捺活锁现象,但对服务器的功能没有什么底子性的改善;当体系呈现接收活锁迹象时,能够选用暂时封闭中止的办法来平缓体系的负担,当体系缓存再次可用时能够再翻开中止,但这种办法在接收缓存不行大的状况下会形成数据包丢掉。
  
  Web服务器功能是整个Web体系的关键环节,提高Web服务器的功能也是长久以来人们一直重视的课题。这儿经过对Web服务器的作业原理和现有的优化办法和技能的剖析,得出了对待Web服务器功能的提高也应该详细问题详细剖析,要在详细的运用环境中,依据其特色来采取相应的优化办法。
 

 

上海IT外包服务网 链接:http://www.linemore.com

>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部