网站响应速度影响因素浅析

下面结合传统行业应用网站和大家探讨下加快网站速度的方法。

    首先,必须明确从浏览器地址栏中输入网站的URL地址,到页面完全展现的全过程,从使用者的角度通过IE9的开发人员工具(如下图)可以清晰地了解整个过程。

    130958_7F7B_1245084.jpg

    页面完全加载完成可能需要多次与服务器进行通信,每一个脚本文件、样式文件或图片都需要单独请求,HTML不需要编译,在加载过程中浏览器按顺序从头到尾边解析边执行,当浏览器解析到需要一个脚本文件或显示一个图片时,会再次向服务器发起请求获取资源。

    接下来我们分析整个请求过程,用户通过浏览器发起请求并通过网络获取响应HTML内容,由浏览器解析展现,在此过程中影响速度的因素我大致分为三类:

    1、用户自身环境,如果不是程序有硬伤,以目前的硬件资源是没有问题的,以期提高用户机器配置来提高速度是不现实的,所以忽略此因素;

    2、用户网络环境,如需通过多级代理后方可到达请求、网络带宽低等,对于文字性内容占主导的传统行业页面,单个网页传输内容并不大,通过设置允许代理服务器缓存和压缩减少网络传输的方法带来的优化也较为有限,在编码时采用DIV+CSS模式替代table可有效减少页面体积,但是对于不熟悉样式的人员要考虑兼容主流浏览器,在布局上不可能花费过多的精力,单一的追求DIV+CSS模式也不现实;

    3、服务器响应时间,从服务器接收到请求到完成请求处理,此过程耗时较多,系统一旦部署硬件资源也较难协调,对于使用MVC模式,在模型层已经收集页面展现的全部数据,展现层拼装HTML可优化的也比较有限,绝大部分时间消耗在与数据库交互和后台数据算法处理。

    通过过程分析,结合XXX首页特点,对数据实时性要求不高、可以适当延迟更新,我们采用了缓存方法,定时从数据库读取最新数据更新缓存,更新时间间隔可配置,展现层直接从缓存获取数据组装HTML,从原来的三层结构(用户->应用服务器->数据库服务器)到两层结构(用户->应用服务器),在这个“2”的过程中提高了访问速度。

    如果“2”的过程仍无法满足速度需求,服务器一旦接收到请求,就什么也不做直接从内存返回已经组装好的HTML,已习惯于采用动态JSP技术实现的业务管理系统,采用静态HTML技术成本太高。

转载于:https://my.oschina.net/h2do/blog/268148

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值