Site: http://www.wilsonmar.com/perftest.

htm (I) Application Components' Requirements Loadrunner makes use of four executables with different system requirements

Application Product
Launcher Virtual User Generator Controller Monitors with On-Line

Process Image Name
LRLauncherApp.exe VuGen.exe wlrun.exe magentproc.exe magentservice.exe mdrv.exe

Process KB V9.51 V9.0 V8.0

File Size
n/a

- 15,840 16,288

36,024 23,980 12,436 2,334,769 - 61,312 13,076 5,681,215 2,684 26,768 64,460 13,132 6,058,496 3,403,833 3,336 3,496 3,236 65,536

Load Generator Agent

Analysis Tuning Console

Analysisui.exe protune.exe

Console programs

perl5.8.0.exe Interpreter regtlb.exe sed.exe wdiff.exe

20,535

registers the batch automation type library 30,720 GNU sed (gsed) version 2.05 Compares text files 55,296 197,632

Alex Arbitman's LR 7.8 Footprints.xls reports that to run Web requires __ per process and __ per thread.

8. point to Programs (or Control Panel). 3. Terminal Server only allows two simultaneous connections. 2. 4. the Terminal Services on each machine should be configured as follows: 1. however. 5. do not click "X" on the remote desktop window but click Start and Log Off. Set Idle session limit to the maximum of 2 days instead of the default 2 hours. 7.Using Windows Remote Desktop Connection Remote Desktop Connection (part of the Terminal Services that comes with Winodows XP) is not as reliable with LoadRunner as Remote Administrator. Click Apply. Make sure "Override user settings" is checked. To keep Windows Remote Desktop Connection sessions from timing out during a test." Make sure that when you do this you're not violating one of your corporation's security policies. Click OK to confirm message "Configuration changes have been made to the system registry. Right-click RDP-Tcp and select Properties. Click the Sessions tab. Open the Connections folder in tree by clicking it once. 6. To disconnect from a session. Administrative Tools and choose Terminal Services Configuration. Click Start. . the user session now active on the RDP-Tcp connection will not be changed.

Others who have encountered this same problem solved this by re-imaging the LoadRunner machine and cussing at HP's copyright protection gone wild. Some documents say "disable" spyware before attempting setup. The Solution Invoke regedit to see if a "PendingFileRenameOperation" is waiting unsatisfied under the ." I rebooted and restarted the machine several times. The logic is that it's better to avoid doing the install with something that can be "easily fixed" (by completing the install) than to plow on with an install that may be interrupted by possible malware. Perhaps the LoadRunner developer who wrote the pop-up message didn't have enough room in the message to say this clue: Rebooting Windows is not resolving "PendingFileRenameOperation" or "RunOnce" requests in the Windows Registry.0.10 setup after I had uninstalled LoadRunner 9.(II) Install and Uninstall Load Runner: The Annoyance I began writing this page because this message pops up when I ran the LoadRunner 9. but still got this message when I ran LoadRunner setup. As it turns out. Or perhaps a dutiful programmer proposed putting this in the message to "users". But doing so does not necessarily remove keys in the Registry that creates the problem. The people who wrote that message from LoadRunthe setup are actually trying to tell us something like "your fly is open" -. Out of self-defense. Alejandro at HP's help desk helped me identify the problem as having to do with geeky paranoia and incomplete instructions rather than HP's greed and distrust. I investigated further before pulling out my Windows install CDs. but someone would redact it after saying "oh. But being the stubborn sort. LoadRunner setup was (understandably) written such that it doesn't allow itself to be installed on a machine if its Windows Registry has other installation tasks that may conflict with LoadRunner.reboot did not complete all tasks specified for it in the Windows Registry. "Setup has determined that a previous installation has not completed. nobody would understand this" because the assumption is that monkeys are running LoadRunner (even though it takes deep and wide experience in multiple technologies to be an effective Performance Engineer). You should restart the system in order to complete this process.

