1. Q: What versions of LoadRunner did you work in?
A: 7.5, 7.8, 8.0, 8.1, and 9.0
2. Q: What is a performance test plan
A: A performance test plan contains the scope, objective, focus and approach of the testing
effort. t includes the items in scope ! items not in scope, goals, load critical transactions, load
rates, t"pes of tests, timelines, #e" sta#eholder information $ho need to approve the plan,
ris#s!assumptions, and environment information%both test and production&. A good plan is a
foundation of all testing that follo$s, so it is a ver" part of performance testing.
'. Q: What is Correlation and how do you do it?
A: A lot of scripts that are generated b" () protocols are based on the communication bet$een
the client and server. *he" are values that are d"namic that are sent from the server that need to
be captured as a variable. n the case of a $eb application, the values are captured using
$eb+reg+save+param. *he #e" to correlation is to identif" $hat value is d"namic, and in $hich
server re,uest $as it first seen. *o identif" that enable all e-tended logging including data
returned from the server and identif" the value that is d"namic. *here is another to correlate that
is called automatic correlation. am not a big fan of auto correlation as it is unreliable. .ome
e-amples of d"namic values are session id, message id, and date!time stamp.
4. Q: s there a situation you would want to use automatic correlation and why?
A: n some cases especiall" in .net applications, "ou see large d"namic values li#e the
vie$states that need to be correlated in almost ever" re,uest. $ould create a custom rule as
these values have the same left and right boundaries in the recording options.
Q: f you have to correlate a very lar!e dynamic value in a we" application# want needs to
"e done?
A: /" default $eb+reg+save+param allo$s the parameter si0e to be 152 characters onl". f the
parameter is larger the function $eb+set+ma-+param+lenght needs to define the si0e of the
parameter.
Q: What is parametri$ation?
A: 3arametri0ation is adding a variable to a value. .ince $e create a script as a single user in
45678 and repla" it in multi user mode in the controller, values li#e username, pass$ord,
accounts etc need to be parametri0ed to represent accurate usage. Also it is a common practice
to develop scripts in one environment and test in the other. *he environment information in the
5)( also needs to be parameteri0ed. *here are different t"pes of parameters:
1. 9ile has ' t"pes%uni,ue, random, se,uential&
1. )andom number
'. 5ni,ue 8umber
:. ;ate ! *ime
5. (oad 6enerater
2. 7tc
%. Q: What is the difference "etween parametri$ation and correlation?
A: <orrelation deals $ith capturing d"namic values returned from the server as variables.
3arametri0ation is user defined variables.
&. Q: 'ow do you identify a "ottleneck?
A: set up monitors to identif" bottlenec#s. loo# at both client side monitors and server side
monitors.
loo# at client side monitors li#e response times, throughput %data returned from the server in
b"tes&, hits!sec% http re,uests from the client to the server& and running 4users. loo# at:
1. s response time acceptable
1. As running 4users are increasing $ith hits!sec also increasing is throughput increasing or
decreasing.
f see a problem loo# at each tier of servers and also net$or#ing to identif" the root cause of
the issue:
1. we" servers: basicall" loo# at all the counters that $ould tell me if the server is
available%System\System Up Time counter), is the server busy(Processor(_Total)\%
Processor Time which is nothing but CPU usage), is hardware functioning properly
(System\Context Switches/sec an Processor(_Total)\!nterrupts/sec counter), is
there enough RAM or memory("emory\#$ailable %ytes an "emory\Use bytes
counters), and is disk fast enough( !/& counters)
1. application servers: (oo# at all the above counters li#e in the $eb server and also loo#
at =4>%=ava 4irtual >achine& counters li#e heap usage, and garbage collection. n
addition $e need to loo# at threads, ,ueuing, pooling, and database connection. n case
there is an issue additional diagnostics might be needed to help identif" the issue in the
code. have also used =177 diagnostics in the past to help identif":
a& <ode problems% slo$ methods, memor" problems, bad coding practices,
and s"nchroni0ation problems for threads&
b& <onfiguration problems for =4> heap si0e, number of threads, and
database connection pool.
c& Architectural problems.
'. database servers: (oo# at all the above counters li#e in the $eb server and also loo# at
the some of these other counters:
a& .?( round trip time
b& ?ueries e-ecuted, and if an" full table scans are occurring.
c& /uffer to cache ratio
have $or#ed $ith @racle statspac# reports $hich get from the ;/AAs and also used .?l
navigator for .?( servers.
9rom m" e-perience most performance issues happen at the application or database server level
Q: What are some of the ways you monitor servers?
have used ' $a"s based on $hat $as available to me at the client:
1. have set up loadrunner monitors through the () controller. *his re,uires some setup
on the server side. 9or 58B based servers rstatd needs to be enabled and running on the
server
1. /" getting stats directl" from the servers. 9or $indo$s based servers have used the
perfmon program. 9or 58B based servers have used commands li#e top, vmstat, and
svmon. have also $ritten shell scripts to capture the performance data.
'. /" using tools li#e .ite.cope, Cil" ntroscope, *ivoli 3erformance 4ie$er, and
*eam?uest.