Академический Документы
Профессиональный Документы
Культура Документы
htm
(I)
Console programs
Alex Arbitman's LR 7.8 Footprints.xls reports that to run Web requires __ per process
and __ per thread.
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.
To keep Windows Remote Desktop Connection sessions from timing out during a
test, the Terminal Services on each machine should be configured as follows:
1. Click Start, point to Programs (or Control Panel), Administrative Tools and
choose Terminal Services Configuration.
2. Open the Connections folder in tree by clicking it once.
3. Right-click RDP-Tcp and select Properties.
4. Click the Sessions tab.
5. Make sure "Override user settings" is checked.
6. Set Idle session limit to the maximum of 2 days instead of the default 2
hours.
7. Click Apply.
8. Click OK to confirm message "Configuration changes have been made to
the system registry; however, the user session now active on the RDP-Tcp
connection will not be changed."
Make sure that when you do this you're not violating one of your corporation's security
policies.
The Annoyance
I began writing this page because this message pops up when I ran the LoadRunner 9.10 setup after
I had uninstalled LoadRunner 9.0.
I rebooted and restarted the machine several times, but still got this message when I ran
LoadRunner setup.
Others who have encountered this same problem solved this by re-imaging the LoadRunner
machine and cussing at HP's copyright protection gone wild.
But being the stubborn sort, I investigated further before pulling out my Windows install CDs.
As it turns out, 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.
The people who wrote that message from LoadRunthe setup are actually trying to tell us something
like "your fly is open" -- reboot did not complete all tasks specified for it in the Windows
Registry.
Out of self-defense, 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. 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:
Or perhaps a dutiful programmer proposed putting this in the message to "users", but someone
would redact it after saying "oh, 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).
Some documents say "disable" spyware before attempting setup. But doing so does not necessarily
remove keys in the Registry that creates the problem.
The Solution
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager
\??\C:\Program Files\McAfee\SiteAdvisor\Download...
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), but deletes that program before rebooting. And when Windows can't carry
out the deed, it leaves that request in the registry on the oft chance that the file sought will someday
turn up, like a forelorn animal howling in the night.
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.
There are plenty of legitimate reasons for LoadRunner doing this. For example, Windows Update,
some spyware (and anti-spyware) add such entries to make some programs load after reboot. If an
installer is asking for a reboot after install, chances are that it has placed a RunOnce or pending
request in the Registry.
BTW, 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.
wlrun5.ini
wlrun7.dft
wlrun7.hst
wlrun7.ini
wlrun.ini
LRAnalysis80.ini
LoadRunner.log
vugen.small.ini
\Mercury\LoadRunner
cfgamp16.dll
cfgamp32.dll
cfgams32.dll
\Mercury Interactive
Within folder TDAPIClient:
tdclient.dll
TDClntui.dll
OTAClient75.dll (in versions prior to 9.x).
Within folder TD2000:
TDClientBridge.dll
LoadRunner affects keys within several Windows Registry keys at the high level:
o HKEY_CLASSES_ROOT\ (HKCR)
o HKEY_CURRENT_USER\ (HKCU)
o HKEY_LOCAL_MACHINE\SOFTWARE\ (HKLM)
o HKEY_USERS and
HKEY_CURRENT_CONFIG are not involved.
The {GUID} identified below may change for different versions of LoadRunner.
Registry HKEY_CLASSES_ROOT\
• .lra (lrafile)
• .lrr (lrrfile)
• .lrs (lrsfile)
• .usr (usrfile)
• .usz (uszfile)
• AppID
• AlarmUI.AlarmForm {63500231-6E2E-11D5-8FA2-0050DADE7977}
• ChartXControl.MercChartX
• Applications\ MercuryTestLauncher.exe shell open command
• CLSID\...
o {B76D5F44-03E4-11D3-9283-C64D8B000075}
o {D3C57C51-C5FF-11D4-9D53-00010219EE58} WebTDClient75.dll
o {f4e856f9-fcd7-11d4-9d8a-0001029deaf5}
o {f4e856ac-fcd7-11d4-9d8a-0001029deaf5} OTAClient75.dll,
o {F8E77BA7-2E76-11d5-8F3A-0050DAC65DC0}
o {4F5C33EA-62AD-11D2-AF47-00600855298D} tdclient.dll,
o {03B7A5D4-96B0-4316-95F8-072D326A58F1} Mercury.MLFPHandler.1
o {04B55BC3-33DE-4d79-94EC-830CDF96CC82}
o {05D7ED7C-3702-45CB-9346-5382E74E29CD} Mercury.OleTDManagement
o {094B6D13-927B-4a6f-AA5F-D6CFB9C4E6CC} Mercury.SSVBrowserSite.1
o {09E68994-9378-4B0F-8CC5-CE90D7209618} Mercury.LogViewer
o {11E78AA6-0A77-4F38-8D8B-3EDFE1D72FF1}
o {13DEC812-375A-11D6-8F4E-00010219EB22} RegObject Class
o {1481E305-A705-40fb-B423-AB469C5C7452}
Mercury.WebRecorder.WebRecorder.1
o {16ABFED5-DAEF-11D2-A827-006008CB5184}
o {16ABFED6-DAEF-11D2-A827-006008CB5184}
o {192535C2-AB16-486f-BBD1-398A4F394F14} WebTestScript Class
o {1F3DD0A1-12D8-11d5-8EC9-0050DA4F35E9} Mercury.CoDbIfs.1
o {2321AD39-CD18-486b-9552-AFB51ADD0F7A} Mercury.SSViewerGen.1
o {272FE7F7-AF80-11D2-A812-006008CB5184}
o {27A440A6-0562-477c-B418-816DE836CA89} Mercury.SSHWeb.1
o {29661E3B-F2F1-471a-8932-934DDC8C9DE5} Mercury.SSViewerWindow.1
o {2F887771-BA3A-11D4-9321-00105A398F5A} Mercury.ImgVerifyCtrl.1
o {30A9F512-A8BC-11D4-8EB6-00010219EB14} Mercury.AuthenticationInfo.1
o {367B8AAB-DFDD-49e8-B6A6-154B5055ADA7} Mercury.MICFingerButton.1
o {3B914604-E649-11d4-8ED6-00010219EB22} Mercury.FileSystemObjMng.1
o {3F2FF09B-8EA7-498B-ACAD-E95205E59381}
LoadRunnerVbs.StreamingHelper
o {3F97DCD2-A2DD-418B-BD7A-51830A67CB41} MicFinger Class
o {404AB5E9-8899-11D4-93FB-0050DA17B502}
o {41CD3A00-0FC2-4289-B252-DF7A86B6EAAB}
OrchidInstallationUtil.WebInstall
o {4467E665-9E9B-4581-9404-B66B1334D391} LoadRunnerVbs.RecordSetHelper
o {4512D805-ABEE-4765-BE94-9BFA3F6B4249} MercWebBrowserCtl Class
o {479B30A8-93C1-11d4-8EBA-0001022C3670} Mercury.CTulipAppInfo.1
o {5663EA4D-B08A-4c2c-891C-A52F86232425}
Mercury.WebRecorder.WebRecProfile.1
o {5672CF15-AD6E-11d4-9031-0050DA4F35E9} Mercury.DbQueryMgr.1
o {5672CF17-AD6E-11d4-9031-0050DA4F35E9} Mercury.DataRetriever.1
o {58FB9490-8FB8-415B-AA26-546D26D18327} Mercury.XMLStorageWrapper.1
o {5B11E47A-FD3E-4bf3-BB3B-041C37630930} SnapshotViewer
o {5CD35D01-A8B8-11d4-8EE1-0050DAC7E22B} Mercury.ExpTestZipUI.1
o {5CD35D07-A8B8-11D4-8EE1-0050DAC7E22B} Mercury.RunLogicViewCtrl.1
o {5CD35D0A-A8B8-11d4-8EE1-0050DAC7E22B} Mercury.com_config.1
o {5CD35D0C-A8B8-11d4-8EE1-0050DAC7E22B} Mercury.RtbConnection.1
o {5CD35D0F-A8B8-11d4-8EE1-0050DAC7E22B} Mercury.CoParamManager.1
o {5CD35D11-A8B8-11d4-8EE1-0050DAC7E22B} Mercury.MercListEntry.1
o {5E6A015E-1101-45c8-BAAC-EFC1AC497E68}
Mercury.TDIntegrationManager.1
o {5F5D7220-0AEC-11d4-93DF-68E9B8000000} IMercJavaEventMonitor
iehook.dll
o {6756830B-979E-446E-819C-95CF85FFF4F8} Mercury.OTDDlg
o {806D266A-463D-45C8-95F1-16BDE6674800} LoadRunnerVbs.RecordStore
o {827945F0-D396-42dc-A434-B2CF086F4279} Mercury.TestSettingsSpecifier.1
o {863D0363-25C3-439A-A562-D890DD50D255}
WebStudioDocuments.MercObjectTable.1
o {86C4A853-6AC6-450E-BA78-D87701596FA5}
Mercury.WebBrwsr.WebBrowserIfs.1
o {916D7BA4-C07A-11D4-8EC7-0050DAC7E3B6} Mercury.ScripttreeCtrl.1
o {91E8C671-011D-42dd-962D-FFAEA3A7CAB9} Mercury.SSEventsObj.1
o {97BE81F7-5A00-41c8-B601-07DE2DE618A1} Mercury.ReportLogger.2
o {A20EDA6C-F778-4760-8007-EEFF353A134C} Mercury.XMLStorage.1
o {A2F79137-CFEB-11D2-A821-006008CB5184} MercParamEdit.ocx
o {A44A3EDE-9271-11D6-8F56-00010219EB22} Mercury.SaveFromURL.1
o {A58438D0-DDC4-4CBB-AEF5-CAE332472C71}
LoadRunnerVbs.ObjectFactory
o {A5C16D98-B31B-4809-9389-3FF3B049A037} LoadRunnerVbs.Array1D
o {AA6A4518-1011-11D6-8FC7-000102E1504D} Mercury.SortCheckListCtrl.1
o {AF3818AD-DBFA-11D4-9329-00105A398F5A} Mercury.ResultPropmptDlg.1
o {B05FEFEA-A1E5-4ab2-8A7E-C8C108753B40} Mercury.Logger.2
o {B881172E-3FD3-4D90-B8C9-685DACD1F9E1} OrchidInstallationUtil.exe
o {C4DD22C6-93B1-11D4-929E-0050DA17B5AF} ChartXControl.MercChartX
o {CB4AF487-8CC7-44a3-8E91-66B8FFF0B60A} Mercury.SecurityManager.1
o {CD2425E4-8141-11D0-8CE4-444553540000} vugen.exe
o {D9EB5893-4D94-4749-9FC0-7D12A0CF4E1A} LoadRunnerVbs.Array2D
o {DC6E0A51-DCE8-11D5-8FC6-000102E1515B} Mercury.TextVerCtrl
o {E06D5D95-CF07-11D2-A821-006008CB5184}
MERCPARAMCOMBOBOX.MercParamComboBoxCtrl.1
o {E4CB50F0-E242-11D4-8ED6-00010219EB22} Mercury.RealFilesHandler.1
o {E4CB5131-E242-11D4-8ED6-00010219EB22}
Mercury.VirtualPrivateProfileFunc.1
o {E933439A-81A1-11d4-8EEE-0050DA6171E8} wlrun.LrEngine
o {EBE09E4A-FE7E-4B1C-8C26-B17D5FD6C025}
OrchidInstallationUtil.DBChecker
o {EBE09E4A-FE7E-4B1C-8C26-B17D5FD6C025}
OrchidInstallationUtil.DBChecker
o {EC422B12-D4CD-11D3-B400-006008CB5184} Mercury.MercHexView.1
o {ED47ED9C-1A39-4F8B-A93C-79DE00440D35} Mercury.WSChangeStorage.1
o {EEB656CE-6315-43b6-9129-CCA1C63DB308} Mercury.QTPParserCls.1
o {F3335396-0B86-4B77-B86A-939200D8B3D6} Mercury.OGenFileDlg
o {F3AD38E5-F315-4e6e-B6E3-DCE27F9340C3} Mercury.SSVHtmlEvents.1
o {F76C4218-C04D-4196-9DA2-F3306CA9E4BA} Mercury.MercXMLParser
o {FB725F23-62B6-46b2-8955-AD91AB49D77E}
Mercury.WSScriptHandler.XMLStorage.1
o {FC0EF39A-766D-42E9-B301-5E8424C08F60}
Mercury.MercXMLParser.XMLParseTreeNode.1
o {FDBC1531-94CF-4d1e-9195-2E4DF5E24014} Mercury.MercPoint.2
• IMercJavaEventMonitor\CLSID
• LoadRunnerVbs.Array1D
• LoadRunnerVbs.Array2D
• LoadRunnerVbs.ObjectFactory
• LoadRunnerVbs.RecordSetHelper
• LoadRunnerVbs.RecordStore
• LoadRunnerVbs.StreamingHelper
• TypeLib\
o {0560DCE8-8B2C-4B50-9550-647D6179041D} treport.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 {2F887770-BA3A-11D4-9321-00105A398F5A} tulip\bin
o {33F9D2D2-F694-11D2-805B-00C04FADCAFF} sapw3ctr.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 {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.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.dll
o {9DF5252F-9F7F-43E8-AC31-7E8B9FAA07B8}
o {A755C870-A253-11D1-8010-00C04FADA264} sapw3tcn.dll
o {ADCA5BA0-45E7-11D3-8068-00C04FADCAFF} sapw3dock.dll
o {B4290BC0-DD49-11D2-8E78-0060089A646A} rtbevents.tlb
o {B8987970-250C-11D3-8060-00C04FADCAFF} sapw3grid.dll
o {BAB15BC5-13E3-11D6-8FC8-000102E1504D}
o {BBA07232-9521-11D4-8EF8-0050DA6171E8} LoadRunner Automation Library
o {BCBB51B6-84C1-4E91-918F-31EE658A084A} OrchidInstallationUtil.exe
o {DC863701-894E-11D1-800C-00C04FADA264} sapw3sh.dll
o {E669FB52-A25C-47A8-A074-5DE594D6F1AA}
o {E9E295C3-C2C0-11D1-AE8F-0080C864B3EA} paramx.dll
• usrfile DefaultIcon
• and
HKEY_LOCAL_MACHINE\SOFTWARE\Classes
lra_auto_file
LRCtrl.LRControl
LRCtrl.LRControl.1
lrr_auto_file
lrsfile
Lrun Document
LrunFileType
MERCPARAMBUTTON.MercParamButtonCtrl.1
MERCPARAMCOMBOBOX.MercParamComboBoxCtrl.1
MERCPARAMEDIT.MercParamEditCtrl.1
Mercury....
TDApiOle.TDConnection
o WebUpdate\LoadRunner
Registry HKEY_LOCAL_MACHINE\SOFTWARE\
• Microsoft\Windows\Help Teeuser5.hlp
• Classes\Interface\...
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.mercury.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.exe
(III)Why Load Test?
Scability Testing buys us confirmation of predictions about what will happen before it happens,
buying the lead time to do the right thing when additional capacity is needed.
Load testing provides measurements for Capacity Managers to anticipate the true capacity of IT
resources: whether it can really support the peak workloads anticipated.
Stress (Overload) testing identifies the predicted point of failure where servers fail to handle
loads.
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. This is obtained by conducting Speed
(performance) testing
The difference between the current load (the actual demand) and usable capacity from load testing
is the realreserve capacity — the amount of "head room" for growth or the ability to handle
variation in demand.
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.
Upgrades to capacity can be smoother if there is what the ITIL methdology calls a common
Forward Schedule of Changes (FSC).
Lead time include time for planning and testing, which can be shortened by a more agile approach.
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). Subtracing the lead time from
that date yields the the Trigger Point when upgrade work should begin.
Subtracting the amount of capacity growth during the lead time yields the threshold of workload
which should trigger an upgrade.
A. An analysis of archived Weblogs reveal the current daily peak of 300,000 hits per hour and
(dividing by the average of 10 resources per page as determined using HTTPWatch or YSlow)
yields 30,000 pages per hour.
B. A meeting with analysts (using Google Analytics) identify that each user transaction averages
just 3 pages.
So 30,000 / 3 means that there are currently 10,000 user transactions per hour.
Divided by 60 minutes in an hour means 166.667 transactions per minute.
Divided by 60 seconds in each minute means 2.778 transactions per second.
So this means that the workload rate will double to 600,000 hits per hour or 60,000 pages per hour or
20,000 user transactions per hour.
The amount of workload growth is 60,000 pages - 30,000 pages current = 30,000 pages per hour.
Since each day is 100% / 365 = 2.74%, the daily growth rate is 30,000 * 0.0274 = 82.2 more pages per
day growth each day, on average (assuming a linear growth pattern).
D. Load test runs find that the current system fails when load reaches 60,000 pages per hour.
However, response time degrades after 50,000 pages per hour.
Subtracting the current capacity means there are 50,000 - 30,000 = 20,000 pages per hour of reserve
capacity growth remaining.
This translates into 20,000 / 82.2 = 243 days of growth remaining.
E. A conversation with Operations reveals that it takes 40 days to order, receive, install, configure,
test, and switch over before a machine can be used. That is when there is no queue in Operations,
which is generally 10 days.
This means that upgrading action should begin no later than 40 + 10 = 50 days of lead time before the
usable capacity limit is reached.
If the predicted growth actually occurs accurately, this trigger point will be reached in 243 - 50 = 193 days.
During the lead time, the anticipated growth in workload over 50 days * 82.2 per day * 24 = 98,640 more
pages per hour.
Working backward, the workload trigger point is when the workload reaches 50,000 - 10,686 = 39,314.