学习性能测试线路图

news2024/11/25 13:27:10

性能测试学习线路图(建议)

1、概览

纵向划分3颗子树:vugen,controller,monitor。优先学习vugen脚本开发以及调试。

横向划分为2层:基础知识以及高级应用。

2、基础知识

2.1、Loadrunner工具使用

2.1.1、建议学习路径

Vugen开发脚本(函数使用)->controller场景设置->monitor增加计数器

http://www.cnblogs.com/jackei/archive/2006/10/20/534684.html

2.1.2、Loadrunner 认证

更多见

http://www.51testing.net/BWF_DIY/mercury/mercury_051107_1.htm

http://www.51testing.net/BWF_DIY/mercury/mercury_060104_11.htm

2.1.3、Vugen常用增强函数

增加事务:lr_start_transaction/:lr_end_transaction

检查点: web_reg_find

关联:   web_reg_save_param web_set_max_html_param_len

日志:  lr_error_messagelr_log_message, lr_output_message

选项设置: web_set_timeout

http header: web_add_auto_header

以及更改runtime setting。

2.1.4、Loadrunner 架构图

概览图

详细架构图:

http://www.eygle.com/digest/2006/12/html_xml_and_internet.html

HTML 4.01 Specification

对性能测试而言,META http-equiv控制http头、浏览器行为,故最为重要。

http协议:

RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1 (RFC2616)

http://www.faqs.org/rfcs/rfc2616.html

客户端发送请求:

服务器响应:

2.2、C 语言基础编程

Loadrunner常用的c函数主要集中在内存分配/释放、字符串操作、文件读写。

如: malloc/free

   Sprintf/strcmp/strlen/

   Fopen/fread/fwrite

​​​​​​​2.3、Linux 性能分析初步

核心指令:

Top

Sar

Vmstat

Iostat

Sar  -n  DEV

/proc文件系统

分析经验性步骤:

首先查看 CPU 使用情况,按照诊断 CPU、内存或磁盘瓶颈的指导进行操作。对于下面的每个步骤,查找一端时间内的趋势,从中收集系统运行性能较差时的数据。另外,只有将这些数据与系统正常运行时收集的数据进行比较时才能进行准确的诊断。

            步骤 1

# sar -u [interval] [iterations]
(示例: sar -u 5 30)
%idle 是否很低? 这是 CPU 未在运行任何进程的时间百分比。 在一端时间内 %idle 为零可能是 CPU 瓶颈的第一个指示。

不是 -> 系统未发生 CPU 瓶颈。转至步骤 3。
是 -> 系统可能发生了 CPU、内存或 I/O 瓶颈。转至步骤 2。

步骤 2

%usr 是否较高? 很多系统正常情况下花费 80% 的 CPU 时间用于用户, 20% 用于系统。其他系统通常会使用 80% 左右的用户时间。

不是 -> 系统可能遇到 CPU、内存或 I/O 瓶颈。转至步骤 3。
是 -> 系统可能由于用户进程遇到 CPU 瓶颈。转至部分 3,部分 A, 调整系统的 CPU 瓶颈。

步骤 3

%wio 的值是否大于 15? (不同os有不同的阀值)

是 -> 以后记住这个值。它可能表示磁盘或磁带瓶颈。转至步骤 4。
不是 -> 转至步骤 4。

步骤 4

# sar -d [interval] [iterations]
用于任何磁盘的 %busy 是否都大于 50? (请记住,50% 指示一个大概的 指南,它可能远远高于您系统的正常值。在某些系统上,甚至 %busy 值为 20 可能就表示发生了磁盘瓶颈,而其他系统正常情况下可能就为 50% busy。)对于同一个磁盘上,avwait 是否大于 avserv?

不是 -> 很可能不是磁盘瓶颈,转至步骤 6。
是 -> 此设备上好像发生了 IO 瓶颈。
转至步骤 5。

步骤 5

系统上存在磁盘瓶颈,发生瓶颈的磁盘上有哪些内容?

原始分区,
文件系统 -> 转至部分 3,部分 B,调整发生磁盘 IO 瓶颈的系统。
Swap -> 可能是由于内存瓶颈导致的。
转至步骤 6。

步骤 6

