基于信息化领域热词展示平台性能分析

2020-06-08 09:48李静付天婧李瑞莲
锦绣·上旬刊 2020年3期
关键词:性能测试性能优化

李静 付天婧 李瑞莲

摘 要:网站性能是客观的指标,可以具体体现到时间、吞吐量等技术指标,同时也是主管感受,而感受则是一种与具体参与者相关的微妙的东西,用户的感受和工程师的感受不同,不同的用户感受也不同。

关键词:性能;性能测试;优化;热词分析

引言

性能是网站的一个重要指标,是网站架构设计的一个重要方面,又因为性能问题几乎无处不在,所以优化网站性能的手段也非常多,从用户浏览器到数据库,影响用户所有请求的所有环节都可以进行性能优化。下面我将结合最近的大数据作业--信息化领域热词分析网站的性能测试及优化方式。

1 网站性能测试

性能测试是性能优化的前提和基础,也是性能优化结果的检查和度量,不同视角下的网站性能有不同的标准,也有不同的优化手段。

1.1不同视角下的网站性能

1.1.1用户视角的网站性能

从用户角度,网站性能就是用户在浏览器上直观感受到网站响应速度是快还是慢,如图1.1

在实践中,使用一些前端架构优化时段,通过优化页面HTML样式、利用浏览器端的并发和异步特性、调整浏览器缓存策略、使用 CDN 服务、反向代理等手段,使浏览器尽快地显示用户感兴趣的内容、尽可能近地获取页面内容,即使不优化应用程序和架构,也可以很大程度地改善用戶视角下的网站性能。

1.1.2 开发人员视角的网站性能

开发人员关注的主要是应用程序本身及其相关子系统的性能,包括:

a)响应延迟 ———— 优化手段:使用缓存加速数据读取;

b)系统吞吐量 ———— 优化手段:使用集群提高吞吐能力;

c)并发处理能力 ———— 优化手段:使用异步消息加快请求响应以及实现削峰;

d)系统稳定性 ———— 优化手段:使用代码优化手段改善程序性能等技术指标。

1.1.3 运维人员视角的网站性能

运维人员更关注基础设施性能和资源利用率,如网络运营商的带宽能力、服务器硬件的配置、数据中心网络架构、服务器和网络带宽的资源利用率等。主要的优化手段有建设优化骨干网、使用高性价比定制服务器、利用虚拟化技术优化资源利用等。

1.2性能测试方法

性能测试是一个总体,具体可细分为性能测试、负载测试、压力测试以及稳定测试。在不同生成环境、不同时间的请求压力是不均匀的,呈波浪特性,因此为了更好地模拟生产环境,稳定性测试也应不均匀地对系统施加压力。一般来说,性能测试遵循如下图所示抛物线规律:

在开始阶段,随着并发请求数目的增加,系统使用较少的资源就达到较好的处理能力(a~b段),这一段是网站的日常运行区间,网站的绝大部分访问负载压力都集中在一段区间,被称作「性能测试」,测试目标是评估系统性能是否符合需求以及设计目标;随着压力的持续增加,系统处理能力增加变缓,直到达到一个最大值(c点),这是系统的最大负载点,这一段被称作「负载测试」。超过这个点后,再增加压力,系统的处理能力反而下降,而资源消耗却更多,直到资源消耗达到极限(d点),这个点可以看作是系统的崩溃点,超过这个点继续加大并发请求数目,系统不能再处理任何请求,这一段被称作「压力测试」,测试目标是评估可能导致系统崩溃的最大访问负载压力。与性能曲线相对应的是用户访问的等待时间(系统响应时间):

2 Web前端性能优化

一般说来,web前端指网站业务逻辑之前的部分,包括浏览器加载、网站视图模型、图片服务、CDN服务等,主要优化手段有浏览器访问、使用反向代理才、CDN等。

2.1 浏览器访问优化

a)减少http请求次数:CSS Sprites,JS、CSS源码压缩、图片大小控制合适;网页Gzip,CDN托管,data缓存,图片服务器。

b)前端模板 JS+数据,减少由于HTML标签导致的带宽浪费,前端用变量保存AJAX请求结果,每次操作本地变量,不用请求,减少请求次数,如下图以最简洁的方式呈现数据结果:

c)图片预加载,将样式表放在顶部,将脚本放在底部 加上时间戳。(时间戳(timestamp),通常是一个字符序列,唯一地标识某一刻的时间。数字时间戳技术是数字签名技术一种变种的应用。)

2.2 CDN加速

CDN(contentdistribute network,内容分发网络)的本质仍然是一个缓存,而且将数据缓存在离用户最近的地方,使用户以最快速度获取数据,即所谓网络访问第一跳,由于CDN部署在网络运营商的机房,这些运营商又是终端用户的网络服务提供商,因此用户请求路由的第一跳就到达了CDN服务器,当CDN中存在浏览器请求的资源时,从CDN直接返回给浏览器,最短路径返回响应,加快用户访问速度,减少数据中心负载压力。

2.3 反向代理

反向代理服务器位于网站机房一侧,代理网站web服务器接收http请求。论坛网站,把热门词条、帖子、博客缓存在反向代理服务器上加速用户访问速度,当这些动态内容有变化时,通过内部通知机制通知反向代理缓存失效,反向代理会重新加载最新的动态内容再次缓存起来。此外,反向代理也可以实现负载均衡的功能,而通过负载均衡构建的应用集群可以提高系统总体处理能力,进而改善网站高并发情况下的性能。

3 总结

在软件工程发展史的大部分时间,性能一直是促使系统架构发展的重要驱动力。同样,它也京城影响所有其他质量属性的实现。而优化原则不是绝对的,对于不同的场景应该考虑不同的侧重点,别人的解决方案对于你来说不一定是最优的,应该针对自己的网站规模和类型进行适度的优化,不能盲目追求标准和最佳实践.

参考文献

[1]软件架构实践 第二版 【美】巴斯,【美】克莱门茨,【美】凯兹曼。

[2]李智慧,大型网站技术架构_核心原理与案例分析。

猜你喜欢
性能测试性能优化
营商环境五方面持续优化
生与死的尊严(散文)
桌面端,GTX 1650并不是千元价位的显卡好选择
优化英语课堂教学策略的探索
促进学生认识发展 优化初中化学复习
Hadoop性能测试自动化研究
关于Java软件的性能测试分析