欢迎来到上海园丁鸟网络科技有限公司|企业网站建设企业建站企业官网建设企业官网
咨询热线:18017747315当前位置: 首页 > 新闻动态 >
联系我们
企业网站建设 建站咨询
电话咨询:18017747315
E-mail:2355555999@qq.com
QQ:2355555999

基于web服务器的网站性能优化研究

作者/整理:http://www.voez.net/ 来源:http://www.voez.net/ 日期:2018-06-06

随着网络技术和计算机技术的飞速发展,人们越来越多地利用网络来获取信息,而网站是最常用也是最为 广泛使用的工具.网站优化涉及到很多方面,衡量网站性能的指标也有很多,文章从用户体验的角度,对网站访问整体 过程进行分析,从web网站客户端和服务器端的角度进行研究和分析,并对这两个大方向上,有助于网站优化、提升网站性能的技术进行总结和阐述。
1.引言
中国互联网络信息中心(CNNIC) 2017年1月发布的 《中国互联网络发展状况统计报告》中数据表明:截至 2016年12月,我国网民规模达7. 31亿,互联网普及率为 53.2%。随着上网人数的剧增,网站访问量也增加,当 网站访问量增加时,要保证网站的处理效率,提升用户的 访问体验,这是一个巨大的挑战。
现实中网站访问过程:用户在浏览器中输入网址,通 过DNS域名解析得到目标服务器IP地址,然后向服务器 发送HTTP请求,服务器对请求数据进行处理,处理完成 将数据返回给客户端,客户端浏览器得到结果,最终以 HTML或JSP等数据格式显示给用户。本文从网站访问的 过程进行整体的分析,着重于客户端、服务器端的研宄并从这两个角度对提升网站性能的技术进行分析和论述。
2.客户靖优化
这里的客户端实际上指的是浏览器。在浏览器完成访问 网站的时间中,有80%的时间用于加载图像、样式表、脚本 等静态资源。浏览器的主要用于显示数据和雛HHP请求, 从这两个角度进行分析,研宄提升网站性能的技术和方法。
2.1减少HTTP请求
一个页面中包含多个种类和多个数量的组件,减少 Http请求次数就是减少对这些组件的加载请求。减少 HTTP请求次数常用以下方法:
(1)延迟加载和预加载
延迟加载指的是页面刚开始加载时只加载一部分,当 用户继续往后进行浏览时,才会加载后面的资源,这样可能会减少请求数量或延迟请求数量,有利于提高用户体验。 预加载指的是在网页全部加载之前,对一些重要内容提前 进行加载,减少加载时等待的时间。延迟加载可以使用定 时器、条件触发等方法来实现。
(2) Ajax请求优化
Ajax的优点是由于其从服务器传输信息的异步性而 为用户带来反馈的及时性,但随着网页Ajax应用的增 加,请求数量也不断增加,这样也会降低网站性能[a。对 Ajax进行优化,可以使用Ajax缓存。对Ajax请求进行缓 存,将请求地址和返回结果保存在缓存中,当进行下一次 Ajax请求时,直接从缓存中提取数据,从而减少系统的 响应时间。
2.2 JSP静态化
JSP技术主要用于动态网页,但每次的结果没有保存, 导致每次请求都需要进行编译等多次复杂的操作,这样使 得系统开销巨大。在访问JSP网页时,服务器会先把JSP 转换成Servlet对象,然后对Servlet进行处理,最终将 结果以HTML文件格式返回给浏览器。JSP静态化实际上就 是在Servlet处理之后到HTML页面响应之前这一过程中, 设置一个拦截器,将Servlet生成的HTML文件进行保存, 当下一次访问时,可以直接加载HTML文件,从而减少系统 操作时间。
3.服务器靖优化
当请求到达服务器后,服务器根据请求内容进行业务 逻辑处理,或调用方法,或访问数据库,或连接外部网站, 根据服务器业务处理中涉及到的两个重要部分web服务器 访问和数据库访问,提出以下优化方案。
3.1提高后台服务器性能
(1)负载均衡
负载均衡指的是对系统中的各个节点的负载进行监 控调整,使每个节点的负载趋于均衡。具体是指在系统 节点中部署硬件负载均衡设备或安装负载均衡软件,对 各个节点进行监控,并建立一套映射机制,可以将请求 分发到其他节点,从而使过载节点减少负担,实现负载 均衡。常见的负载均衡技术包含:NDS轮询、IP负载均 衡和CDN。
DNS轮询就是将同一个域名对应多个IP地址,一般 采用轮询算法进行调度,但实际上由于调度策略的问题, DNS轮询很难实现真正的均衡;IP均衡负载是通过内核 驱动更改IP的目的地址来完成数据负载均衡的,请求先 到达负载均衡服务器,之后将IP进行映射,并把请求内 容发送到新的IP地址对应的服务器上;CDN是利用各种 缓存服务器部署到用户访问集中的网络中,利用全局负 载技术将用户的访问指向距离最近的工作正常的缓存服 务器上,由缓存服务器直接响应用户请求负载均衡 在用户访问量比较大的情况下使用,才能保证成本和服 务器性能。
(2)多线程并发
多线程并发指的是使用多个线程其处理多个任务。一 个请求会产生一个Servlet, —个Servlet需要一个线程 来处理,使用多线程技术可以同时处理多个请求和任务, 这样可以节省时间,提高访问性能。多线程并发常采用线 程池技术。线程池会预先生成多个线程,当有任务到达就 会从中取出一个线程进行处理,而之前的线程在完成任务 后会回到线程池,准备下一次被调用。线程池技术能够减 少创建线程带来的时间开销,有利于提升系统性能。
3. 2数据库优化
数据库的访问效率是网站性能的重要体现。在数据库 访问优化中,要把握减少数据访问、返回更少数据、减少 交互次数、减少系统开销等原则。
(1)建立适当的索引
对适当的字段建立索引,从而提升数据库访问效率。 索引的种类有很多,组合索引、多重索引等等,通过这些 索引的整合使用将大大提髙数据库的访问效率。
(2)减少数据量
减少返回的数据量,可以减少服务器和数据库两者数 据传输的时间,这将有利于减少web服务器响应数据的时 间。常常是进行数据分页处理,减少每次传输数据,并且 只对需要的数据进行返回
(3)使用数据库连接池
数据库连接池在系统初始化过程中会创建多个数据库 连接,当有数据库访问请求到达时,不需要再进行数据库 驱动加载、连接等步骤,而是直接从数据库连接池进行调 用,这样减少数据库的访问时间,提高效率。
3.3缓存技术
缓存技术就是将访问过的内容进行记录保存,在下次 访问时可以直接从记录中调用数据,从而提高访问速度。 缓存技术分为操作系统磁盘缓存,数据库缓存,应用程序 缓存,web服务器缓存,客户端浏览器缓存。缓存技术 可以使用在网站访问的各个环节,根据网站的服务对象和 服务要求设置特定的方案,才能使缓存效果最好。
4.结语
网站的好坏与否,可以从不同的方向进行判断,但最 主要是通过提升用户体验来体现。文章主要是从网站建设 的角度,而对于搜索引擎优化方面的论述较少。通过综合 运用客户端、服务器端和中间连接的优化技术,网站的整 体性能得到更大的提高。并且随着大数据、人工智能等技 术的运用将使网站性能得到更大的提升。