it's still a good idea to start from a fresh install of Windows to setup LoadRunner if your are also running programs to "harden" the LoadRunner machine.. Windows Update. like a forelorn animal howling in the night.small.. some spyware (and anti-spyware) add such entries to make some programs load after reboot. For example.ini In the folder where LoadRunner is installed: .ini wlrun7. There are plenty of legitimate reasons for LoadRunner doing this.hst wlrun7.ini LRAnalysis80. Deleting it from the registry enabled LoadRunner setup to continue on its merry way.key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager One example I deleted is: \??\C:\Program Files\McAfee\SiteAdvisor\Download. A "Run Once" registry key entry can exist in several places: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOn ce HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce Windows may get stuck with these entries if someone runs a setup program that requires a reboot (as LoadRunner does).ini LoadRunner.log vugen. it leaves that request in the registry on the oft chance that the file sought will someday turn up.ini wlrun. And when Windows can't carry out the deed. My suggestion to LoadRunner programmers is to look for the key LoadRunner places in the Windows Registry during setup rather than throwing up if there are ANY unresolved items there. The key "PendingFileRenameOperation" doesn't seem to have anything to do with LoadRunner. chances are that it has placed a RunOnce or pending request in the Registry. but deletes that program before rebooting. Files LoadRunner Installs Within the C:\WINDOWS folder: wlrun5. BTW. If an installer is asking for a reboot after install.dft wlrun7.

dll cfgamp32.dll OTAClient75.usr (usrfile) .AlarmForm {63500231-6E2E-11D5-8FA2-0050DADE7977} ChartXControl.dll (in versions prior to 9. The {GUID} identified below may change for different versions of LoadRunner.lra (lrafile) .50 \Bradbury\TopStyle3\ (for CSS) \LogiXML IES Dev\ (for Logi Report) Version 6 of LoadRunner created folder C:\Borland or C:\BDE.lrs (lrsfile) .lrr (lrrfile) .x Within Program Files\Common Files \Mercury\LoadRunner cfgamp16..dll cfgams32.. Registry HKEY_CLASSES_ROOT\ • • • • • • • • • • .dll Within Program Files beginning with LR9.Program Files\HP\LoadRunner for V9.dll TDClntui.usz (uszfile) AppID AlarmUI.x). Within folder TD2000: TDClientBridge.dll . o {B76D5F44-03E4-11D3-9283-C64D8B000075} o {D3C57C51-C5FF-11D4-9D53-00010219EE58} WebTDClient75.exe shell open command CLSID\.dll \Mercury Interactive Within folder TDAPIClient: tdclient.MercChartX Applications\ MercuryTestLauncher.10 Program Files\Mercury\LoadRunner for V8. Windows Registry Entries LoadRunner affects keys within several Windows Registry keys at the high level: o o o o HKEY_CLASSES_ROOT\ (HKCR) HKEY_CURRENT_USER\ (HKCU) HKEY_LOCAL_MACHINE\SOFTWARE\ (HKLM) HKEY_USERS and HKEY_CURRENT_CONFIG are not involved.

