sitescope mysql获取计数器时出错_LR & SiteScope & 本地监控

1.录制:Resording ->http/html level

Html-based script :同一地址下集合多个数据或文档信息

web_url("survey.jsp",

"URL=http://108.88.3.247:8806/service/survey.jsp?catid=221|239",

"TargetFrame=",

"Resource=0",

"RecContentType=text/html",

"Referer=",

"Snapshot=t5.inf",

"Mode=HTML",

EXTRARES,

"Url=../images/bg_01.jpg", "Referer=http://108.88.3.247:8806/service/survey.jsp?catid=221|239", ENDITEM,

"Url=../images/main_bg_01.jpg", "Referer=http://108.88.3.247:8806/service/survey.jsp?catid=221|239", ENDITEM,

"Url=../images/left_search_input.jpg", "Referer=http://108.88.3.247:8806/service/survey.jsp?catid=221|239", ENDITEM,

LAST);

Url-based script :只录制单一数据或文档信息

web_url("base.css_7",

"URL=http://108.88.3.247:8806/styles/base.css",

"Resource=1",

"Referer=http://108.88.3.247:8806/flash/menu.swf",

LAST);

2.录制完成的脚本,必须备份好一份原始数据

3.思考时间与事务处理:在优化脚本过程中,把事务中的思考时间全部删除掉,并且在事务开始之前,添加一个思考时间来代替事务中被删除的思考时间

4.文本检查点:大多数在录制脚本过程,一同设置检查点(这样比较方便,也同时不会把检查点的位址放错地方);当然检查点也可以是后期添加,但要对脚本需要设置检查点的位置要相当清楚

5.运行设置:

大容量测试:设置Global Schedule->Duration

压力测试:预测压力测试的最大值,才可以进行压力测试

负载测试:累加客户数量,进行负载测试

6.参数化设置、关联

7.使用编写语言方式实现:Run Logic

//概率30%

Action()

{

int rowNum;

rowNum=rand()%100+1;

if(rowNum<=30)

Vuser_init();

Return 0;

}

8.参数化-Sequential

1)Sequential+Each iteration按迭代次数顺序读取参数化列表数据

2)Sequential+Each occurrence按参数化列表的数据,每个参化都会对应参数化列表唯一的一个数据(参数化值只读取一次)

3)Sequential+Once按迭代或循环都只会读取参数化的一个值

9.参数化-Unique取值

1)Abort Vuser当取数超过参数化列表,脚本停止

2)Continue in a cyclic manner当取数超过参数化,会循环方式读取参数化列表

3)Continue with last value当取数超过数化,会以参数化列表最后一个值来运行脚本

****备注:为了保证参数化使用Unique取值方式,必需以下公式成立:

Param参数记录条数>=迭代次数*Vuser数目

10.参数化-Same line as(中文:按名称)

设置参数化在参数化列表中的选项列;简单就是说,同一个参数化列表,设置多个参数化,并且单独分配给参数项

11.函数

web_add_cookie :vuser脚本添加一个cookie信息

web_link :摸拟用户单击一个超链接的操作

web_url :模拟用户请求

web_submit_form :自动检测在当前页面上是否存在form,然后将后面Itemdata数据进行传送

web_submit_data :无须前面的页面支持,直接发送给对应页面相关数据

12.IE需要去掉第三方浏览器扩展   ;不去掉的话,会造成录制时自动关闭IE浏览器

***************************

**************************************************************************

实际应用:

1.替换原有脚本的地址

2.在测试本机,设置资源计数器,并设置为手动监控 &

文件起名:年月日+性能测试名称         20121120-xinge

脚本起名: VU+性能测试名称+年月日     vu-xingye-20111228

********录制脚本:***********

***************************************************************************

1.录制好的脚本,进行备份

2.脚本的思考时间全部注释

3.事务之前都必须思考时间约为5秒   lr_think_time(5);

4.录制脚本过程中,可以加插检查点,一般针对数字或英文进行,主要为了减少运行脚本所出现的错误

