学习性能测试之如何成为产品认证专家

概览

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

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

基础知识

2.1 Loadrunner工具使用

2.1.1 建议学习路径

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

2.1.2 Loadrunner 认证

2.1.3 Vugen常用增强函数

增加事务:lr_start_transaction、lr_end_transaction

检查点: web_reg_find

关联: web_reg_save_param ,web_set_max_html_param_len

日志: ,, …

选项设置:

http header:

以及更改runtime setting。

2.1.4 Loadrunner 架构图

概览图

详细架构图:

2.2 Html/http协议

HTML 4.01 Specification:

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

http协议:

客户端发送请求:

服务器响应:

2.3 C 语言基础编程

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

如: malloc/free

Sprintf/strcmp/strlen/

fopen/fread/fwrite

2.4 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.5 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.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://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)

3.9 Mercucy performance center

性能测试书籍

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

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

《WEB性能测试实战》

《J2EE性能测试》

《 LoadRunner性能测试实战》


作者:西边人

公众号、今日头条 软件测试资源站作者

程序爬虫获取国内外测试资源分享给自学爱好者

自学联盟爱好者QQ群:​330374464

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • 一:LoadRunner常见问题整理1.LR 脚本为空的解决方法:1.去掉ie设置中的第三方支持取消掉2.在系统属...
    0100阅读 4,064评论 0 11
  • 软件性能的产生 1、从“经济学”的角度来考虑软件产品,这是一个意味深长的变化。 2、要运用投入产出的关系分析和指导...
    WinterM9阅读 3,341评论 0 29
  • 2017年是我完全告别职场回归田园的第一年。当初我这样做的主要目的是为了陪伴我那一直跟病魔做斗争的母亲。令我没想到...
    三湘涟漪阅读 917评论 149 101
  • 微商文案的核心是利他思维。利他思维可以概括为三句话:我是为你好,你需要什么,你决定价值?这也是我们写文案的出发点,...
    玲玲083阅读 392评论 0 1
  • 三伏酷夏,高温难耐,朋友圈也被热炸了、高温预警等刷了屏。而作为全国知名的避暑圣地—青岛这两年的表现似乎在高...
    小西儿1985阅读 279评论 0 0