1 {5663EA4D-B08A-4c2c-891C-A52F86232425} Mercury.1 {3B914604-E649-11d4-8ED6-00010219EB22} Mercury.CTulipAppInfo.WebInstall {4467E665-9E9B-4581-9404-B66B1334D391} LoadRunnerVbs.1 {5CD35D0F-A8B8-11d4-8EE1-0050DAC7E22B} Mercury.AuthenticationInfo.1 {5CD35D11-A8B8-11d4-8EE1-0050DAC7E22B} Mercury.SSViewerGen.LogViewer {11E78AA6-0A77-4F38-8D8B-3EDFE1D72FF1} {13DEC812-375A-11D6-8F4E-00010219EB22} RegObject Class {1481E305-A705-40fb-B423-AB469C5C7452} Mercury.OleTDManagement {094B6D13-927B-4a6f-AA5F-D6CFB9C4E6CC} Mercury.SSHWeb.CoParamManager.1 {5B11E47A-FD3E-4bf3-BB3B-041C37630930} SnapshotViewer {5CD35D01-A8B8-11d4-8EE1-0050DAC7E22B} Mercury.WebRecorder.DataRetriever.com_config. {03B7A5D4-96B0-4316-95F8-072D326A58F1} Mercury.MLFPHandler.SSVBrowserSite.1 {272FE7F7-AF80-11D2-A812-006008CB5184} {27A440A6-0562-477c-B418-816DE836CA89} Mercury.WebRecProfile.1 {09E68994-9378-4B0F-8CC5-CE90D7209618} Mercury.1 {58FB9490-8FB8-415B-AA26-546D26D18327} Mercury. {F8E77BA7-2E76-11d5-8F3A-0050DAC65DC0} {4F5C33EA-62AD-11D2-AF47-00600855298D} tdclient.1 {5CD35D0C-A8B8-11d4-8EE1-0050DAC7E22B} Mercury.DbQueryMgr.1 {04B55BC3-33DE-4d79-94EC-830CDF96CC82} {05D7ED7C-3702-45CB-9346-5382E74E29CD} Mercury.1 {5CD35D07-A8B8-11D4-8EE1-0050DAC7E22B} Mercury.1 {30A9F512-A8BC-11D4-8EB6-00010219EB14} Mercury.ExpTestZipUI.1 {5672CF15-AD6E-11d4-9031-0050DA4F35E9} Mercury.StreamingHelper {3F97DCD2-A2DD-418B-BD7A-51830A67CB41} MicFinger Class {404AB5E9-8899-11D4-93FB-0050DA17B502} {41CD3A00-0FC2-4289-B252-DF7A86B6EAAB} OrchidInstallationUtil.RtbConnection.XMLStorageWrapper.1 {5F5D7220-0AEC-11d4-93DF-68E9B8000000} IMercJavaEventMonitor .dll.1 {367B8AAB-DFDD-49e8-B6A6-154B5055ADA7} Mercury.SSViewerWindow.RunLogicViewCtrl.1 {29661E3B-F2F1-471a-8932-934DDC8C9DE5} Mercury.WebRecorder.1 {5672CF17-AD6E-11d4-9031-0050DA4F35E9} Mercury.dll.1 {2321AD39-CD18-486b-9552-AFB51ADD0F7A} Mercury.CoDbIfs.FileSystemObjMng.1 {5CD35D0A-A8B8-11d4-8EE1-0050DAC7E22B} Mercury.TDIntegrationManager.ImgVerifyCtrl.o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o {f4e856f9-fcd7-11d4-9d8a-0001029deaf5} {f4e856ac-fcd7-11d4-9d8a-0001029deaf5} OTAClient75.1 {16ABFED5-DAEF-11D2-A827-006008CB5184} {16ABFED6-DAEF-11D2-A827-006008CB5184} {192535C2-AB16-486f-BBD1-398A4F394F14} WebTestScript Class {1F3DD0A1-12D8-11d5-8EC9-0050DA4F35E9} Mercury.1 {3F2FF09B-8EA7-498B-ACAD-E95205E59381} LoadRunnerVbs.RecordSetHelper {4512D805-ABEE-4765-BE94-9BFA3F6B4249} MercWebBrowserCtl Class {479B30A8-93C1-11d4-8EBA-0001022C3670} Mercury.1 {2F887771-BA3A-11D4-9321-00105A398F5A} Mercury.MercListEntry.WebRecorder.1 {5E6A015E-1101-45c8-BAAC-EFC1AC497E68} Mercury.MICFingerButton.

