系统性能测试

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 系统性能测试

分类

  • 负载测试:验证性测试。验证预设负载条件下性能表现是否达到性能目标,在达到性能目标后不再继续增加负载。
  • 稳定性测试:负载测试的子集,侧重于发现、验证经过长时间运行才会暴露的问题。比如内存泄露等问题。
  • 压力测试:破坏性测试,尝试探测应用或者基础设施的极限能力。压力测试过程中会一直增加负载直到部分性能指标不再符合性能预期。压力测试能发现仅在高负载条件下出现的同步问题、内存泄露等。压力测试可以确定我们的应用服务在什么条件下会变的不可用,不可用的现象,以及可以通过哪些监控指标来监控即将发生的不可用。
  • 容量测试:在保证用户体验不受影响(稳定性)的前提下,使有限的资源利用率最大化。也可以预估当未来用户量增长到某个量级的情况下,需要多少资源来支持。

    测试指标

  • TPS(Transaction Per Second):每秒事务数
    • 事务:事务内第一个请求发送到最后一个请求的响应过程。
  • QPS(Query Per Second):每秒查询次数,指服务器每秒能够响应的查询次数。
  • 响应时间RT(Response Time):指用户从客户端发起一个请求后,客户端接收到从服务端返回的响应后结束,整个过程耗费的总时间。
  • 并发用户数:在同一时刻与服务器进行了交互的在线用户数量。
  • 最大并发量:指同时登录站点的最大人数或者服务器同时接收下载的最大数量。
  • 吞吐率TPS(Throughput Per Second):某个并发用户数下,是单位时间内服务器处理的请求个数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。
    • 吞吐率和并发用户数有关
    • 不同并发用户数,吞吐率一般不同
    • 80%的系统性能瓶颈是由吞吐量引起的
    • 通过不断增加并发用户数和吞吐量观察系统的性能瓶颈。然后,从网络、数据库、应用服务器和代码本身 4 个环节确定系统的性能瓶颈。
  • 服务器性能指标:
    • CPU、内存、I/O、磁盘等硬件的资源占用情况

      Jmeter性能测试参数

  • 线程数:并发数量,具体说就是一次存在多少用户同时访问。
  • Rame-Up Period(in seconds):成长时间,设置虚拟用户需要多长时间全部启动。当访问网站时,并不是一次性的涌入大量数据进行访问,而是随着时间的推移,慢慢的涌入越来越多的用户进行访问。Rame-Up Period(in seconds)参数的设置旨在更好的模拟真实场景的并发情况。
  • 循环次数:该请求参数指线程进行循环多少次请求。不会改变具体的并发量,但会影响总的请求数。总请求数 = 线程数 * 循环次数
  • 延迟创建线程直到需要:延迟创建线程,直到该线程开始取样时才创建。即并不会一开始就创建线程,而是等需要发起请求时,才会开始创建线程。
  • 调度器:对线程组进行限制设置
    • 持续时间:脚本持续运行的时间长度
    • 启动延迟:脚本延迟启动的时间

      测试场景

      根据测试接口的分类

  • 单接口测试:保障接口测试的正确性和健壮性。测试接口是否能根据正确的输入给定正确的输出。测试接口是否能对违规数据进行处理。
  • 多接口测试(业务流程测试):保障多个接口的串行操作能够正确的完成业务逻辑

    根据测试目的分类

  • 目标测试:根据系统的目标用户量设置虚拟线程进行测试,确定系统是否满足目标应用情况。
  • 梯度测试:在测试启动或结束时,并发量逐步增加/减少的情况进行测试。旨在更好的模拟真实情况,更有梯度的获取不同条件下系统的性能情况。
  • 极限测试:对系统的极限性能进行测试,却对系统高负载出现的条件,高负载下的异常行为。
相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
12天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
46 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
1月前
|
数据库连接 Go 数据库
Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性
本文探讨了Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性;防御编程则强调在编码时考虑各种错误情况,确保程序健壮性。文章详细介绍了这两种技术在Go语言中的实现方法及其重要性,旨在提升软件质量和可靠性。
34 1
|
2月前
|
监控 测试技术
如何进行系统压力测试?
【10月更文挑战第11天】如何进行系统压力测试?
166 34
|
2月前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
145 32
|
1月前
|
缓存 监控 测试技术
全网最全压测指南!教你如何测试和优化系统极限性能
大家好,我是小米。本文将介绍如何在实际项目中进行性能压测和优化,包括单台服务器和集群压测、使用JMeter、监控CPU和内存使用率、优化Tomcat和数据库配置等方面的内容,帮助你在高并发场景下提升系统性能。希望这些实战经验能助你一臂之力!
91 3
|
1月前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
3月前
|
Linux
kickstart自动安装系统 --DHCP 配置及测试
PXE+Kickstart自动安装系统需配置DHCP服务器分配IP。dhcpd.conf示例:设置更新样式、忽略客户端更新、指定下一服务器及启动文件。定义子网、网关、掩码、动态地址池并预留特定MAC地址。重启xinetd、NFS、DHCP服务,确保新服务器与Kickstart服务器在同一网络,避免误装其他机器。注意隔离测试网络以防干扰生产环境。
85 18
|
2月前
|
存储 Linux 网络安全
Kali 渗透测试:Meterpreter在Windows系统下的使用
Kali 渗透测试:Meterpreter在Windows系统下的使用
103 0
|
3月前
|
测试技术 UED 开发者
软件测试的艺术:从代码审查到用户反馈的全景探索在软件开发的宇宙中,测试是那颗确保星系正常运转的暗物质。它或许不总是站在聚光灯下,但无疑是支撑整个系统稳定性与可靠性的基石。《软件测试的艺术:从代码审查到用户反馈的全景探索》一文,旨在揭开软件测试这一神秘面纱,通过深入浅出的方式,引领读者穿梭于测试的各个环节,从细微处着眼,至宏观视角俯瞰,全方位解析如何打造无懈可击的软件产品。
本文以“软件测试的艺术”为核心,创新性地将技术深度与通俗易懂的语言风格相结合,绘制了一幅从代码审查到用户反馈全过程的测试蓝图。不同于常规摘要的枯燥概述,这里更像是一段旅程的预告片,承诺带领读者经历一场从微观世界到宏观视野的探索之旅,揭示每一个测试环节背后的哲学与实践智慧,让即便是非专业人士也能领略到软件测试的魅力所在,并从中获取实用的启示。
|
4月前
|
测试技术
探索软件测试的多维视角:从单元到系统,从静态到动态
【8月更文挑战第27天】本文将带领读者穿越软件测试的迷宫,从最微小的单元测试开始,逐步扩展到复杂的系统测试。我们将一起探索静态测试和动态测试的不同面貌,以及它们如何互补地确保软件质量。通过实际代码示例,我们将揭示测试用例的设计思路和执行过程,旨在为读者提供一个全面而深入的软件测试全景图。让我们开始这段旅程,解锁软件测试的秘密,确保我们的代码不仅能够运行,而且能够完美运行。