Web项目性能优化之减少HTTP请求次数优化

作为项目经理的我,在近两个月内,时常被客户抱怨,我们的Web程序性能太差,经常宕机,即使服务器的配置再好,在业务请求量大的情况下也比较容易出现系统繁忙,线程堵塞,最后Web容器的HTTP线程池被慢慢耗尽而出现宕机问题,无法对外提供服务。

         于是在多方压力下,与同事连续苦战,顶着压力,发现一些严重影响Web系统性能的问题:前台频繁与后台交互数据,且交互的数据约为500KB的数据,客户端与服务端来回传输的数据接近1M。

         频繁的请求服务器,会造成页面响应缓慢,数据加载缓慢的问题,若果并发量大的时候,很容易造成系统瘫痪。

         对于SSH项目而言,在很多情况下,大多数的服务都是提供查询数据信息服务和信息展现服务,涉及的数据修改服务则会相对少很多。而对于查询服务而言,若能减少前台客户端和后端服务器数据交互的次数,则对整个Web系统是很大的性能提升。

1、从网络方面而言,减少数据的交互就意味着减少了网络带宽的压力,能够提供更大并发量的服务,减少网络传输的时间。

2、由于减少了请求次数,服务器的资源开销得到有效减少,后台服务器不用频繁的创建线程来处理外部的请求,由于操作系统创建和销毁线程的操作是非常消耗系统CPU等资源,因此减少请求次数也就大大减少了系统开销。

 

解决优化办法:

在一次查询中,首次请求后台时,后台一次性将所需要的信息全部返回,前台进行缓存,后续所有的操作均解析前台缓存数据,从中取出页面操作所需要的信息然后再进行展现,有效减少请求后台服务器的次数。相对于程序和网络延迟来说,网络传输所耗费的时间,要比解析数据要慢的多,即使返回的数据量大,也不会比网络延迟的影响更大。

具体缓存的策略,可以是一个数组对象,一个列表对象,或一个HashMap对象等,也可以是JSON数据,或XML内容。总之,只要有利于缓存的数据结构,都可以用于数据的缓存。

此种方法,对比较大的数据来说,非常有效,能有效缓解服务器的压力和网络压力,提高系统的整体性能。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值