Array1D o o o o .1 o {86C4A853-6AC6-450E-BA78-D87701596FA5} Mercury.MercXMLParser.1 o {EEB656CE-6315-43b6-9129-CCA1C63DB308} Mercury.1 o {E4CB50F0-E242-11D4-8ED6-00010219EB22} Mercury.1 o {E933439A-81A1-11d4-8EEE-0050DA6171E8} wlrun.ObjectFactory o {A5C16D98-B31B-4809-9389-3FF3B049A037} LoadRunnerVbs.LrEngine o {EBE09E4A-FE7E-4B1C-8C26-B17D5FD6C025} OrchidInstallationUtil.1 o {B05FEFEA-A1E5-4ab2-8A7E-C8C108753B40} Mercury.1 o {FDBC1531-94CF-4d1e-9195-2E4DF5E24014} Mercury.1 o {A2F79137-CFEB-11D2-A821-006008CB5184} MercParamEdit.TextVerCtrl o {E06D5D95-CF07-11D2-A821-006008CB5184} MERCPARAMCOMBOBOX.VirtualPrivateProfileFunc.SecurityManager.SSVHtmlEvents.ScripttreeCtrl.MercParamComboBoxCtrl.WebBrowserIfs.Array1D o {AA6A4518-1011-11D6-8FC7-000102E1504D} Mercury.RecordStore {827945F0-D396-42dc-A434-B2CF086F4279} Mercury.MercPoint.QTPParserCls.WSChangeStorage.1 o {E4CB5131-E242-11D4-8ED6-00010219EB22} Mercury.2 o {A20EDA6C-F778-4760-8007-EEFF353A134C} Mercury.XMLParseTreeNode.1 o {F76C4218-C04D-4196-9DA2-F3306CA9E4BA} Mercury.RealFilesHandler.exe o {D9EB5893-4D94-4749-9FC0-7D12A0CF4E1A} LoadRunnerVbs.2 IMercJavaEventMonitor\CLSID LoadRunnerVbs.2 o {B881172E-3FD3-4D90-B8C9-685DACD1F9E1} OrchidInstallationUtil.OTDDlg {806D266A-463D-45C8-95F1-16BDE6674800} LoadRunnerVbs.1 o {91E8C671-011D-42dd-962D-FFAEA3A7CAB9} Mercury.ResultPropmptDlg.• • iehook.SaveFromURL.1 o {97BE81F7-5A00-41c8-B601-07DE2DE618A1} Mercury.1 o {CD2425E4-8141-11D0-8CE4-444553540000} vugen.OGenFileDlg o {F3AD38E5-F315-4e6e-B6E3-DCE27F9340C3} Mercury.SSEventsObj.MercObjectTable.1 {863D0363-25C3-439A-A562-D890DD50D255} WebStudioDocuments.1 o {F3335396-0B86-4B77-B86A-939200D8B3D6} Mercury.dll {6756830B-979E-446E-819C-95CF85FFF4F8} Mercury.ReportLogger.DBChecker o {EC422B12-D4CD-11D3-B400-006008CB5184} Mercury.Array2D o {DC6E0A51-DCE8-11D5-8FC6-000102E1515B} Mercury.1 o {A58438D0-DDC4-4CBB-AEF5-CAE332472C71} LoadRunnerVbs.Logger.ocx o {A44A3EDE-9271-11D6-8F56-00010219EB22} Mercury.TestSettingsSpecifier.DBChecker o {EBE09E4A-FE7E-4B1C-8C26-B17D5FD6C025} OrchidInstallationUtil.1 o {FC0EF39A-766D-42E9-B301-5E8424C08F60} Mercury.exe o {C4DD22C6-93B1-11D4-929E-0050DA17B5AF} ChartXControl.MercXMLParser o {FB725F23-62B6-46b2-8955-AD91AB49D77E} Mercury.WebBrwsr.WSScriptHandler.MercChartX o {CB4AF487-8CC7-44a3-8E91-66B8FFF0B60A} Mercury.1 o {ED47ED9C-1A39-4F8B-A93C-79DE00440D35} Mercury.SortCheckListCtrl.1 o {AF3818AD-DBFA-11D4-9329-00105A398F5A} Mercury.MercHexView.XMLStorage.1 o {916D7BA4-C07A-11D4-8EC7-0050DAC7E3B6} Mercury.XMLStorage.

