一:不同视角下的网站性能
1、用户视角的网站性能
从用户角度,网站性能就是用户在浏览器上直观感受到的网站响应速度快还是慢。用户感受到的时间,包括用户计算机和网站服务器通信的时间、网站服务器处理的时间、用户计算机浏览器构造请求解析响应的时间
2、开发人员视角的网站性能
开发人员关注的只要是应用程序本身及相关子系统的性能,包括响应延迟、系统吞吐量、并发处理能力、系统稳定性等技术指标。主要优化手段有使用缓存加速数据读取,使用集群提高吞吐量、使用异步消息加快请求响应及实现削峰、使用代码优化改善程序性能。
3、运维人员视角的网站性能
运维人员更关注基础设施性能和资源利用率,如网络运营商的带宽能力、服务器硬件的配置、数据中心网络架构、服务器和网络带宽的资源利用率等。主要优化手段有建设优化骨干网、使用高性价比定制服务器、利用虚拟化技术优化资源利用等。
二:性能测试指标
1、响应时间
指应用执行一个操作需要的时间,包括凑够发出请求开始到收到最后响应数据所需要的时间。
2、并发数
系统能够同时处理请求的数目,这个数字反映了系统的负载特性
3、吞吐量
指单位时间内系统处理的请求数量,体现系统的整体处理能力。对于网站,可以用"请求数/秒"、"页面数/秒"来衡量。TPS(每秒事务数),HPS(每秒HTTP请求数),QPS(每秒查询数)
系统吞吐量和系统并发数,以及系统响应时间的关系可以形象地理解为高速公路的通行状况:吞吐量是每天通过收费站的车辆数,并发数是高速公路上正在行驶的车辆数,响应时间是车速。车辆很少时,车速很快,但是收到的高速费也相应较少;随着高速公路上车辆数目增加,车速略受影响,但是收到的费用增加很快;随着车辆的继续增加,车速变得越来越慢,高速公路越来越堵,收费不增反降;如果车流量继续增加,超过某个极限后,任何偶然因素都会导致高速全部瘫痪,车走不动,费当然也收不着,而高速公路成了停车场(资源耗尽),服务不提供服务(不响应)。
4、性能计数器
是描述服务器或操作系统性能的一些数据指标。包括System Load、对象和线程数、内存使用、CPU使用、磁盘与网络IO等指标。这些也是系统监控的重要参数,对这些指标设置报警阀值,当监控系统发现性能计数器超过阀值时,就向运维和开发人员报警,及时发现处理系统异常。
三:性能优化策略
1、Web前端性能优化
1.1、浏览器访问优化
a).减少HTTP请求 b).使用浏览器缓存 c).启用GZIP压缩 d).css放在页面的最上面,JS放在页面的最下方 e).减少Cookie数据传输
1.2、CDN加速
1.3、反向代理
2、应用服务器性能优化
2.1、多线程并发(性能)
2.2、数据结构
2.3、资源重用(线程池、连接池、单例)
2.4、存储性能优化