性能测试分享:第一节

从今天开始,我将分享:性能测试–聊聊软件性能测试相关的知识点。
对于不同类型的系统,软件性能的关注点各不相同:
1:Web 类应用和手机端应用,以终端用户感受到的端到端的响应时间来描述系统的性能;
2:非交互式的应用,比如电信和银行后台处理系统,响应时间关注更多的是事件处理的速度,以及单位时间的事件吞吐量。
从用户在界面上完成一个操作开始,到系统把本次操作的结果以用户能察觉的方式展现出来的全部时间。对用户来说,时间越短体验越好。
这个时间就是响应时间和展现时间:
1:系统响应时间,反应的是系统能力,又可以进一步细分为应用系统处理时间、数据库处理时间和网络传输时间等;
2:展现时间,取决于用户端的处理能力。(对于用户感知来说,越快越好,可以说是操作的流畅度)
性能测试分为后端的性能测试和前端的性能测试
后端:服务器测试
前端:浏览器/app
软件性能包含算法设计、架构设计、性能最佳实践、数据库相关、软件性能的可测试性这五大方面
1:算法设计:
  核心算法的设计与实现是否高效;
  设计上是否采用 buffer 机制以提高性能,降低 I/O;
  是否存在潜在的内存泄露;
  是否存在并发环境下的线程安全问题;
  是否存在不合理的线程同步方式;
  是否存在不合理的资源竞争。
2:架构设计:
   是否可以方便地进行系统容量和性能扩展;
   应用集群的可扩展性是否经过测试和验证;
   缓存集群的可扩展性是否经过测试和验证;
   数据库的可扩展性是否经过测试和验证。
3:性能:
    代码实现是否遵守开发语言的性能最佳实践;
    关键代码是否在白盒级别进行性能测试;
    是否考虑前端性能的优化;
    是否采用数据压缩传输;
    是否采用先压缩后加密的顺序。
4:数据库:
	数据库表设计是否高效;
	是否引入必要的索引;
	SQL 语句的执行计划是否合理;
	SQL 语句要考虑性能要求;
	数据库是否需要引入读写分离机制;
	冷启动,数据库承载的压力是否超负荷。
5:软件性能:
     是否为性能分析(Profiler)提供必要的接口支持;
     是否支持高并发场景下的性能打点;
     是否支持全链路的性能分析。
软件性能的三个常用的指标:并发用户数、响应时间,以及系统吞吐量
1:并发用户数--业务层面和后端服务器层面的两层含义。
1.1:业务层面的并发用户数,指的是实际使用系统的用户总数。并不能反映系统实际承载的压力,
1.2: 后端服务器层面的并发用户数,指的是“同时向服务器发送请求的数量”,直接反映了系统实际承载的压力。
2:响应时间,分为前端展现时间和系统响应时间两部分
2.1:前端时间,取决于客户端收到服务器返回的数据后渲染页面所消耗的时间;
2.2:系统响应时间,划分为 Web 服务器时间、应用服务器时间、数据库时间,以及各服务器间通信的网络时间。
3:系统吞吐量,是最能直接体现软件系统负载承受能力的指标
Bytes/Second”和“Pages/Second”表示的吞吐量,主要受网络设置、服务器架构、应用服务器制约;
“Requests/Second”表示的吞吐量,主要受应用服务器和应用本身实现的制约。
 HTTP或者业务层面,可以选择“Requests/Second”“Pages/Second”
系统层面或网络层面,可以选择“Bytes/Second”,即网卡每秒接收/发送到字节数
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值