嘿,笔者的个人博客已经孵化完成啦?,欢迎大家来逛逛。以后的文章也会在博客进行首发,快来关注我吧,我们继续一起探讨技术一同进步~
本文主要是笔者对《大型网站技术架构》一书的总结归纳。主要通过两种方式展现,一是通过「思维导图」的形式输出;另一种,就是本文以图文的形式更加详细和展开的描述‘大型网站技术架构’的方方面面。
性能测试是性能优化的前提和基础, 也是性能优化结果的检查和度量标准。
用户视角的网站性能 在实践中,使用一些前端架构优化时段,通过优化页面 HTML 样式、利用浏览器端的并发和异步特性、调整浏览器缓存策略、使用 CDN 服务、反向代理等手段,使浏览器尽快地显示用户感兴趣的内容、尽可能近地获取页面内容,即使不优化应用程序和架构,也可以很大程度地改善用户视角下的网站性能。
从开发和测试人员的视角,网站性能测试的主要指标有: a)响应时间; b)并发数; c)吞吐量; d)性能计数器; 等。
性能测试是一个总体,具体可细分为: ① 性能测试 ② 负载测试 ③ 压力测试 ④ 稳定性测试 在不同生成环境、不同时间的请求压力是不均匀的,呈波浪特性,因此为了更好地模拟生产环境,稳定性测试也应不均匀地对系统施加压力。
一般来说,性能测试遵循如图4.3所示的抛物线规律
性能测试曲线
在开始阶段,随着并发请求数目的增加,系统使用较少的资源就达到较好的处理能力(a~b段),这一段是网站的日常运行区间,网站的绝大部分访问负载压力都集中在一段区间,被称作「性能测试」,测试目标是评估系统性能是否符合需求以及设计目标; 随着压力的持续增加,系统处理能力增加变缓,直到达到一个最大值(c点),这是系统的最大负载点,这一段被称作「负载测试」。测试目标是评估当系统因为突发事件超出日常访问压力的情况下,保证系统正常运行情况下能够承受的最大访问负载压力; 超过这个点后,再增加压力,系统的处理能力反而下降,而资源消耗却更多,直到资源消耗达到极限(d点),这个点可以看作是系统的崩溃点,超过这个点继续加大并发请求数目,系统不能再处理任何请求,这一段被称作「压力测试」,测试目标是评估可能导致系统崩溃的最大访问负载压力。
与性能曲线相对应的是用户访问的等待时间(系统响应时间):
并发用户访问响应时间曲线
测试结果报告应该能够反映上述性能测试曲线的规律,阅读者可以得到系统性能是否满足设计目标和业务需求、系统最大负载能力、系统最大压力承受能力等重要信息。
性能测试结果报告:
性能测试结果报告