5.如果单单想知道哪个页面的事务加载时间,可以单独添加一个事务

6.每个事务的排序,必须在事务名前面加上排序号码,方便分析报告时,防止各个事务随机排序

lr_start_transaction("101_首页");

lr_start_transaction("201_楼盘展示");

7.开始录制前,不要添加测试地址,这是为了更好的不相关联的地址进行测试

8.run-time setting ->Internet Protocol -> Preferences 设置检查点:Enable Image and text check

9.每个性能测试点,都需要单独设立一个Action进行录制,除了子类相同可以同一个Action

10.显示运行页面 Tools ->General Options ->Display -> 勾上Show Browsser during replay & Auto arrange windo

********运行场景:************

***************************************************************************

1.测试出最大用户数

*start vusers :设置较在用户数

*直接运行场景

*Scenario Groups 手动启动用户执行

*打开计算机的任务管理器->性能       //查看CPU是否已经满载

*场景出现失败事务或出错   //也差不多可以确定最大用户数

重第3,4, 5可以快速找到服务器的最大用户数

2.压力测试、负载测试,基于已经找出来的最大用户数,在场景设置中正常设置运行的环境

********监控资源----windows********

***************************************************************************

1.开始->运行->输入perfmon,启动性能监控器

2.性能日志和警报->计数器日志->新建日志(新的性能日志)

3.新的性能日志窗体:

->常规-添加计数器、数据采样最好设置为 5 到 10 秒

->日志文件-设置文件名结尾  例:设mmddhhmm  :月日时分

->计划-启动日志(手动&自动,看情况需要)

-停止日志(日志最好为1至2天的文件大小,如果需要继续监控系统可以设置:当日志文件关闭时,启动一个新的日志文件)

4.查看日志文件:C:\PerfLogs

5.打开性能监控器->系统监视器->查看日志数据->来源->日志文件->选取生成的日志文件->时间范围,设置需要的时间范围->点击确定,就会显示日志文件监控资源情况

6.生成CSV文件提供给LR分析报告->右键数据图表,选择数据另存为->格式:文本文件CSV->点击保存

名称:性能测试名 + 年月日 + 号码排序

********perfmon********************

***************************************************************************

% Processor Time(Processor _Total,应用服务进程,数据库服务进程,如java,sqlservr等)(90%以下)

Process

ID(监控Process

ID是否变化,判断是否进程崩溃重启了)

Process & Processor:User Time

Process:Working Set (Process _Total)

Process:Private Bytes(Process _Total,应用服务进程,数据库服务进程,如java,sqlservr等)

Process:Virtual Bytes(Process _Total,应用服务进程,数据库服务进程,如java,sqlservr等)

Memory: Available Mbytes(memory)(5MB以上)

Memory: Committed Bytes(memory)

Memory: Pages/sec(0~20,不能超过20)

System: Context Switch/sec(system)

System: Processor Queue Length(不能高于CPU数的2倍)

Exception Dispatches/sec(physicalDisk)

File Data Operations/sec(physicalDisk)

Avg. Disk Queue Length (PhysicalDisk _Total)(不能高于磁盘数的2倍)

Disk reads/sec(physicalDisk)

Disk writes/sec(physicalDisk)

% Disk Time (PhysicalDisk _Total)(55%以下)

Threads (Objects)

%disk time超过100%的解析

现象:

在LR上我们可以看到%disk time超过100%的现象.

如果机器处在很忙的状态,这个值有可能会超过100%,

比如,复制大量的文件.

原因:

出现这种现象的原因是处理器允许操作系统使用重叠的I/O,

磁盘性能计数器使用一个100纳秒精度的计数器来度量磁盘时间,

再按照采样频率显示出来.采样后的时间可能会超过100%,

比如:在2毫秒内有10个请求,采样时间为10毫秒.如果是raid磁盘,

因为操作系统可以读写到多到磁盘上,从而产生重叠 I/O,

这会使%disk time大于100%.

其实:

