LoadRunner中进程运行和线程运行区别

LoadRunner中进程运行和线程运行区别

字体:  小  中  大  | 上一篇 下一篇 | 打印  | 我要投稿  | 推荐标签: 性能测试 软件测试 LoadRunner loadrunner 测试工具

  LoadRunner controller将使用驱动程序mmdrv运行Vuser。用户可以在controller的run-time setting中选择Vuser的运行方式, 是多进程方式or多线程方式。

  如果选择以线程方式来运行虚拟用户:

  在场景设置时,“是单行脚本,还是多行脚本”会决定系统启动的进程数的多少: 假设并发用户设置为30,如果是单行30个用户,系统只需启动一个进程; 假设并发用户设置为30,如果是多行,30行,每行一个用户,系统就需要启动30个进程;

  如果选择以进程方式来运行虚拟用户:

  那么无论脚本在场景组中怎么设置,是单行多用户还是多行少用户方式,系统需要启动的进程数是一定的,就是并发用户的总数;

  进程方式和线程方式的优缺点:

   如果选择按照进程方式运行,每个用户都将启动一个mmdrv进程,多个mmdrv进程会占用大量内存及其他系统资源,这就限制了可以在任一负载生成器上 运行的并发用户数的数量,因为负载机的资源(内存及其他系统资源)是有限的。 如果选择按照线程方式运行,在默认情况下,controller为每50个用户仅启动一个mmdrv进程,而每个用户都按线程方式来运行,这些线程用户将 共享父进程的内存段,这就节省了大量内存空间,从而可以在一个负载生成器上运行更多的用户。(如果选择线程方式来运行用户,每个进程中会多出几个线程,例 如是53个,多出来的进程可能是用于维护进程之间的运行的) 选择线程方式虽然可以减少启动的mmdrv进程数,减少了内存的占用,但是也容易出现一个问题,例如,同一个测试场景,用线程并发就会出现超时失败或报错,而用进程并发就没错。为什么呢?因为线程的资源是从进程资源中分配出来的,因此同一个进程中的多个线程会有共享的内存空间,假设a线程要用资源就必须等待b线程释放,而b线程也在等待其他资源释放才能继续,这样就会出现这个问题。

  系统需要启动的mmdrv进程数与哪些因素有关:

   与在controller 的运行时设置中选择的是进程方式or线程方式来运行虚拟用户有关 进程方式:无论是单行or多行脚本,需要启动的进程数就是并发用户数; 线程方式:假设是单行脚本,每50个用户才启动一个进程;多行脚本,有几行(每行<50人)就启动几个进程,而不是每个用户启动一个进程。 如果选择了线程方式,需启动的进程数,进一步还与脚本是单行还是多行有关 单行脚本,多用户,假设少于50,只需启动一个进程,100个用户,只需启动2个进程,依此类推; 多行脚本,即使每行一个用户,也需要启动一个进程,多一行就需要多启动一个进程;不是每个用户启动一个进程,有几行(每行<50人)就需要启动几个 进程。 在启动了IP欺骗功能后,所需启动的进程数,还与选择的是按进程还是按线程来分配IP地址有关 按进程分IP:每个ip(负载生成器)就需要多启动一个进程; 按线程分IP:每个ip(负载生成器)不需要多启动一个进程。

 

     那个就是在VuGen中的Run-Time下的Miscellaneous中可以进行设置,就是为了说明启动每个Vuser时,用进程还是线程。

 

单行脚本和多行脚本是不是单脚本和多脚本的意思,单脚本和多脚本就是你录制好一个脚本之后保存好(假如名叫Test1),再录制一个脚本(名叫Test2),你可以在Controller中进行设置,可以运行Test1这一个脚本(单脚本),也可以Text1和Text2同时运行(多脚本),
可以在Controller可以设置他们的运行顺序、条件等;

run-time-setting(F4)中,可以通过设置Run Logic,只执行其中一个脚本。

转载于:https://www.cnblogs.com/zhengah/p/4613783.html

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

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

相关文章

释放内存软件_原来苹果手机这样清理内存,可以释放大量空间,真是太好用了...

相信大家都喜欢用苹果手机&#xff0c;给人感觉就是流畅&#xff0c;但是苹果手机使用久了&#xff0c;内存不足也会导致卡顿的&#xff0c;今天就来教大家清理苹果手机内存的方法&#xff0c;可以释放大量空间。一、正确卸载软件很多人在使用手机时&#xff0c;发现有些软件不…

linux用户取消密码,[Linux]linux下取消用户名和密码直接登录

假定目前只有root用户&#xff0c;则有如下两种方式可直接登录系统&#xff1a;方式一&#xff1a;1. passwd -d root, 但ssh必须要有用户名和密码&#xff0c;所以可以passwd root, 然后输入密码2. 修改/lib/systemd/system/serial-getty\.service#ExecStart-/sbin/agetty --k…

gitlab永久设置密码

在 .gitconfig 文件中加入&#xff1a; [credential] helper store .git-credentials close address转载于:https://www.cnblogs.com/rhxuza1993/p/7355952.html

strstr和strcchr查找字符串和区别

我们先看一串代码&#xff1a; <?php$str1 SDABCDEFGABCDEF; $str2 strstr($str1 , A); echo "strstr 结果: $str2 <br/>"; $str3 strrchr($str1 , A); echo "strrchr 结果: $str3 <br/>"; strstr 是找到我们所要查找的字符串&#…

剑指offer之合并已排序链表(递归实现)

1 问题 合并2个已经排好序的链接&#xff0c;比如 1->3->5->7 2->4->6 合并后新的链表如下 1->2->3->4->5->6->7 2 代码实现 #include <stdio.h> typedef struct Node {int val;struct Node *next; } Node;/**print list*/ void …