dll o {BAB15BC5-13E3-11D6-8FC8-000102E1504D} o {BBA07232-9521-11D4-8EF8-0050DA6171E8} LoadRunner Automation Library o {BCBB51B6-84C1-4E91-918F-31EE658A084A} OrchidInstallationUtil.RecordStore LoadRunnerVbs.dll o {E669FB52-A25C-47A8-A074-5DE594D6F1AA} o {E9E295C3-C2C0-11D1-AE8F-0080C864B3EA} paramx.Array2D LoadRunnerVbs.LRControl.tlb o {87B58835-DD9A-11D5-8FCD-000102E1515B} tulip\bin o {8842EB10-CA3F-11D1-AE93-0080C864B3EA} LoadRunner COM vuser template o {916D7BA1-C07A-11D4-8EC7-0050DAC7E3B6} o {9C6BDDD0-4ADA-11D3-806C-00C04FADCAFF} sapw3img.StreamingHelper TypeLib\ o {0560DCE8-8B2C-4B50-9550-647D6179041D} treport.LRControl  LRCtrl.dll usrfile DefaultIcon and HKEY_LOCAL_MACHINE\SOFTWARE\Classes  lra_auto_file  LRCtrl.tlb o {B8987970-250C-11D3-8060-00C04FADCAFF} sapw3grid.dll o {4E122CB1-8218-11D2-A803-006008CB5184} o {4EDCFB13-DC20-4619-BC6F-B77416F89F31} OnlineAnalysisEx.tlb o {5CD35D08-A8B8-11D4-8EE1-0050DAC7E22B} RunLogicView ActiveX Control module o {6AF3DC46-201A-448E-8934-890761B39BF7} LoadRunnerVbaInterpreter o {7E75B111-DD20-11D2-8E78-0060089A646A} operatertb.• • • • • • • • LoadRunnerVbs.ObjectFactory LoadRunnerVbs.1  lrr_auto_file  lrsfile  Lrun Document  LrunFileType .RecordSetHelper LoadRunnerVbs.dll o {3897E5F6-86C1-4DD0-BFDC-99252A314C34} o {48A94F51-5E05-11D3-88A3-00105AAFE31C} LoadRunner COM Vuser2 template o {4D01D2A0-1558-11D3-805C-00C04FADCAFF} sapw3dumm.dll o {ADCA5BA0-45E7-11D3-8068-00C04FADCAFF} sapw3dock.dll o {9DF5252F-9F7F-43E8-AC31-7E8B9FAA07B8} o {A755C870-A253-11D1-8010-00C04FADA264} sapw3tcn.exe o {1B859586-E74C-4F4B-A79B-929B702EAFC6} LoadRunner : Socket-Plus API Type Library o {272FE7F4-AF80-11D2-A812-006008CB5184} o {2C32E7B0-1DE3-11D3-805C-00C04FADCAFF} sapw3split.dll o {B4290BC0-DD49-11D2-8E78-0060089A646A} rtbevents.dll o {2F887770-BA3A-11D4-9321-00105A398F5A} tulip\bin o {33F9D2D2-F694-11D2-805B-00C04FADCAFF} sapw3ctr.exe o {DC863701-894E-11D1-800C-00C04FADA264} sapw3sh.

.MercParamButtonCtrl.1 MERCPARAMEDIT.1 Mercury.hlp Classes\Interface\.TDConnection WebUpdate\LoadRunner Registry HKEY_LOCAL_MACHINE\SOFTWARE\ • • Microsoft\Windows\Help Teeuser5.com/download/LoadRunner/User/ HKEY_CURRENT_USER \ Software \ Mercury Interactive \ LoadRunner several keys HKEY_USERS\S-1-5-21-1214440339-1682526488-1060284298-1003\ o Software\Borland\Locales o Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.usr MercuryTestLauncher. TDApiOle.     o MERCPARAMBUTTON.mercury.. o {16ABFED3-DAEF-11D2-A827-006008CB5184} _DMercParamButton o {16ABFED4-DAEF-11D2-A827-006008CB5184} _DMercParamButtonEvents o {272FE7F5-AF80-11D2-A812-006008CB5184}_DMercParamEdit o {272FE7F6-AF80-11D2-A812-006008CB5184} _DMercParamEditEvents o {3AB7791E-7D1C-4323-A7AD-55B8CE3F7AB4} IMercObjectTable o {42CB9550-1E3C-4BC2-A8F1-222A76046AA3} IMercXMLParser o {65E3B224-908D-11D3-A87E-006008CB5184} IMercWebBrowserCtl o {65E3B226-908D-11D3-A87E-006008CB5184} _IMercWebBrowserCtlEvents o {A2F79135-CFEB-11D2-A821-006008CB5184} _DMercParamComboBox o {A2F79136-CFEB-11D2-A821-006008CB5184} _DMercParamComboBoxEvents o {B9545330-D8AA-11D3-B402-006008CB5184} _IMercHexViewEvents o {BFE0999F-E553-11D3-B40A-006008CB5184} IMercListEntry o {C4DD22C2-93B1-11D4-929E-0050DA17B5AF} IMercChartX o {C4DD22C4-93B1-11D4-929E-0050DA17B5AF} IMercChartXEvents o {EC422B11-D4CD-11D3-B400-006008CB5184} IMercHexView o • Mercury Interactive Registry HKEY_CURRENT_USER\ • • • HKEY_CURRENT_USER\Software\Microsoft\Office\11..0\Common\Internet\Server Cache\http://support..MercParamComboBoxCtrl..MercParamEditCtrl.1 MERCPARAMCOMBOBOX.exe .