要度量磁盘时间及磁盘延迟的问题,

可以用以下几个计数器来看,

通常情况下,如果以下几个计数器之一的值有大于20毫秒的话,磁盘就是超负荷了.

Avg.Disk sec/Readavg.Disk sec / WriteAvg.Disk sec/Transfer

% Disk Time (PhysicalDisk _Total)(55%以下)

55%是指平均到单个磁盘,但是很多时候我们不知道他有多少个磁盘做阵列,

所以就可以用Avg.Disk sec/Readavg.Disk sec / WriteAvg.Disk sec/Transfer

监控数据库的相关计数器:

Login/sec

Full scans/sec(全表扫描/秒)

Buffer Manager(缓冲器管理器)

Buffer cache hit ratio()

cache hit ratio(高速缓存命中率)

Latches Waits/sec(闩等待/秒)

Locks(锁)

Lock blocks(服务器上锁定块的数量)

Number of Deadlocks/sec(死锁的数量/秒)

Average Wait time(ms)(平均等待时间(毫秒))

Lock Requests/sec(锁请求/秒)

Memory Manager

SQL Server General: User Connections(要比"Maximum Worker Threads" 的配置值(缺省值255)低)

********LR使用监控数据的文件********

***************************************************************************

1.启动LR Analysis->Tools->Ecternal Monitors ->Import Data->添加生成的CSV文件->File Format(选取性能服务器系统)->点击确定->Select Monitor Type->选择外部性能服务器系统,点击确定,OK了

********LR报告分析*********

***************************************************************************

1.LR报告的平均事务响应时间: 每秒执行事务的平均时间

2.吞吐量(网络方面): 场景运行过程中服务器的每秒的吞吐量

环境网络为10MB   但实际网络环境为10MB / 8 =1.25MB左右

如果用户数增加,吞吐量不变(范围值:1.25MB),说明吞吐量为瓶颈

2-1.吞吐量图与每秒事务数图

如果用户数增加,点击率不变。看是否为吞吐量为瓶颈,如果不是,可能是系统资源问题;

如果点击的次数增加而吞吐量持续不变或减少,就说明服务器无法执行增加的请求(每秒点击率),结果就是事务反应时间的增加;

3.windows资源(CPU\队列:核数*2):

%Processor Time:CPU使用率超过90%表时CPU为瓶颈

Processor Queue Length:队列长度持续大于2(核心数),利用率Processor Time一直很低,表示可能出现处理器拥塞

%User Time:表示耗费CPU进行数据库操作;  可考虑增加索引,尽用使用简单的表连接

%DPC Time:越低越好;在多处理器系统中,加入一个网卡可能会提高性能,如果值大于50%并且%Processor Time非常高,说明网络已经不饱和

4.windows资源(硬盘\队列:盘数*2):

%Disk Time :如果%Disk Time数值较大,表明硬盘可能会是瓶颈;如果数值持续超过80%,可能是内存漏泄

Avg.Disk Queue Length:较高的值表时磁盘控制器由于失败而不断重试磁盘;值应不超过磁盘数的1.5倍,要提高性能,可增加磁盘;  备注:一个Raid Disk实际有多个磁盘

Average Disk Read/Write Queue Length:指读取/写入请求列队的平均数

Average Disk sec/Transfer:写入数据所需的平均时间;值控制在小于15ms为最佳,介于15~30ms之间为良好,30~60ms之间为可以接受,超过60ms需要考虑更换硬盘或硬盘的RAID方式

%Disk Time和Avg.Disk Queue Length的值很高,而page Reads.sec页面读取操作速率很低,可能存在磁盘瓶颈

5.windows资源(内存):

Available Mbytes:可用物理内存数;如果值小于100MB,说明计算机总的内存不足,或程序没有释放内存

Committed Bytes:是指有多少虚拟内存正在被使用,虚拟内存是占用硬盘空间的内存,不占用物理内存

Page/sec:如果值很大,表明内存有问题,或运行使用内存映射文件的程序所致

