Highlighted
Trusted Contributor.
Trusted Contributor.
842 views

Why run Vuser as a Process?

Jump to solution

"When Vuser is run as a process, the same driver program is loaded into memory for each Vuser. This will take a large amount of memory and will limit the number of Vusers you can run on a single generator.

When Vuser is run as a thread, only one instance of driver program is shared by given number of Vusers. You can run a number of Vusers on a single generator using the multi-threading mode."

Understood the point, when the end goal is to eventually save the memory and have more efficiency, then:
a.What is the purpose of giving an option to run as a Process. ?
b. What is the real significance of this option given in this tool?
c. Do we have any real life application running around us satisfying example to run as script as a process.?

Expecting a really good explanation!

Best regards,
Nikhil Mishra

0 Likes
1 Solution

Accepted Solutions
Highlighted
Acclaimed Contributor.
Acclaimed Contributor.

Hi,

There are protocols that support running as process only and there are such that support both.

In the past, early versions of LoadRunner, thread mode didn't exist hence there was no other choice. When thread mode was introduced for some protocols, we wanted to keep the previous option for backward compatibility.

In the majority of the cases I wouldn't change the default option. The only consideration for running as a process is for ensuring test stability. When running as threads 50 Vusers are running under the scope of one process. If there is an unhandled exception (in LR code, not the script code) which is caused by one of the Vusers, the mdrv process will crash and all Vusers running under it will fail. If you do not need to run high workload and you experienced such instability (e.g. "abnormal termination of mdrv process") than you may consider using process mode. Since it is relatively rare I wouldn't rush to using it.

Regards,
Shlomi

View solution in original post

0 Likes
1 Reply
Highlighted
Acclaimed Contributor.
Acclaimed Contributor.

Hi,

There are protocols that support running as process only and there are such that support both.

In the past, early versions of LoadRunner, thread mode didn't exist hence there was no other choice. When thread mode was introduced for some protocols, we wanted to keep the previous option for backward compatibility.

In the majority of the cases I wouldn't change the default option. The only consideration for running as a process is for ensuring test stability. When running as threads 50 Vusers are running under the scope of one process. If there is an unhandled exception (in LR code, not the script code) which is caused by one of the Vusers, the mdrv process will crash and all Vusers running under it will fail. If you do not need to run high workload and you experienced such instability (e.g. "abnormal termination of mdrv process") than you may consider using process mode. Since it is relatively rare I wouldn't rush to using it.

Regards,
Shlomi

View solution in original post

0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.