程序对拍

在一些特殊的比赛中&#xff0c;我们需要用一个暴力程序来验证一个采取了高效算法的程序是否正确&#xff0c;所以就有了对拍。 对拍程序&#xff1a; echo off :loop rand.exe>data.in std.exe<data.in>std.outmy.exe<data.in>my.out fc my.out std.out …

Xamarin效果第二十三篇之离线语音识别

在前面文章中简单玩了玩GIS的基本操作、Mark相关、AR、测距、加载三维白模、可扩展浮动操作和录音效果;今天抽空再来分享一下最近摸索的基于讯飞的离线语音识别效果,其实就简单用了一下离线命令词识别,看效果:1、先去控制台创建应用:https://console.xfyun.cn/app/myapp2、去组…

linux脚本漏洞,Silver Peak VX跨站脚本漏洞(CVE-2014-2975)

发布日期&#xff1a;2014-07-28更新日期&#xff1a;2014-07-30受影响系统&#xff1a;silver peak Silver Peak VX描述&#xff1a;--------------------------------------------------------------------------------BUGTRAQ ID: 68923CVE(CAN) ID: CVE-2014-2975Silver P…

php获取当前操作系统类型 PHP_OS

如果你想判断当前的系统类型&#xff0c;那么可以使用 PHP_OS 常量。 例如如下代码&#xff1a; <?phpecho PHP_OS; 输出&#xff1a; WINNT 那么我们可以这样&#xff1a; define(IS_WIN,strstr(PHP_OS, WIN) ? 1 : 0 );//(在tp3.2中看到就顺便拿上来了) 定义一个…

JSON.parse()和JSON.stringify()

为什么80%的码农都做不了架构师&#xff1f;>>> parse用于从一个字符串中解析出json对象,如 var str {"name":"huangxiaojian","age":"23"} 结果&#xff1a; JSON.parse(str) Object age: "23"name: "hu…

剑指offer之树的子结构

1 题目 输入两颗二叉树A和B&#xff0c;判断B是不是A的子结构&#xff08;B树是A树的子结构&#xff09; 比如&#xff1a; 2 树A 3 5 树B 5 1 4 2 3 2 3 很明显树B是树A的子结构 2 代码实现 #include <stdi…

如果编程语言是女孩子

试想一下&#xff0c;当Java、C、Python、Ruby、PHP、C#、JS等编程语言变成了动漫人物会是怎样的一幅场景呢&#xff1f;下面就一起看看在日本作家渡辺将人的笔下&#xff0c;各种编程语言都是哪类可爱的女孩子的吧&#xff01; 究竟心里有多喜欢&#xff0c;才能画出如此可爱的…

python中多维数组_python学习笔记-多维数组

Python中初始化一个5 x 3每项为0的数组&#xff0c;最好方法是&#xff1a;multilist [[0 for col in range(5)] for row in range(3)]我们知道&#xff0c;为了初始化一个一维数组&#xff0c;我们可以这样做&#xff1a;alist [0] * 5没错&#xff0c;那我们初始化一个二维…

【第四周作业】参加项目开发之后的一些体会

在参加项目开发之前&#xff0c;我没有任何的软件开发经验&#xff0c;所以这次参加项目开发完全是从零开始&#xff0c;从头学起。 这周上课时讲到了软件开发的过程中要注重高内聚、低耦合&#xff0c;这让我联想到了我的项目开发工作。在这次的项目开发中&#xff0c;我主要负…

在MAUI中使用Masa Blazor

Masa Blazor是什么在此之前我们已经介绍过什么是Masa Blazor&#xff0c;以及如何使用Masa Blazor&#xff0c;如果还有不了解Masa Blazor的同学可以看我上篇文章【初识Masa Blazor】。那么今天就带大家探索一下如何在MAUI中使用Masa Blazor,那么我们先来了解一下什么是MAUI&am…

linux如何调试elf程序,Linux应用程序elf描述

玩Linux的人应该明白ELF文件是一种文件格式&#xff0c;就好比.txt&#xff0c;.doc等一样&#xff0c;只是这个文件是按照特定信息排列组成&#xff0c;同样在windows上也存在一种格式&#xff0c;它叫PE&#xff0c;老的叫dos。下面我就来看看ELF文件里面到底有什么, 以hello…

剑指offer之二叉树的镜像

1题目 求二叉树A的镜像&#xff0c;就是对称图&#xff0c;比如下面的树B是树A的镜像 比如&#xff1a; 2 2 树A 3 5 树B 5 3 1 4 2 3 3 2 4 1 2 代码实现 #include <std…

php is_dir 判断是否存在这目录

is_dir 可以用来判断目录是否存在 例如&#xff1a; <?phpvar_dump(is_dir(e11/)); 判断当前目录是否存在下的e11这个目录是否存在&#xff0c;结果输出&#xff1a; bool(false) 那么假如我存在一个名字为e的目录&#xff0c;那么&#xff1a; var_dump(is_dir(e/))…

C#操作Office.word(三)

前面两篇博客讲解了怎么通过程序控制word的生成&#xff0c;包括生成文字、添加表格、添加图片等。这篇博客主要说一下怎么把word图片转换成pdf。 using System; using System.Collections.Generic; using System.Linq; using System.Text;using Microsoft.Office.Core;namespa…

exchange2013 owa-outlook界面语言

环境&#xff1a;Exchange 2013客户需求&#xff1a;在海外有分支机构&#xff0c;希望这些人的owa和outlook都是英文一般在登陆owa时&#xff0c;通过用户名和密码验证完成后会提示选择语言和时区&#xff0c;根据客户端的浏览器里面的语言会有一个默认选项英文系统中文系统Ou…