(III)Why Load Test? Scability Testing buys us confirmation of predictions about what will happen before it happens. This is obtained by conducting Speed (performance) testing The difference between the current load (the actual demand) and usable capacity from load testing . Most web hosts today control overload by issuing "Service Unavailable". The existing capacity of the system is ideally defined by the usable capacity at a point of load where users noticeslow response time is noticeable. Load testing provides measurements for Capacity Managers to anticipate the true capacity of IT resources: whether it can really support the peak workloads anticipated. buying the lead time to do the right thing when additional capacity is needed. identifies the predicted point of failure where servers fail to handle The biggest actionable concern is time needed to recover from overload. Stress (Overload) testing loads.

000 pages current = 30. this chart gives actionable meaning to production monitoring.30. The amount of workload growth is 60.000 hits per hour and (dividing by the average of 10 resources per page as determined using HTTPWatch or YSlow) yields 30. Divided by 60 seconds in each minute means 2. which can be shortened by a more agile approach.74%.000 pages per hour or 20. So 30. A conversation with Marketing department obtained the prediction of a 100% increase in workload by the same time next year.000 user transactions per hour.30. Subtracting the current capacity means there are 50.000 hits per hour or 60. The work of capacity management is finding a balance between the unused expense of having too much idle capacity against the risk of reputation-damaging problems from not enough capacity.000 pages per hour of reserve capacity growth remaining. Lead time include time for planning and testing. D.667 transactions per minute.000 pages per hour. Thus.000 * 0. Subtracing the lead time from that date yields the the Trigger Point when upgrade work should begin.000 .000 pages per hour.2 more pages per day growth each day. Upgrades to capacity can be smoother if there is what the ITIL methdology calls a common Forward Schedule of Changes (FSC).000 pages . B. response time degrades after 50. on average (assuming a linear growth pattern).778 transactions per second. A meeting with analysts (using Google Analytics) identify that each user transaction averages just 3 pages. .000 / 3 means that there are currently 10.000 user transactions per hour. Subtracting the amount of capacity growth during the lead time yields the threshold of workload which should trigger an upgrade.0274 = 82. Load test runs find that the current system fails when load reaches 60.000 = 20. Sample Capacity Projection Calculations A. So this means that the workload rate will double to 600. Divided by 60 minutes in an hour means 166. the daily growth rate is 30. The approximate date when usable capacity will be reached can be calculated by dividing into the usable reserve capacity the rate capacity usaage is growing (per day).000 pages per hour. However. C. Since each day is 100% / 365 = 2.is the realreserve capacity — the amount of "head room" for growth or the ability to handle variation in demand.000 pages per hour. An analysis of archived Weblogs reveal the current daily peak of 300.

2 per day * 24 = 98.686 = 39. .640 more pages per hour. During the lead time. This means that upgrading action should begin no later than 40 + 10 = 50 days of lead time before the usable capacity limit is reached.314.000 . If the predicted growth actually occurs accurately. the anticipated growth in workload over 50 days * 82. the workload trigger point is when the workload reaches 50.2 = 243 days of growth remaining. E. install. which is generally 10 days. That is when there is no queue in Operations.This translates into 20. configure. test.10. and switch over before a machine can be used. receive.50 = 193 days.000 / 82. Working backward. A conversation with Operations reveals that it takes 40 days to order. this trigger point will be reached in 243 .