# vmstat [interval] [iterations]
在很长的一端时间内,po 是否总是大于 0?
对于一个 s800 系统 (free * 4k) 是否小于 2 MB,
(对于 s700 系统 free * 4k 是否小于 1 MB)?
(值 2 MB 和 1 MB 指示大概的指南,真正的 LOTSFREE 值,即系统开始发生 paging 的值是在系统引导时计算的,它是基于系统内存的大小的。)

不是 -> 如果步骤 1 中的 %idle 较低,系统则很可能发生了 CPU 瓶颈。
转至部分 3,部分 A,调整发生了 CPU 瓶颈的系统。
如果 %idle 不是很低,则可能不是 CPU、磁盘 IO或者内存瓶颈。
请转至部分 4,其他瓶颈。
是 -> 系统上存在内存瓶颈,转至部分 3 部分 C,调整发生内存瓶颈的系统。

​​​​​​​2.4、Windows 性能分析初步

同windows perfmon。

同样集中在 cpu,内存,io,网络上。

一般经验值:

网络

   网络利用率阀值没有统一。  <30% or 80%?

冲突率: <1%

Packets Received Errors < 1%

I/O

Disk Time %  <90%

Avg. Disk Bytes/Read +  Avg. Disk Bytes/Write <20K

Avg. Disk sec/Transfer <0.3 sec

队列长度:Queue Length <2

  Avg. Disk sec/Transfer <18 milliseconds

