基于节点缓存的Web服务器性能优化研究
胡霖
摘要:Web服务器一般指的是网站服务器,是指驻留在因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件。目前最主流的3个Web服务器是Nginx,Apache,IIs。随着科学技术的快速发展,人们能够利用网络快速获取信息,在网络上进行沟通,为了能够更好地为用户提供网络服务,提高网络系统的响应速度,减少网络中大量的冗余数据,文章对基于节点缓存的Web服务器性能优化进行了研究。
关键词:节点缓存;Web服务器;性能优化
Web服务器作为一种被动的程序,只有当Internet上运行其他计算机中的浏览器发出的请求时,服务器才会响应。现在比较常用的Web服务器有Apache和Microsoft的Internet信息服务器。Web服务器不仅可以存储信息,也能够将用户通过Web浏览器提供的信息作为基础运行脚本与程序。目前,网络用户数量增长迅速,人们对知识和信息的需求成为了社会的主要需求,然而网络的拥塞以及服务的超载等问题已经成为Web服务器发展中需要正视并解决的重要问题。
1 Web服务器概述
Web服务器是指驻留于因特网上某种类型计算机的程序,当Web浏览器连接到服务器上并请求文件时,服务器会处理该请求并将文件反馈到该浏览器上,附带的信息则会由高速浏览器查看该文件,在这一过程中,服务器使用HTTP与客户机浏览器进行信息交流。
Web服务器能够快速处理HTTP请求,当Web服务器接收到一个HTTP请求时,会返回一个HTTP响应,并且为了能够处理一个请求,Web服务器可以响应出一个图片或者是一个静态的页面,完成页面的跳转,也可以将动态响应委托给一些其他程序的ASP,JSP等脚本。架设Web服务器的常见操作系统有windows,Linux和unix。其中,LinHX的安全性能最高,并且可以支持多个硬件平台,具有强大的网络功能,是架设Web服务器较好的操作系统。
Web服务器主要的工作步骤有连接过程、请求过程、应答过程、关闭连接。其中的连接过程是将Web服务器和其他浏览器之间建立起来一种连接,如果要确定连接过程是否已经完成,可以找到并打开socket虚拟文件,socket文件的建立表明连接过程已经完成;请求过程是Web的浏览器通过soeket文件向其服务器提出各种要求的过程;应答过程就是通过HTTP协议把请求过程中所提出的请求传输到Web服务器,完成任务的处理后,再利用HTTP协议将任务处理的结构传输到Web的浏览器并展示出请求的界面;关闭连接是在应答过程完成后,Web服务器和其他浏览器之间断开连接的过程。
2 Web服务器性能优化的意义
伴随网络技术的发展,人们逐渐转变了传统的信息获取方式,不再满足于从电视、报纸、广播中获取单方面的信息,希望能够通过自己的主观意识获取知识。而网络能够向人们提供各种类型的信息,使人们能够及时、快捷地获取到最新的信息,满足了人们对信息获取的需要。由于网络用户和网络信息量的不断增加,使得网络服务器经常超载,网络出现拥塞,因此必须加强对基于节点缓存的Web服务器性能的优化,使Web服务器能够具有较高的实时性,减少Web服务器的响应时间,增加Web服务器的吞吐量,从而更好地提高Web服务器的性能,满足用户越来越高的网络需求。
3 Web服务器性能优化的方式
3.1 Web服务器性能分析
Web服务器的性能主要是指一个Web服务器响应用户请求的能力,如何提高Web服务器的性能在Web系统开发中是非常重要的问题。Web服务器的硬件配置和软件配置都会影响Web服务器的性能,其中Web服务器硬件包含了Web服务器的内存、网络适配器等,将Web服务器的硬件配置进行适当的调整,会改变Web服务器的整个系统性能。而Web服务器软件主要是指用于Web服务器上的各种程序,包含了服务器应用程序、Web服务器操作系统等。在不改变Web服务器的硬件配置的情况下,对Web服务器的软件配置参数进行调整也可以改变Web服务器的系统性。目前常见的Web服务器性能指标有并发用户数、并发连接数、事务处理次数、连接速率、服务器响应时间、页面响应时间等。
3.2 Web服务器性能优化的方式
基于节点缓存的Web服务器性能优化,可以建立多层缓存结构网络服务器模型进行系统化的分析。笔者就几个常用的Web服务器性能优化方式进行简要的分析。
3.2.1 优化数据服务层
由于在服务器端会存在大量的服务器要访问数据库,虽然可以在整个网络的服务器结构中增加服务器的数量,但是因为数据库的连接资源是有限的,并且即使在访问数据库时马上开关服务器,或者数据库与服务器之间一直保持连接状态没有操作,都会造成大量的数据库连接资源浪费,所以不可以让服务器直接访问数据库。通过详细的分析后,对Web服务器性能优化的较好方式是优化数据服务层,在数据服务层中增加节点缓存,通过对操作过的数据结果进行节点缓存后并作上标记,使今后的相同数据查询可以直接从节点缓存中获得,这样不仅能够有效提高数据处理的效率,同时也减少了数据库运行的压力。
3.2.2 优化均衡调度层
目前网络通信数据种类繁多,而不同数据处理的方式和要求以及服务器处理的逻辑都各不相同,使得负载均衡策略中的散列法、加权轮转法、最少连接法等计算方式存在着不精准性。利用以内容识别为基础的负载均衡算法能够有效提高用户数据处理的效率,优化Web服务器的性能,但是这种方式不能确保对同一用户的数据进行串行处理并且非常浪费硬件资源,因此可以选择以用户请求类型为多参数基础的负载均衡调度算法,结合用户请求数据类型的实际情况进行数据的处理,通过对逻辑处理服务器相关数据的分析,采用相应的节点缓存方式,从而更好地对用户数据进行串行处理并降低硬件资源的浪费。
3.2.3 优化使用网络宽带
在优化使用网络宽带时应尽可能地减少协议包头的开销,同时需要综合有效数据占总传输数据的比例,但是网络宽带的利用率一般较低,并且为了更好地实现数据的时效性,数据通常还没有到达阀值就会被发送,因此可以利用节点缓存延时的方式优化使用网络宽带,对于非实时的数据可以保证在一定的范围内将累积到一定程度的数据发送,从而提高网络宽带的使用率并且降低协议包头的开销。
3.2.4 处理服务器超载现象
基于节点缓存对于Web服务器进行优化时,需要根据Web应用系统的实际情况和特点选择适当的优化方案,可以在局域网中降低最大传输单位值,避免复制数据和求校验,利用不断优化select系统的调用或者是在对Socket事件处理器中执行计算优化请求并发管理。例如:在广域网中采用软硬中断的方式对网络进行处理,通过适当的中断处理方式可以提高Web服务器的响应能力,将Web服务器定位于内核并将基于进程的设计调整为基于事务的处理,有利于提高Web服务器的性能。
若Web服务器长时间处于超载的状态,会极大地影响Web服务器的性能,使其无法保证较高的吞吐量。对于这种情况,可以详细分析服务器处理信息包的过程,解决高优先级处理阶段对CPU的不公平抢占等问题。在操作中可以使用几种方式:第一,对于高负荷情况可以采用降低中断频率的方式,一般可以选择暂时关闭中断或者批中断的方式,其中暂时关闭中断可以有效地降低Web服务器系统的负担,但是会在缓存接收的数据不够大的情况下出现数据包的丢失。第二,可以采用减少上下文的切换方式,这种方式可以引入核心级或者硬件级数据流,使得服务器处于任何情况下都能够改善其性能。第三,为了减少由于中断问题对Web服务器系统造成的性能影响,可以使用采用轮询机制,这种方式比中断驱动技术更有效,但是在负载正常情况下可能导致资源的浪费和Web服务器响应速度降低。
4 结语
Web服务器是指驻留于因特网上某种类型计算机的程序,当Web浏览器连接到服务器上并请求文件时,服务器会处理该请求并将文件反馈到该浏览器上,附带的信息则会由高速浏览器查看该文件。基于节点缓存的Web服务器性能优化可以通过优化数据服务层的方式,在数据服务层中增加节点缓存,提高数据处理的效率,降低数据库运行的压力。通过优化均衡调度层的方式,结合用户请求数据类型的实际情况进行数据的处理,从而更好地实现对用户数据进行串行的处理,降低硬件资源的浪费。还可以利用优化使用网络宽带的方式,更好地实现数据的时效性。通过不断地对Web服务器性能的优化,能够有效地提高Web服务器的响应速度,增加Web服务器的吞吐量,满足用户对Web服务器使用的需求。