热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

性能测试认识

1、性能测试概念【虚拟用户】模拟真实业务逻辑步骤的虚拟用户,其模拟的操作步骤都被记录再虚拟用户脚本中。【事务】事务是性能测试脚本的一个重要特性,按照最小的http请求打包而成。【T

1、性能测试概念

【虚拟用户】模拟真实业务逻辑步骤的虚拟用户,其模拟的操作步骤都被记录再虚拟用户脚本中。
【事务】事务是性能测试脚本的一个重要特性,按照最小的http请求打包而成。
【TPS】每秒中系统处理的交易或者事务的数量。
【PV】用户浏览器访问页面,对应用服务器产生的每一个请求,记录一个PV。
【Peak PV】峰值PV,一般适用于接口测试。
【并发】并发分为广义和狭义的并发。侠义的并发是所有的用户在同一时刻   做相同的操作,一般为同一类型业务,或者所有用户进行完全同一操作。广义的并发是多个用户对系统发出请求或者操作,但是这些请求或者操作可以不同,对整个系统而言,仍然有很多用户同时进行操作。
【场景】性能测试过程中为了模拟真实用户的处理过程。
【响应时间】响应时间是指客户端发送一个请求开始,到客户端接收到服务器返回的响应结果结束所经历的时间。
【思考时间】模拟用户正式的实际操作时的停顿间隔时间,思考时间会影响TPS。
【CPU资源】CPU是指性能测试场景运行的这个时间内,应用服务器系统的CPU资源占用率。
【标准差】该标准差根据数据统计的概念得来,标准差越小,说明系统越稳定。

2、性能测试的种类

【性能测试】侠义的性能测试,是指以性能预期为前提,对系统不断施加压力,验证系统在资源可接受范围内,是否能达到性能预期。
【Linux资源查看】  top

top -i 动态显示内存
top 每5秒显示资源的占用情况
top -d 2每2秒显示系统的资源消耗情况

 free

free表示内存的使用率情况

 iostat(IO)

iostat -d -k 2 -d表示磁盘的使用状态 -k 磁盘的使用块 2表示2秒显示一次
iostat -d sda 2表示指定监控sda

内存中的buffer和cache

写缓存:数据存储时,先保存到磁盘缓冲区,然后再写入到永久空间
读缓存:数据从磁盘读出后,暂留在缓冲区,预备程序接下来的使用

【负载测试】侠义的负载测试,是指对系统不断增加压力或增加一定压力下持续时间,直到系统某项或某几项性能指标达到安全临界值。
【压力测试】侠义的压力测试,是指超过安全负载的情况下,对系统不断施加压力。
【稳定性测试】稳定性测试的TPS,响应时间,资源消耗等波动率不超过15%。

 

 

3、性能测试关注角度

【用户角度】响应时间,用户体验。性能测试压测服务器的响应时间一般在内网,所以不考虑公网的响应时间。压力测试不应该在公网测试,因为公网的环境是不可控的。
【运维角度】资源消耗是否正常,数据库规划配置是否正常。运维的性能监控工具主要有zabbix工具等。
【开发角度】页面性能,代码正确率。
【客户角度】系统扩展性,项目成本。

 

4、性能测试指标

1、在资源充足的情况下满足TPS
2、通过率不超过安全界限
3、资源消耗不超过安全界限
4、接口测试响应时间(1)通用的接口响应时间分布情况:  100ms为优良  500ms为及格  1000ms以上为不可忍受(2)金融接口响应时间的分布情况:  100ms为优良  200ms为及格  300ms以上为不可忍受
5、测试服务器的响应时间的各项指标是多少(1)1/3/5排除网络时间和前端增加时间(2)2/4/6加上网络时延,并发很严重的情况下6s
6、并发用户数和TPS的关系是怎么样的(1)有关系,但不是正比关系(2)和思考时间有反比关系(3)网络时间要考虑,但是要排除
7、在某一项资源到达高端临界值时到达B点(1)一般测试到B点就差不多        A点是闲时用的        A-B点高峰时间用的(2)稳定性测试一般在B点(3)最佳用户数B点(4)永不宕机的基础B点
8、高端临界值B点判断的各项指标(1)CPU 70%(2)内存 70%(3)I/O 60%(4)网络        一个网卡,进出网卡40%        两个网卡,进网卡80%,出网卡80%
9、低点临界值非高峰期的业务值A的各项指标是多少(1)CPU 50%(2)内存50%(3)I/O 40%(4)网络30%
10、性能测试各个点的总结(1)在安全值希望没有虚拟内存的交换(2)如何测试拐点?越测试坡度越缓,才能测试比较真实的拐点(3)压测到某一项资源到达极限C点
11、单场景和多场景测试的区别是什么(1)资源够不够的问题(2)资源分配的问题(3)争用资源的问题

 



推荐阅读
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 本文介绍如何在 Android 中通过代码模拟用户的点击和滑动操作,包括参数说明、事件生成及处理逻辑。详细解析了视图(View)对象、坐标偏移量以及不同类型的滑动方式。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 本文详细介绍了如何在BackTrack 5中配置和启动SSH服务,确保其正常运行,并通过Windows系统成功连接。涵盖了必要的密钥生成步骤及常见问题解决方法。 ... [详细]
  • This guide provides a comprehensive step-by-step approach to successfully installing the MongoDB PHP driver on XAMPP for macOS, ensuring a smooth and efficient setup process. ... [详细]
  • 探讨如何高效使用FastJSON进行JSON数据解析,特别是从复杂嵌套结构中提取特定字段值的方法。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文介绍了在使用Visual Studio 2015进行项目开发时,遇到类向导弹出“异常来自 HRESULT:0x8CE0000B”错误的解决方案。通过具体步骤和实践经验,帮助开发者快速排查并解决问题。 ... [详细]
author-avatar
KingDragon龙帝
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有