![]() ![]() ![]() ![]() |
![]() Here are my notes taken while investigating the internals of Performance Engineering | Topics this page:
|
| ![]() ![]() ![]() |
Hyperformix models are not merely accounting formulas in a
static spreadsheet.
| ![]() | ![]() ![]() ![]() |
| ![]() ![]() ![]() |
|
Hyperformix support line:
| ![]() ![]() ![]() |
The Navigator
ID | Folder | Start Programs Mercury MCP3.3 | Executable | Note | |
---|---|---|---|---|---|
N | Navigator2.3 | Navigator2.3 | navigator.exe
Update10To11.exe \bin\CheckUserAccount.exe regtlb.exe | ![]() | |
A | AMG4.0.1 | Applications, AMG 4.0.1 | amg.exe | ![]() | |
V | Visualizer3.0 | Applications, Visualizer 3.0 | visualizer.exe | ![]() | |
![]() | Modeler4.6\Program\ | Applications, Modeler 4.6 | Modeler | Modeler.exe | ![]() |
W![]() | Modeler Workflow Analyzer | workflow.exe | ![]() | ||
- | ? | ? | csestrat.exe
multipadex.exe querystats.exe runexcel.exe xdocgen.exe xexport.exe ximport.exe | - | |
S![]() | Modeler4.6\ ScenarioManager\ | Applications, Modeler 4.6, Scenario Manager | Scenario Manager | SM.exe |
![]() |
- | Register Service | SMReg.exe | - | ||
- | Remove Service | SMReg.exe remove | - | ||
- | Start Service | SMReg.exe start | - | ||
- | Stop Service | SMReg.exe stop | - | ||
- | Change Service Password | SMReg.exe chpwd | - | ||
- | Modeler4.6\ ScenarioManager\ server | ? | CheckUserRights.exe
SMServer.exe ServerLaunch.exe | manages multiple runs containing different experimental settings for variables and constants parameterizing the effect of a variety of projected system modifications. | |
![]() | Profiler3.6 | Applications, Profiler 3.6, | Profiler | RunProfiler.exe 3.6 | ![]() |
r | Profiler Workflow Analyzer | wfa.exe |
![]() | ||
- | ? |
PList.exe PerfMonConv.exe Profiler.exe ProfilerLM.exe Recycle.exe Unicoder.exe automergensf.exe datafilter.exe dice.exe loadrunner2dice.exe recap.exe retier.exe scrubips.exe windowsort.exe csh.dll, cmax20.dll, lm.dll, Perl56.dll | Profiler 3.6 | ||
- | ? | ? | beautifycsv.exe | reformats and reorganizes selected data files in CSV format, then opens them in Microsoft Excel. | |
- | ? | ? |
mergebfsummary.exe mergecolcsv.exe mergecsv.exe mergeresourcedata.exe mergetranssummary.exe | - | |
- | ? | ? | profilercharts.exe | creates Excel charts from selected data files in CSV format. | |
- | ? | ? |
lrrtranslate.exe lrrtranslatecl.exe | - | |
- | Switchboard1.0 | - | - | switchboard.exe | handles communication between Navigator or Modeler to and from Visualizer. |
- | UserPubs3.3 | - | - | - | A central documentation folder for all modules. |
- | LoadRunner | - | - |
LrrTranslate.doc license.rtf lrrtranslate.exe lrrtranslatecl.exe | lrrtranslatecl.exe is the console version of lrrtranslate.exe. |
- | Tools | - | - | ![]() |
AMG
Modeler ADN (Application Definition Notation) code defines classes and interfaces. ADN is the object-oriented programming language built into Modeler. ADN code describes software processes and control simulation runs in Modeler Simulation models. AMG profiles are used to generate an ADN include file that contains transaction classes defining workloads and business functions.
In "Third Party Applications", you can install "J2SE" and "Adobe Reader". The setup program installs these files in C:\WINDOWS\system32\ The setup program also install an empty "flexlm" folder in C:\ root.
The setup program installs these file name extensions:
|
.pta | - Registered | ProfilerWorkflowAnalyzer.Document | - No Icon | C:\PROGRA~1\Mercury\PROFIL~1.6\wfa.exe /dde |
.rpt | - Registered | Modeler.ReportDocument | - No Icon | C:\PROGRA~1\Mercury\Modeler4.6\Program\runexcel.exe "C:\Program Files\Mercury\Modeler4.6\FormatReport.xls","%1" |
.tra | Modeler Workflow Analyzer simulation trace | WorkflowAnalyzer.Document | ![]() | C:\PROGRA~1\Mercury\Modeler4.6\program\workflow.exe /dde |
.yyyy-mm-dd-21-23-27-0105-00 | Not Registered | - No Filetype | - No Icon | No Command |
No file extensions are created for:
Visualizer project (.vop) files.
Navigator project (.npj) files.
scenario (.sm) files.
Old scenario (.sem) files.
|
$14.5 annual sales. 800.759-6333 4301 Westbank Drive, Bldg. A, Austin, Texas 78746 (West of downtown, N off Hwy 1 on S. Capital of Texas Hwy 360) 14.3 miles from the Austin-Bergstrom Intl Airport (AUS)
Leading its 85 people are: | ![]() ![]() ![]() |
| ![]() ![]() ![]() |
|
Basic
LoadRunner
Modeler
Profiler
Scenario Manager
| ![]() ![]() ![]() |
| ![]() ![]() ![]() |
In this chart, "raw" data is processed from the bottom, then combined in the middle, and finally graphically displayed by the visualizer at the top. First, various utilities reformat logs from their native format into a common format. Hyperformix has defined different common formats for resource and network data. Reformatting utilities are called Profiler utilities because the Profiler needs them to create its reports and diagrams. Some Profiler reports are imported into the profile spreadsheet using the Application Model Generator Excel add-in. At the top, the "Visualizer" creates reports and graphs as html and graphic files from statistics generated by simulation runs conducted by the "Modeler". Hyperformix uses the Performance Manager/Monitor/Agent for zooming within graph within HP Openview. | ![]() ![]() ![]() |
|
Component | Icon | Additional Data (beyond the name, latency, and cost) |
---|---|---|
Client: |
![]() ![]() | - |
Computer (Processor Machines): |
![]() ![]() | - |
Processes and Applications: |
![]() ![]() | - |
Data Communications: | ![]() |
background load, bandwidth, configuration, overhead bytes, arbitration time, minimum payload bytes, maximum payload bytes, simultaneous streams |
![]() ![]() ![]() | background load, bandwidth, configuration | |
![]() |
background load, bandwidth, configuration overhead bytes, minimum payload bytes, maximum payload bytes, communications mode, directionality | |
![]() |
active status, committed information rate, committed information rate computation interval | |
![]() ![]() ![]() ![]() ![]() | ||
Interconnect [between networks] | - | - |
AMG Worksheet/Tab | Software Component | Workload Component |
---|---|---|
Application | x | x |
Business Process Flow | - | x |
Business Function Flow | - | x |
Transaction Flow | x | - |
Transaction Properties | x | - |
Workload | - | x |
Client | - | x |
Subsystem | x | - |
|
Computers:
|
Workload components with an arrival pattern of requests made by the application's users,
as measured by:
X Axis | by | Response Time Seconds | Throughput rate per sec. | Utilization | Count | ||||
---|---|---|---|---|---|---|---|---|---|
Mean | 90th | Max. | % | Bytes | Time | ||||
Subsystem tier (e.g., "client", "Web", "App", "DB") | - | - | - | - |
![]() |
![]() | - | - | |
Business Functions | [stacked by Subsystem] |
![]() ![]() | - | - | - | - |
![]() ![]() |
![]() |
![]() |
[LoadRunner transactions] |
![]() | - | - | - | - | - | - | - | |
[Measured vs. Modeled] |
![]() ![]() ![]() | - | - |
![]() ![]() |
![]() ![]() | - | - | - | |
I/O [Read vs. Write Size] | - | - | - | - | - |
![]() ![]() | - | - | |
Network [Request vs. Reply Size Wire] | - | - | - | - | - |
![]() ![]() | - | - | |
Run Number | - |
![]() ![]() ![]() |
![]() | - |
![]() |
![]() ![]() |
![]() ![]() ![]() ![]() | - |
![]() ![]() |
stacked by Transaction Details |
![]() | - | - | - | - | - | - | - | |
Number of Vusers | - |
![]() | - | - |
![]() |
![]() |
![]() ![]() |
![]() | - |
Response Time vs. Throughput (functions per sec) |
![]() | - |
|
Questions | Charts |
---|---|
Are the performance objectives being met?
Most SLAs specify something like "90% of response times are less than 5 seconds" rather than simply specify averages. The "90th percentile" report provides this statistic. | Key performance indicators
|
Where are the potential bottlenecks? |
|
Where is response time spent? | - |
|
|
|
|
Application performance reports | - |
Execution environment performance reports | - |
Define in the Visualizer project performance objectives (PO).
Visualizer automatically attaches "Model Bottleneck Detection" reports to a component wherever it detects a bottleneck in the model. These reports use pre-defined "MBDException.rox" and "MBDException Multiple Run.rox" from the Templates/Hidden directory where Visualizer is installed.
Scenario Manager scenario definitions point to Modeler simulation data.
Switchboard.exe handles communication between Navigator or Modeler to and from the Visualizer.
Although numbers are reported to four significant digits in the raw simulation output, Excel and Visualizer rounds to three digits.
The Model name specified in the Application worksheet is used to create a file named
The Application name specified in the Application worksheet is used to create a file named
.adn include file contains functions to create run-time query and user-defined statistic objects during model initialization time.
| ![]() ![]() ![]() |
Note that dropped file names do not include drive and file paths.
C:\Program Files\Mercury\Visualizer3.0\Templates\Profiler templates\T1 Validation Report.rox
creates a verification report for a
T1 model constructed from only a network trace, and
compares a T1 transaction with the output of the
model created from that summary.
The T1 report compares several T1 runs looking for repeatability in the T1 tests and for runs with outlying data that should be excluded. But just one of the runs is chosen for use in a model.
"T2" exercises a single business function
in runs at varying (but steady) levels of load
(from 20% to 80% CPU utilization with no contention for CPU and disks).
| ![]() ![]() ![]() |
"T3" tests "stresses" a mix of business functions or business processes
that drives the system's resource usage up to measurable levels
(such as 25, 50, 75, 100 vusers).
| ![]() ![]() ![]() |
| ![]() ![]() ![]() |
| ![]() ![]() ![]() |
| ![]() ![]() ![]() |
|
| ![]() ![]() ![]() | ||||||||||||||||||||||||||||||
|
MCP standard resource statistics converted by Navigator | Nickname | Object | LoadRunner raw resource statistics Collected | Description |
---|---|---|---|---|
CPU Utilization | CPU Time | Processor | % Processor Time (Processor_Total) | measures the time that the processor spends executing the thread of the Idle process in each sample interval, and subtracts that value from 100%. Each processor has an Idle thread which consumes cycles when no other threads are ready to run. |
- | - | System | Processor Queue Length | number of processors servicing the workload. |
Reads per Sec | Read Count | Physical Disk Total | Disk Reads/sec (PhysicalDisk_Total) | |
Read Bytes per Sec | Read Size | Disk Read Bytes/sec (PhysicalDisk_Total) | ||
Writes per Sec | Write Count | Disk Writes/sec (PhysicalDisk_Total) | ||
Write Bytes per Sec | Write Size | Disk Write Bytes/sec (PhysicalDisk_Total) |
Although numbers are reported to four significant digits in the raw simulation output, Excel and Visualizer rounds to three digits.
By transaction:
The mean for time-persistent continuous statistics (such as memory usage) is time weighted -- each value is multiplied (weighted) by the proportion of simulation time where the statistic equals that value.
The mean for discrete statistics (such as the response time for a request) are the sum of the individual sample values divided by the count of values.
This ADN master input file also contains statements to unconditionally include several named packages:
The ADN language uses Java syntax for comments, operators, object modifiers, etc.
Statements specifically for simulation include: Startup Stop Warmup Thread Execute Receive Send
ADN "thread" statements refer not to operating system thread, but the simulation of system processes. Threads execute behaviors and functions. Parent threads are started by a "Startup" statement or a "Startup" clause within a "Process" or "User Behavior" "call" statement. Child threads are started by a "Thread" statement or a "Thread" clause in a "Receive" statement.
Threads specified within a Join statement run concurrently.
Threads specified within a Fork statement, wait until the
longest thread created by the Fork statement concludes.
Delay and Think statements do not place resource demands on hardware, but:
The number of seconds during a Think statement does not contribute to the client statistics collected for executions in progress.
Statement Parameter | Sample Value | Parameter Name & Notes |
---|---|---|
Application | "Instructions" | cpu_units in the second column of the benchtable.txt file. |
CPU | 10000 | cpu_value |
Memory(3.1, 8.7, 30.0, 0.0) | ( kilobytes shared_mem_value, private_input_mem_value, temp_mem_value , private_output_mem_value ) | |
Read | 1.2 | [ Physical ] [ Sequential ] read_K_value |
Number | 75 | num_reads_value |
FirstIo | 17 | record_number the starting record for a file stored on a RAID volume, which effectively specifies the device selected first. |
File | "my_file" | read_file_name should not contain spaces |
Write | 0.10 | [ Physical ] [ Sequential ] write_K_value |
Number | 1000 | num_writes_value |
Disk | "DiskSet0[3]" | write_disk_value |
Other statements include procedures:
threadSignal threadWaitForEndOfRun threadWaitForEndOfWarmup threadWaitForSignal
Output from ADN code go to the .tra simulation trace file.
Also traced are categories of simulation events to help in understanding underlying simulation events at each level of abstraction used in the model.
In the .tra file are messages explicitly coded in ADN Java code which contain the simulation clock time and name of the behavior executing at the current simulation time.
Other messages come from:
Display statements which create a Dynamic Display window containing run-time messages. Its syntax and example:
Display "Title = 1M e-mails, Sizing = AutoSize, Color = Black",
Related Topics:
Load Testin Products
Mercury LoadRunner
Mercury LoadRunner Scripting
NT Perfmon / UNIX rstatd Counters
WinRunner
Rational Robot
Free Training!
Tech Support
![]()
| Your first name: Your family name: Your location (city, country): Your Email address: |
Top of Page ![]() Thank you! |