Cache Bytes:文件系统缓存,默认情况下为可用物理内存的50%;

内存漏泄:监控Memory-Available Byter &  Committed Bytes

内存漏泄的进程:监控Process-Private Bytes & Working set & Handle Count

内核模式进程导致漏泄:监控Memory-Pool Nonpaged Byter & Pool Nonpaged Allocs & Process-process_name & Pool Nonpaged Bytes

6.windows资源(数据库\事务总数)

******************************

***************************************************************************

Mercury Virtual User

第一步:录制需要进行性能测试的业务流程

Init:包含登录过程

Action:包含实际业务流程(BP)

End:包含注销和清理程序

Vusers只重复Action中的步骤

第二步:回放脚本

第三步:编辑脚本

添加事务:度量一个或多个步骤

参数化值:为更真实模似环境,参数化用户或其他数据

添加内容检查:插入->新建步骤:web_reg_find,输入检查的内容;例如:需要检查用户名:root ,直接在搜索特定文本:root,确定后生成:

web_reg_find("Text=root",

LAST);

第四步:准备回载

常规其他:需要按线程运行Vuser;

迭代次数:循环次数

迭代的时间间隔:循环一次后,多久才继续模拟业务

并发用户:同一物理时间运行的用户数量

关注: 业务并发用户、服务端承受最大并发

思考时间:每个请求之间的间隔时间

关注:如何模拟正式环境?

网络:速度模拟

关注:如何模拟真实的网络环境?

-----------------------------------------------------------------------------------

-----------------------------------------------------------------------------------

********sitescope培训********

***************************************************************************

1.了解sitescope :为专门监控Unix & Linux的软件;以前的如果要监控Linux就必须在Linux服务器里面安装软件才能监控,监控的效果也不如理想;

1-1监控Oracle

LoadRunner除了可以用本地监控器来收集Oracle的性能数据外,还可以整合SiteScope对Oracle进行监控。

根据SiteScope帮助文档,需要把Oracle JDBC database driver 文件 (classes12.zip)放到 SiteScope\java\lib\ext,之后重启SiteScope才能对Oracle进行监控。

( classes12.zip 文件可以在oracle安装目录下得到 \oracle \jdbc\lib \classes12.zip)

数据库连接URL: jdbc:oracle:thin:@108.88.3.223:1521:test

数据库驱动程序:oracle.jdbc.driver.OracleDriver

重启SiteScope服务

\Web-INF\lib 和 \java\lib\ext

如出现Error Code: 31008.  Error Description: Error getting counters : unable to retrieve the counters:请设置监控的计算机 远程桌面设置为允许使用 & 禁用防火墙

另外需注意的是:连接Oracle的数据库用户必须是DBA权限的用户。

1-2监控Mysql

1.下载java版的mysql驱动程序(JDBC驱动程序,最后是5版本以上的)

下载后进行解压缩,将解压缩的mysql-connector-java-5.1.14-bin.jar文件复制

C:\SiteScope\java\lib\ext 目录下(以你的安装目录为准)

2.添加mysql计数器

进入“监控器”界面,选中"sitescope"点击右键,选择新建组,输入组的信息,如组名称为mysql。

右击组“mysql”,选择新建“监控器”,在新建监控器界面选择“数据库计数器”

数据库连接:输入jdbc:mysql://mysql服务器IP:端口号/数据库名称 (端口默认是3306可以不写出来)

查询:show status(表示把所有参数显示出来,然后进行选择)或是show status where variable_name like '其中的参数’(表示直接选择要监控的参数)

数据库驱动程序:org.gjt.mm.mysql.Driver

数据库的用户名和密码:root 密码

上述信息填写完毕后,点击“获取计数器”,在显示出来的计数器中勾选要监控的计数器,点击“确定”,添加计数器结束。

查询:show status

数据库驱动程序:org.gjt.mm.mysql.Driver

数据库的用户名和密码:root 密码

数据库连接:jdbc:mysql://108.88.3.223:tf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值