一些web性能问题的思考解决方法。

【一些web性能问题的原因】
  • 浏览器端
    • 计算机是否联网了——网络设置
    • 浏览器程序是不是允许接入网络了——网络设置
    • 站点请求被拒绝?——web服务器关了
    • 当前运行程序是否太多,资源竞争大?
    • 内存足够嘛?——内存不足就用虚拟内存了。加大你的内存。
    • 浏览器缓存足够大嘛?——可以设置缓存大小。
    • CPU够不够快速?
    • 网络带宽呢?——
    • 网站是不是各种图片 CSS JS 加载太慢
  • 服务器端
    • 服务器宕机没?——嘿嘿嘿:)
    • 你再去看看服务器宕机没? ——哈哈哈
    • 服务器是否休眠未启动
    • 网卡网线松了没 老鼠咬断没?
    • DNS服务器负载过大,超载?
    • 反向代理问题?
    • 服务器网络连接是不是超载?有没有集群服务器,负载均衡呢?
    • CPU和内存性能够不够用?
    • 磁盘IO呢,太慢?
    • 服务器被别的进程抢夺资源?---服务器上不要干别的任务。
    • 缓存和缓存命中率啥的呢?
    • 数据库连接池太小?
    • 数据库连接池是否泄露?
    • 涉及到性能的BUG呢?——有的bug会导致服务器出现奇奇怪怪的问题
    • 交换机 路由器超载?配置错误
    • 在网络中转发的的次数太多?
    • 服务器离的用户太远?——网络岔路口太多,中间的路由器转发太浪费时间。
    • 被运营商限制了你的带宽大小?——
    • 页面动态化内容太多  页面组件太多 HTTP请求太多?

【一些提高性能关键的想法】
  • 增加带宽,也就是传输速度加大
  • 减少页面http请求,因为每个组件都是http,http又是无连接的,所以每个都需要连接下载。很麻烦
    • 1.减少组件啊,但是页面内容就不丰富了
    • 2.把多个图片合并为一个文件。少连接。
    • 3.合并css或js
    • 4.充分利用浏览器缓存。
    • 5.CDN分发
  • 加快服务器脚本计算速度
    • 服务器端脚本语言 ruby python……来编写动态内容或者小程序
  • 动态内容 缓存
    • 把重复的重要的计算出来放到缓存里。下次请求来之后判断是不是该缓存,是否过期,然后直接返回。不需要重复计算。
  • 动态内容静态化
    • 就是变成静态的。直接暴露。
  • 共用数据 缓存
  • 服务器软件——该怎么选择合适自己服务器的软件。
  • 页面组件分割——页面里的组件分成小的粒度然后专用服务器支持专门的组件,比如小图片服务器,文件服务器……。然后集群负载均衡
  • 合理部署服务器——就是网络,包括服务器离用户的位置越近越好啊,运营商给的带宽越大越好。路线少过交换节点。
  • 负载均衡:集群和负载均衡——当然也可以换更好的服务器
  • 优化数据库:
  • 可拓展性:
【用户角度看性能】
     1.用户提交一个网页的地址请求,浏览器获得用户访问地址的意图,
     2.然后浏览器向站点服务器请求所有的页面内容。包括:页面里的许多组件 大量图片 css样式  js脚本 等等。每个组件都是一个http请求。http请求是无连接的,每次请求都要重新连接
     3.等待服务器响应然后把所有的请求结果返回。
     4.经过浏览器本地计算和渲染。然后完整的页面才可以展示出来

虽然这个过程时间有时候很短,但是有时候很长好几秒啊。
等待时间用在哪?
  • 数据在网络上来回传输的时间——响应时间,主要和发送的数据量和网络带宽有关系。
  • 服务器响应请求然后处理计算得到返回的数据的时间——吞吐率:每秒处理的请求数量 ,跟CPU 网络IO 很多有关系
  • 浏览器本地计算和渲染的时间——跟浏览器有关系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值