什么是场景?场景的重要性有哪些?如何设置场景?
场景:模拟真实环境中,用户运行状况。
1.通过场景来模拟实际用户的操作,性能测试结果才具有代表性。
2.在运行过程中也需要关注场景性能测试值,测试过程是否正常。
1.选择场景中需要的脚本
2.选择为目标场景,还是指定的手工场景
3.设置用户数、设置产生负载的设备
4.设置执行策略
场景设置有哪几种方法?
目标场景,手工场景
你如何设计负载?标准是什么?
负载测试计划多少用户数量、使用什么类型的机器、以及在什么环境下进行。主要基于两个重要的文文件,任务分布图和事务信息。
任务分布图告诉我们在负载时间段内,某一个事务使用的用户数,高峰使用率及低峰使用率均来自该文档;
事务信息告诉我们事务名及优先级,在设计场景时可以参考。
在运行设置下你能更改那些设置?
pacing、Think Time Settings、Error Handling、Run Logic等。
什么是逐步递增?你如何来设置?
Ramp up这个选项用于逐渐增加服务器的虚拟用户数或负载量。设置一个初始值而且可以在两个迭代之间设置一个值等待。在‘Scenario Scheduling Options’设置Ramp up,比如可以在“加压”选项卡中将设置更改为:“每 30 秒启动 2 个 Vuser”。
以线程方式运行的虚拟用户有哪些优点?
如果是以进程的方式跑虚拟用户,为每个用户加载相同的驱动程序到内存中,因此占用了大量的内存。这就限制了在单个生成器上能跑的虚拟用户数。但相比线程方式更仿真,所以并发数较少时,可以采用这种方式。
以线程方式运行的虚拟用户,在默认情况下,Controller为每50个用户仅启动一个mmdrv进程,而每个用户都按线程方式来运行,这些线程用户将共享父进程的内存,这就节省了大量内存空间,从而可以在一个负载生成器上运行更多的用户。
说明一下如何在LR中配置系统计数器?
以windows资源监控为例,可右键点“添加度量”,输入系统IP、选择平台类型,确定即可。
如何设置LaodRunner才能让集合点只对一半的用户生效?
进入Controller->Scenario->Rendezvous …->Policy,系统弹出Policy对话框。在该对话框中可以设定集合点执行的策略,将第一项用户数设置成50%即可。
补充:
第一项:表示当所有用户数的X%到达集合点时,开始释放等待的用户并继续执行场景。
第二项:表示当前正在运行用户数的X%到达集合点时,开始释放等待的用户并继续执行场景。
第三项:表示当X个用户到达集合点时,开始释放等待的用户并继续执行场景。
其中还有一项Timeout between Vusers,就30秒来说,当第一个用户到达集合点后,再等待30秒,如果在30秒内到达的用户数达到指定的数量,就开始继续执行场景。如果在30秒内还没有达到指定的用户数量,就不再等待,开始释放等待的用户并继续执行场景。
LoadRunner的Controller组件中Pacing参数的作用是什么?
设置LoadRunner中事务(trsaction)在每次循环中的间隔时间,系统可以利用该间隔时间进行相应事务的结束收尾工作的处理。加大Pacing参数,可使系统压力减小。
如何让QALoad模拟LoadRunner中只对关注的性能点进行迭代测试?
可以将QAload脚本中关注的事务点写成一个循环,如果进行长时间的综合场景测试,则可将其写成一个永真循环,如while (1) {事务点},则对关注的性能点进行循环,而脚本其他代码不会进行循环。
性能测试时比较重要的指标有哪些?
在进行性能测试的时候,我们需要知道一些有效的性能指标,下面我们来列出一些主要的性能指标:一通用指标(指Web应用服务器、数据库服务器必需测试项):
*ProcessorTime:指服务器CPU占用率,一般平均达到70%时,服务就接近饱和;
*Memory Available Mbyte:可用内存数,如果测试时发现内存有变化情况也要注意,如果是内存泄露则比较严重;
*Physicsdisk Time :物理磁盘读写时间情况。
二Web服务器指标:
*Avg Rps:平均每秒钟响应次数=总请求时间/秒数;
*Avg time to last byte per terstion(mstes):平均每秒业务角本的迭代次数;*Successful Rounds:成功的请求;
*Failed Rounds:失败的请求;
*Successful Hits:成功的点击次数;
*Failed Hits:失败的点击次数;
*Hits Per Second:每秒点击次数;
*Successful Hits Per Second:每秒成功的点击次数;
*Failed Hits Per Second:每秒失败的点击次数;
*Attempted Connections:尝试链接数。
三数据库服务器指标:
*User 0 Connections :用户连接数,也就是数据库的连接数量;
*Number of deadlocks:数据库死锁;
*Butter Cache hit:数据库Cache的命中情况。
你如果怀疑某段程序有问题,你如何来证明程序的性能好坏?
定义事务,或者该程序所在的文件的大小(如JS文件,文件越小越好)