内存

       Available Mbytes  >25%

   Page in+out  <20

   内存泄露以及错误:

   Pool Nonpaged Bytes : an increase of 10 percent or more from its value at system startup

   Server -> Pool Nonpaged Failures shows the number of times allocations from nonpaged pool have failed - indicates that the computer `s physical memory is too small.  应为0

Server -> Pool Paged Failures indicate that either physical memory or a paging file is near capacity.  应为0

Server -> Pool Nonpaged Peak shows the maximum number of bytes in nonpaged pool the server has had in use at any one point. Indicates how much physical memory the computer should have.

处理器

利用率 <85%

每个CPU队列长度 <2

Context Switches/sec <5000 或者<5% of total threads

3、高级应用

​​​​​​​3.1、性能建模

从business layer、function layer、session layer、customer layer出发,借助日志分析工具挖掘系统负载模型、用户行为模型。

Mercury End User Management正是一个从client视觉出发的业务监控解决方案。

​​​​​​​3.2、网络嗅探器

如ethreal,fiddler,以及 http debuger工具,诊断网络问题。

​​​​​​​3.3、Loadrunner troubleshooting

各个环节都可能有问题。 (client,通信,服务器)

经验性步骤:

诊断vugen脚本、loadrunner场景设置、客户端硬件资源是否充足

判断服务器端各层是否达到资源上限

借助ethereal等网络嗅探器判断c/s通信问题

​​​​​​​3.4、Linux性能分析与调优

深入了解:

进程/多线程编程

同步机制

Gdb 调试core

内核参数

​​​​​​​3.5、Windows性能分析与调优

Windows 其他计数器

​​​​​​​3.6、C语言调用dll 扩展测试脚本

Dll编写格式:

int   __stdcall    lr_getLinuxIOwait_end()

{

       clnt_destroy(clnt);

}

.def文件

EXPORTS

        lr_getLinuxIOwait_end @3

loadrunner调用dll函数:

lr_load_dll("my.dll");

​​​​​​​3.7、Apache/jboss/weblogic/oracle性能优化

参见各个产品tuning 文档

http://httpd.apache.org/docs/2.0/misc/perf-tuning.html

http://httpd.apache.org/docs/1.3/misc/perf-tuning.html

http://edocs.bea.com/wls/docs81/perform/

http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossASTuningSliming

http://www.jboss.org/index.html?module=bb&op=viewforum&f=121

​​​​​​​3.8、计算机性能评测研究方向

  • 相关理论研究(泊松分布排队论、MaKov模型、Monte carlo模拟、自相似理论)
  • 负载特性Workload Characteristic的研究(Commercial Workload/ Technical Workload)
  • 基准程序Benchmark的研究
  • 性能指标的研究(全生命周期/高效能/TPO Total Productivity Ownership/SLA Servcie Level Agreement/QoS)
  • 模拟器的研究(SimpleScalar/SimOS/SandOS)
  • 测试系统的研究(Benchmark Factory/ServerScope/Benchmark Studio/LoadRunner/Forecast toolset)
  • 监控系统Perfomance Evaluation(Intel Vtune/ EMon/ TeamQuest Lite/ ServerScope-Monitor/ Grid-View)
  • 性能评测与体系结构的结合(Computer architecture analysis using workloads)

参见 http://www.cnblogs.com/jackei/archive/2006/11/20/565527.html

​​​​​​​3.9、Mercucy performance center

Mercury | Banking for Startups

4、性能测试书籍

《Microsoft .NET Web应用程序性能测试》

《软件性能测试过程详解与案例剖析》

《WEB性能测试实战》

《J2EE性能测试》

《  LoadRunner性能测试实战》

5、测试网站

51Testing软件测试网-软件测试人的精神家园

苏州市软件评测中心​​​​​​​

LoadRunner Architecture

http://www.avoka.com/resources/white_papers.shtml

http://www.qaforums.com

http://support.mercury.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1161390.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2.2 - 网络协议 - IP协议,IP地址划分,报文格式,数据分片,抓包实战

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 IP协议 1、IP地址划分2、IP协议报文格式3、IP协议数…

Git(七).git 文件夹瘦身,GitLab 永久删除文件

目录 一、问题背景二、问题复现2.1 新建项目2.2 上传大文件2.3 上传结果 三、解决方案3.1 GitLab备份与还原1&#xff09;备份2&#xff09;还原 3.2 删除方式一&#xff1a;git filter-repo 命令【推荐】1&#xff09;安装2&#xff09;删除本地仓库文件3&#xff09;重新关联…

图的广度优先遍历的单源路径、无权图的最短路径问题、BFS性质附Java代码

目录 使用BFS求解单源路径问题 BFS重要性质 无权图的最短路径问题 使用BFS求解单源路径问题 import java.util.ArrayList; import java.util.Collections; import java.util.LinkedList; import java.util.Queue;public class SingleSourcePath {private Graph G;private i…

Greenplum管理和监控工具-gpcc-web介绍

Greenplum管理和监控工具-gpcc-web介绍 1. gpcc-web简介 ​ gpcc&#xff08;Greenplum Command Center&#xff09;的Web用户界面是一个强大的工具&#xff0c;它可以帮助用户管理Greenplum数据库集群&#xff0c;提高效率&#xff0c;优化性能&#xff0c;并确保数据的安全…

安防监控项目---Cortex-A9和zigbee传感器数据上传至网页

文章目录 前言一、A9平台数据的采集与上传二、共享内存上传数据到CGI三、设备代码总结 前言 书接上期&#xff0c;我们大概来梳理一下&#xff0c;已经完成的需求有哪些了&#xff0c;从html下发指令控制Cortex-A9平台硬件&#xff0c;其中主要实现的有控制LED,蜂鸣器&#xf…

AI大模型时代网络安全攻防对抗升级,瑞数信息变革“下一代应用与数据安全”

AI与大模型技术加速普及&#xff0c;安全领域也在以创新视角聚焦下一代应用安全WAAP变革&#xff0c;拓展新一代数据安全领域。近日瑞数信息重磅发布了瑞数全新API扫描器、API安全审计、数据安全检测与应急响应系统及分布式数据库备份系统四大新品。此次发布在延续瑞数信息Bot自…

【中国知名企业高管团队】系列55:奇瑞汽车

昨天华研荟介绍了吉利集团的现状&#xff0c;创始人李书福先生的故事&#xff0c;以及吉利集团的现任高管团队。我们了解到现在的吉利集团品牌多元化&#xff0c;吉利汽车只是其中的一个品牌和产业集团&#xff0c;整个吉利集团有十余个汽车品牌&#xff0c;还有多个网约车品牌…

力扣第416题 *** 分割等和子集 c++ 新题 动态规划 中的 01背包问题

题目 416. 分割等和子集 中等 相关标签 数组 动态规划 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集&#xff0c;使得两个子集的元素和相等。 示例 1&#xff1a; 输入&#xff1a;nums [1,5,11,5] 输出&#xff1a;true 解释…

qt 系列(二)---qt designer通过设置控件样式表进行背景颜色设置

1. 前言 一般Layouts不可以进行改变样式表&#xff0c;当我们想修改背景样式表&#xff0c;同时又不改变其他控件的颜色时&#xff0c;可以选择List View 控件改变背景颜色。 2. 设置背景 &#xff08;1&#xff09;配置 .qrc 文件 新建mypicture.qrc文件&#xff0c;记事本打…

【刷题宝典NO.0】

目录 素数的判定 打印素数 打印水仙花数 百钱买百坤 输出闰年 逆序打印一个整数的每一位 输出乘法口诀表 数字9出现的次数 二进制1的个数 输出一个整数的偶数位和奇数位的二进制序列 求两个整数的最大公约数 求两个整数的最小公倍数 小乐乐与欧几里得 小…

C#,数值计算——积分方程与逆理论Quad_matrix的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { public class Quad_matrix : UniVarRealMultiValueFun { private int n { get; set; } private double x { get; set; } public Quad_matrix(double[,] a) { this.n a…

适用于 Linux 的 WPF:Avalonia

许多年前&#xff0c;在 WPF 成为“Windows Presentation Foundation”并将 XAML 作为 .NET、Windows 等的 UI 标记语言引入之前&#xff0c;有一个代号为“Avalon”的项目。Avalon 是 WPF 的代号。XAML 现在无处不在&#xff0c;XAML 标准是一个词汇规范。 Avalonia 是一个开…

精品Python空巢老人志愿服务平台慈善捐赠活动报名

《[含文档PPT源码等]精品基于Python的空巢老人志愿服务平台》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功&#xff01; 软件开发环境及开发工具&#xff1a; 开发语言&#xff1a;python 使用框架&#xff1a;Django 前端技术&#…

EasyExcel复杂表头数据导入

目录 表头示例导入代码数据导出 表头示例 导入代码 Overridepublic void importExcel(InputStream inputStream) {ItemExcelListener itemExcelListener new ItemExcelListener();EasyExcel.read(inputStream, ImportItem.class, itemExcelListener).headRowNumber(2).sheet()…

【蓝桥每日一题]-二分类型(保姆级教程 篇2) #砍树 #木材加工

今天讲二分的例题&#xff0c;一道是“砍树”&#xff0c;一道是“木材加工” 目录 题目&#xff1a;砍树 思路1&#xff1a; 思路2&#xff1a; 题目&#xff1a;木材加工 思路&#xff1a; 题目&#xff1a;砍树 思路1&#xff1a; 二分查找&#xff1a;对高度进行二分 二…

关注云栖大会的感受:从工业大脑到全面AI时代的进化

前言 自2009年的地方网站峰会到如今的云栖大会&#xff0c;这个盛大的科技盛事已经走过了一个多十年的漫长历程。这个会议见证了中国科技行业的崛起&#xff0c;也记录了技术的不断演化。而对我来说&#xff0c;首次接触云栖大会是在2020年&#xff0c;当年大会迁移到线上&…

从零开发基于ASM字节码的Java代码混淆插件XHood

项目背景 因在公司负责基础框架的开发设计&#xff0c;所以针对框架源代码的保护工作比较重视&#xff0c;之前也加入了一系列保护措施 例如自定义classloader加密保护&#xff0c;授权license保护等&#xff0c;但都是防君子不防小人&#xff0c;安全等级还比较低 经过调研…

【密评】商用密码应用安全性评估从业人员考核题库(十七)

商用密码应用安全性评估从业人员考核题库&#xff08;十七&#xff09; 国密局给的参考题库5000道只是基础题&#xff0c;后续更新完5000还会继续更其他高质量题库&#xff0c;持续学习&#xff0c;共同进步。 4001 多项选择题 网络和通信安全层面的通信主体一般包括哪些&…

基于Docker-consul容器服务更新与发现

目录 一、什么是服务注册与发现&#xff1a; 二、Docker-consul介绍&#xff1a; 三、consul的关键特性&#xff1a; 四、consul部署&#xff1a; 1.部署规划&#xff1a; 2.consul服务器部署&#xff1a; 2.1 建立consul服务&#xff1a; 启动consul后默认会监听5个端口&a…

管理双因素身份验证的Web应用2FAuth

什么是 2FAuth &#xff1f; 2FAuth 是一种基于 Web 的自托管替代方案&#xff0c;可替代 Google Authenticator 等一次性密码 (OTP) 生成器&#xff0c;专为移动设备和桌面设备设计。 近年来&#xff0c;双因素身份验证变得非常流行&#xff0c;2FA 现在是不可避免且至关重要的…