1、不同视角下的网站性能
1)用户视角的网站性能:
使用前端架构优化手段:优化页面HTML样式、利用浏览器端的并发和异步特性、调整浏览器缓存策略、使用CDN服务、反向代理。
2)开发人员视角的网站性能: 关注应用程序本身:响应延迟、系统吞吐量、并发处理能力、系统稳定性 优化手段:使用缓存加速数据读取,使用集群提高吞吐能力,使用异步消息加快请求响应和削峰,优化代码改善性能。
3)运维人员视角的网站性能: 关注基础设施性能、资源利用率:带宽、服务器硬件配置、数据中心网络架构、服务器和网络带宽的资源利用率。 优化手段:优化骨干网、使用高性价比定制服务器、利用虚拟化技术优化资源利用。
2、性能测试指标
开发测试角度的网站性能测试指标:
1)响应时间:请求发出到收到响应的时间。测试方法:重复请求求得,比如请求10000次,测试总时间处以10000
2)并发数:同时提交请求的用户数。产品经理需要规划不同发展阶段系统用户数,推算在线用户数和并发用户数,成为非功能设计的重要依据。测试方法:启动多线程模拟用户发送请求,两次请求之间加入随机等待时间(思考时间)
3)吞吐量:单位时间内系统处理的请求数量。TPS(每秒事务数)、HPS(每秒HTTP请求数)、QPS(每秒查询数) 并发数逐渐增大过程中,吞吐量先增加、到达极限后即下降,达到系统崩溃点后系统资源耗尽。响应时间先小幅上升,吞吐量极限后,快速上升,最后失去响应。
4)性能计数器:操作系统性能的数据指标,也是系统监控重要参数,包括:System Load(负载:正在被CPU执行和等待执行的进程总数,反应系统闲忙程度,理想值时CPU数目)、对象与线程数、内存使用、CPU使用、磁盘与网络I/O。
3、性能测试方法
1、性能测试:以设计初期指标为目标,验证能否达到预期指标
2、负载测试:不断增加并发请求增加系统压力,直到某项性能指标达到安全临界值
3、压力测试:超过安全负载情况下继续施压,知道系统崩溃,获得最大承受能力
4、稳定性测试:不均匀的加载业务压力,长时间运行,检测稳定性