站点访问慢?希望这份 Web 服务器性能提升对你有所帮助

一、优化思路浅析

       首先Web 服务器的性能进行优化。我们可以先来分析看看Web服务器在 web 页面处理上的步骤。Web 浏览器向一个具有特定的服务器系统发出Web页面数据请求。当Web服务器接收到web页面用户请求后,寻找所请求的web页面,并将所请求的Web页面传送给Web浏览器。紧接着Web浏览器接收到所请求的web页面设计内容,并将它作为显示结果出来。

       我们知道有一个静态网页内容,也是动态的。静态内容:Web服务器,直接将结果发送回浏览器,动态内容,经常需要首先处理与应用服务器,结果由应用服务器返回。当然,也有Web服务器本身能够处理动态内容,如IIS可以处理他们自己的解释ASP,ASP,NET两个微软的动态网页脚本语言。

       从上面的简要分析中,我们可以粗略地得出结论,有几个因素影响网页访问:

       1,Web服务器从盘读取速度,也就是时间的静态页面内容。

       2、Web 服务器进行判定请求内容是静态还是发展动态研究内容的时间。

       3,Web服务器将请求转发到当时的应用程序服务器。

       4、应用系统服务器进行处理(解释)动态研究内容所需的时间。

       5,Web服务器返回网页内容到浏览器的响应时间。

       6、Web 服务器进行接收数据来自浏览器请求的处理技术性能。

       如图7所示,在网络上的Web访问请求数据传输时间包括:从所述浏览器到服务器,从服务器到浏览器,并且所述两个部分。

       8、浏览器进行本地数据计算和渲染 Web 内容的时间,即接收信息内容后展现教学内容的时间。

       上面很容易理解,但也直接,但也有相关的下列项目因素也是网页访问速度的体验,你可以考虑一下是否应该是这样,该参数是变化是否会影响页面的性能观点。

       Web 服务器进行执行国家安全管理策略检查的时间,或者说性能。

       Web 服务器读取日志文件,写入日志内容,并关闭对日志文件的访问的时间,先读取,再写入,然后关闭。 这两个步骤中的读写操作涉及磁盘访问性能因素;

       同时连接到 web 服务器会话的客户端数量,即并发访问的数量。

       我们可以抽象出上面共有十个因素,那就是:

       1、Web 服务器进行磁盘性能,服务器与应用程序服务器信息交互的性能。

       2,动态内容,动态内容或应用程序的处理性能的应用程序服务器的性能。

       3、客户端与 Web 服务器的连接中国速度,即网络信息传输系统性能。

        4. Web浏览器来解释和呈现Web内容的性能。

       网络访问的并发性能,反映在我们的性能优化,可以从这个角度开始。

       6,增加带宽,包括互联网连接带宽,以加快的动态内容的处理性能的服务器和客户端。

       尽可能多地使用一个静态工作内容,这样 Web 服务器就可以无需请求数据应用系统服务器,直接将 Web 内容发给浏览器端,这里不仅可以分析入手的方案设计又有:

       如图1所示,动态内容缓存,动态内容静态的,负载均衡多个服务器同时处理大量的并发访问。

       2、提升企业服务器磁盘访问控制性能,也即通常我们所说的 I/O 性能。

       3、减少企业网页中的HTTP请求数,更换一个更好进行性能的Web服务器;

       合理地部署服务器,并将它们部署到更接近客户机的地方,已被证明可以显著地改善访问性能。

       二、性能优化实践

       经过上一节的简要分析,我相信你有用于优化Web服务器的一些想法,你可以从硬件层面的优化,软件层面去,网页代码是三个层次。下面我们就结合回归到实践,本文例举的具体例子,是一个小网站,基于数据的假设的一部分,如果相似,纯属巧合,因为只有启动的目的。在实践中,如果遇到一个大型的网站,你可以参考这里的分析,修改优化。

       1、Web 服务器性能不断优化发展需求

       网站现在国外部署服务器,虚拟主机租赁来操作,因为访问量比较大,所以经常会收到很多的网络托管服务提供商的通知交通的流量需求得到控制。

       另外,虚拟主机的服务器在美国,没有在国内企业租用虚拟主机的原因是中国国内网站在备案管理方面具有非常复杂繁琐,在网站一开始运营时数据量和访问量都比较小,所以对性能发展要求水平不高,数据量小,所以通过服务器在查询信息处理相关数据时速度比较快,也让人感觉访问控制速度不慢,现在我们随着数据量和访问量的不断提高上升,访问速度已明显下降,到了自己需要得到改善访问技术性能的时候了。

        基于社区网站的现状,提出的优化要求是国内访问速度需要翻倍,目前首页加载时间需要40秒左右,要优化首页加载20秒内完成。

       此外,网站的数据可以每天自动备份一次,备份数据保留一个月,以便随时恢复。

       上述两个要求,其中第一个是优化性能的要求,第二个是附加要求。

       2、性能优化方案

       根据其网站的现状和优化发展需求,结合学生自己的经验,加上谷歌的搜索,同时与网站主不断进行确认沟通,最终可以得到满足以下性能优化设计方案:

       (1)由所述虚拟主机进行更改部署独立服务器部署

       虚拟主机受限比较多,无法通过自己进行自定义配置 Web 服务器,无法有效配置 PHP 动态数据缓存,而且学生独立服务器我们可以独享内存、处理器技术资源,不再受虚拟主机商对每个虚拟主机用户的内存和处理器资源管理占用时间限制。处理器资源和内存资源,对接受学习更多并发访问有直接影响性能不断提升教学效果。

       (2)从Windows操作系统改为Linux操作系统

       网站使用 php mysql,php 在 windows 下的性能,限制在 iis 需要通过 isapi 表单称为 php,所以性能比 linux 下的 apache,php 直接解释从 php 模块,比 nginx 和 php-fpm 的性能,自从使用独立的服务器,操作系统,确定自己的,linux 系统我们选择了熟悉的 ubuntu linux 服务器10.04。

       (3)使用Nginx的Web服务器,而无需使用的Apache

       选用 Nginx 而不用Apache的原因也是非常具有直接和干脆,因为一个站点里有很多企业静态的附件数据文件,在处理系统静态工作内容上,Nginx性能是Apache的差不多10倍。在PHP解释和伪静态管理规则教育方面,Apache要比Nginx强,但这不重要影响分析我们可以放弃它,为缓解这一点,我们需要在后面对 PHP 进行了研究动态进行缓存。

       (4)动态PHP查询缓存,使用eAccelerator在加速器

       PHP加速器是一个企业为了能够提高PHP执行工作效率,从而进行缓存起PHP的操作码,这样PHP后面通过执行就不用解析转换了,可以选择直接决定调用PHP操作码,这样速度上就提高了我国不少。eAccelerator是一个具有开源PHP加速器,优化和动态研究内容以及缓存,提高了PHP脚本的缓存技术性能,使得PHP脚本在编译的状态下,对服务器的开销几乎没有完全无法消除。它还有对脚本起优化管理作用,以加快其执行教学效率。使得的PHP程序设计代码执效率能提高1-10倍,这个社会加速发展还是一种非常重要明显的。

        具体来说,我们计划通过以下方式优化e加速器:

       缓存是使用物理内存而不是磁盘来完成的。 我们知道内存的读写性能是硬盘的 n 倍,因此强烈建议在内存资源可用时使用 ecelerator 来保存缓存内容。

       缓存大小设置为32MB,这个值是默认的操作系统支持最大高速缓存大小。虽然该值可以增加修改配置文件,但是我们觉得没必要,所以我放弃了。

       1、Nginx性能进行优化

       选择Nginx的,虽然这是一个非常不错的表现,但我们仍需要优化其性能,在这种情况下,我们做了如下优化:使用8的过程,这需要大约20M内存消耗,这里一共有约150M内存使用。

       充分考虑使用主服务器的CPU内核:四核,使用CPU粘性进行配置问题选项(worker_cpu_affinity),每核处理器资源分配管理两个发展进程。

        打开gzip压缩功能:gzip压缩对JS,CSS,XML压缩非常好,可以压缩一半,即减少两倍的传输时间,对于图片文件,JPG已经被压缩,其压缩性能较少。

       图片本地缓存第一天:很多网站上的图像,通常在上传照片后,不要频繁修改,经常只能访问,所以在Nginx的缓存图片可以减少服务器的访问负载的数量,提高访问速度。

       JS、CSS文件进行本地缓存7天,但这两种网页技术文件,平时我们都不会去修改它,将它缓存起来,可以通过减少加载次数,提升学生访问中国速度。为什么这两种文件不和图片一起学习设置一个缓存有效期,是考虑了不同国家文件的修改工作频率不一样。

       Nginx的日志切每天一次:此产品的优化可以大大减少日志文件Nginx的大小,观看,每天的日志文件的一个星期后,大约是50M,如果不是每天切,切个月,那个月是几日志文件G,Web服务器负载存储如此大的文件时,系统本身没有足够的内存,它自然会被用于高速缓存磁盘,这会影响性能。 50M左右每天,可以成功地加载到内存中,因此与Nginx的访问打交道时,你可以快速保存访问日志。

       经过分析上述几个方面优化企业项目,Nginx这边一共需要资金占用200M左右内存资源。

       优化PHPCGI流程性能

       Nginx 没有 php 模块,所以它通过 php-fpm 支持 php。 Php-fpm 是一个处理并发请求的运行进程。 在这个例子中,我们配置了20个进程,每个进程占用大约20mb 的内存,大约400米。

       同时,PHP-FPM和Nginx的互动机制,Linux的插座模式,而不是TCP协议端口的选择,袜子是一个系统级的处理模式,袜子是一个文件连接,TCP协议端口,需要经过网络协议处理性能优于前者,所以我们选择了前者。

       MySQL数据库系统性能进行优化

       主程序是别人的选择,因为该网站是由开放源代码开发的,所以数据库查询优化程序,我们无法处理,才发现从MySQL本身就是一个突破。

       我们教师可以通过想像一下,对于经济论坛系统网站,通常看贴、查贴的访问量要远大于企业创建一个贴子、回复贴子的访问量,体现在MySQL数据库上,就是读表与查询表数据的连接方式处理提供更多。

        因此,我们必须选择一个更好的存储引擎来读取表,查询性能,结合以前的知识,MySQL默认的My ISAM引擎被设计成适合处理读取频率远大于写入频率,查询效率相当大,内存占用很小的环境,这也与我们租用低内存配置的VPS一致。

       特定于 mysql 配置参数的优化,由于服务器本身内存资源有限,我们直接使用默认的中型环境配置文件。

       内容分发网络应用

       访问成千上万的每天的网站,成千上万的独立IP访问,查看以前的访问统计,使用各种网络访问连接的全国各地,访问进来,以确保每一个网络用户的访问速度,还能减少服务器的请求,我们使用CDN分发静态内容,使周围最近的用户可以访问的CDN缓存的文件,商务部CDN服务商会缓存在服务器上全国各地的静态内容首次访问时间,当第二时参观,实际的用户没有连接到Web服务器获取文件,而是直接从CDN服务器,网站性能可以显著改善。

文章来源:http://www.rakbuluo.com/b4/

原文链接:,转发请注明来源!

发表评论