网站的性能

用户头像
stars
关注
发布于: 2020 年 07 月 22 日
网站的性能

对于网站来说,除了当前系统的功能需求外,我们还需要关注性能、可用性、伸缩性、扩展性和安全性。在架构设计中,我们需要平衡这5个要素以实现需求和架构目标,也可以通过考虑这些要素来衡量一个软件架构设计的优劣,判断是否满足了期望。

今天我们先来谈谈性能。性能是网站的一个重要指标,用户无法忍受一个响应缓慢的网站,除非没得选。一个打开缓慢的网站会导致严重的用户流失。网站的性能是客观指标,同时也是主观感受,用户的感受和工程师的感受不同,不同的用户感受也不同。

1、不同视角下的网站性能

用户角度下,网站的性能就是用户在浏览器上直观感受的网站响应速度快还是慢。而用户感受的时间,包括用户计算机和网络服务器通信的时间、服务器的响应处理时间、用户浏览器构造请求解析响应的时间。不同的计算机性能的差异,不同浏览器解析html速度的差异,不同网络运营商提供的互联网服务的差异,都会影响用户的主观感受。

开发人员关注的主要是应用程序本身及其子系统的性能,包括响应延迟、吞吐量、并发处理能力、系统稳定性等技术指标。

运维人员更关注基础设施性能和资源利用率,如网络运营商的宽度能力,服务器的硬件配置等。

2、性能测试指标

  • 响应时间:执行一个操作需要的时间,包括从发出请求开始到收到最后响应数据所需要的时间。

  • 并发数:系统能同时处理请求的数目,这个数字反映了系统的负载特性。

  • 吞吐量:指单位时间内系统的请求数量,体现系统的整体处理能力。

  • 性能计数器:描述服务器或操作系统性能的一些数据指标。包括System Load、对象与线程数、内存使用、cpu使用、磁盘与网络I/O等指标。

3、性能测试方法

性能测试是一个总称,具体可细分成为性能测试、负载测试、压力测试、稳定性测试。

  • 性能测试:以系统设计初期规划的性能指标为预期目标,对系统不断施加压力,验证系统在资源可接受范围内,是否达到性能预期。

  • 负载测试:对系统不断增加并发请求一增加系统压力,直到系统的某项或多项性能指标达到安全临界值,如某种资源已经呈饱和状态,这是对系统施加压力,系统的处理能力不但不能提高,反而会下降。

  • 压力测试:超过安全负载的情况下,对系统继续施加压力,直到系统崩溃或不能再处理任何请求,以此获得系统最大压力。

  • 稳定性测试:被测试系统在特定的硬件、软件、网络环境下,给系统加载一定业务压力,使系统运行一段较长时间,以检测系统是否稳定。

一般来说,性能测试遵循下图的规律。如下图:

图中,X轴表示消耗的系统资源,Y轴表示系统的处理能力(吞吐量)。在开始阶段,随着并发请求数的增加,系统使用较少的资源就到达较好的处理能力(a~b段)。随着压力的持续增加,系统处理能力变缓,直到到到一个最大值(c点),这是系统的最大负载点。超过这个点后,再增加压力,系统的处理能力反而下降,而消耗的资源却更多,直到资源消耗达到极限(d点),这个点可看做系统崩溃点

用户头像

stars

关注

架构师的肚是杂货铺 2018.02.19 加入

还未添加个人简介

评论

发布
暂无评论
网站的性能