Web Transaction Analysis and Optimization (TAO)

advertisement
Web Transaction Analysis and
Optimization (TAO)
Pankaj K. Garg, Ming Hao, Cipriano Santos,
Hsiu-Khuern Tang, Alex Zhang
Software Technology Laboratory
HP Laboratories Palo Alto
HPL-2002-45
March 4 th , 2002*
E-mail: garg@hpl.hp.com
software
performance
monitoring,
Web
performance
tuning,
application
response
monitoring,
software
performance
modeling
Web user interactions start at a client (a browser on an access device)
and flow through several software components connected via digital
networks. While the business world is fascinated with the range of
possibilities for such E-transactions, the underlying technology opens
up several new challenges for managing the performance, availability,
and reliability of the enabling software components. Several studies
have shown that poor response times for Web user interactions can
significantly impact the business values--slow Web transactions can
have strong implications on brand-name, customer acquisition and
loyalty, and purchasing behavior of customers.
In the TAO project, we are developing metrics, models, and
infrastructure to effectively manage the performance of Web
applications. We use WebMon, a novel instrumentation tool to obtain
transaction -level data from web interactions, from end-user and
system component perspectives. Our analysis techniques help
determine important segments of users and their web interactions.
The analysis is embedded in visualization and optimization modules,
enabling efficient reporting for system and business administrators,
and automated resource scheduling and planning. In this paper we
present an overview of the TAO project, and highlight some of its novel
aspects, e.g., use of pixel-bar charts, web request classification, and
integrated demand and capacity planning.
* Internal Accession Date Only
 Copyright Hewlett-Packard Company 2002
Approved for External Publication
!" #
$%&"%
'()
*+ ,-
,"",
! " #$% &
'
( % ! # )
) Æ
" #$% &
* ! !" #$% &
'
( )) *
) )* ) )
'
'
! )"
+ ) * ) ( *
) ,(- #$% ( &
) ) + ) ./ #0% * ./ '
) ) 1 *
) ) ) ) (
12
!1" 3 Æ 4)( 5
& 2
) ) +
0 & ) 6 (2 * !)( ((" $
) &
- ) )
( 7
- ( &
) & &
( 4)( *
) '
) 1 3 1 ) #8% ) ) ) ) ) ) )
& 3 9
-
) ( ) - Æ ! :;" Æ
) 1 ) ( ( 2
) ) < - ( Æ= *
)
9
& ) 2
2
* & 9
(
( ,
) ( )) ) 1 9
) 1 0 6 ( (
1 $ 1 ( > )) 1 ) '
: ) * 9
* ?
*
) 5 9 *
@
) & ) - < (
) & ) ) (
) ) * < + & ) 0
LB
Internet
File
System
LB
Load Balancer
Browsers
Access Devices
Web Services
Database
LB
Web Server Farm
Application Server
Farm
+ ,- #
!
1) ( ) 2 ( )
( #8% < ) 5 !"
/A !0" ( B0AA !B) 0 A
A
"
#6% & 5 ( (
3 *
'
B0AA /A < 0 B0AA #6% &
9 B0AA B !B) ) " &
B) ) & B C ) & & B) D !BD" ) ! "
A & ( ( B C ) (
* & ) !
" # $!"#% 3 AB@ ( ) ( '
AB@ ( )* ) ) B.@E !
" AB@ - & AB@ 3 < ( B0AA ) )
5 !" ) 3* ! " !0" ! " B@1 ! " ) !6" & ) !
" ( #8% ) 5
A
0 ) 9
6
EJB
EJB
DB
JSP/Servlet
Engine
EJB
EJB
DB
+ .- #
/. 6 ) 9
$ B.@E 5 B) . E
)(
!B.@E" )
'
- )( ( 2
(2 5
E9
& 0 2
B0AA < 2
(
& 5 !" 9
!0" '
9
)
7F < - 7F
( GH 7F
( GH 7F )
7F ( '
(
)
&
< - ) ) * &
$
) (
& 9
#:% < (
* #% < - )
* 8 ) 0 ) ( ( ( ( - ( ) @( (
) ( * * ( )
) -( ) '
( 9
9 ( ) 9 ) )
( )( ( ! !""#
" ) 2 ( (( & ) )
( 9
( 9 )
* 9
& 9
) ) 2 4) *
) < - Æ 4
( Æ ( Æ ) * 4
( Æ < & ) ) & 2
& 9
) & ) *
) 2 * )
&
) *
1 #%
2 *
= (
9
( 2 ( & )
2 ) )( & 2 -
2 ( 2 )
& 2
& ) *
) &( 2
>
1 4 ) ( < -
& (( &
& B0AA ) ) 9 & & 4
( ) 2
)
2 ( *
! " &
& 2
* * ( & ( 4
) ( &
' ( )
( ( ) ) )
&
& 2 < - (
( & ) & .
& ) ) (
-
( ) ( 4
-(
2
( ' ) & ( * G
H GH
G) H G H= ( '' ) GH &= ( ''' ) G) H & = ( (
< 6 & (
( ( ( !" 0 & 2 )
( )
( 2
) )( (
( & 2
'
- )) &
) 9
)
- ( *
GE( .
#$%H ( 2
!
" 4 ! " ( &
) )
) ( , :
0
200
400
600
search
view product
add to cart
login
800
1000
round−robin
random
size−based
least work
main page
round−robin
random
size−based
least work
0
200
400
600
800
1000
0
200
400
service times (ms)
+ 0- # ! ?
600
800
1000
)
( ) (
, 7( . E
!7.E" 7.E B0AA* ) )
) (
5 ( * * (
+- ) F) ! F" )
* * ( ( ( (
(
( 4 ( ) I 7.E
7
( ) 7.E *
) ) ) 7.E
) 9
& & &
9
7.E )
)( Æ 9
4
( ( 4 7.E '
2 * - ) 7.E
( 7.E 9- < - B0AA (( (5 !" !0" B C )
AB@ !6" . < ( 9- (
) ) ) ( )
( ) ( )
* - ) & ( ( ) 9 ( F ) 2 & ) )
) ( 2
) &
) F '
$
-
!&
" J)
) &
( F 8
* - ) 9 ) )
( ( ) 7.E ( ( ( ( ) &
7.E 9 ( ) 2 ) - ) (
) ) '
$0 -
!" # '
&
- ) )
) ( 2
) & )
9 F
&
9
( & )
!" ) *
! " !0" - ( & ! " * !" ! " K ! " ) ! ( " & ( ( ) 0 ' GH & * 9
( - ( < -
& ) &( & .@ )= & ) &( & ( ( ) & ) !
& & )"
1 ) ( ( ,
( 9 & ( '
( &
* 6 ) &
* & + ! ) ) .@ ) -
(" < ) & ! E7 *" ) & ) & )
- 5
# % K
# % L #% L # %
"
! " ! " ! ) & ) & ( & ) = # % ) ) ) ) ) & ( = ) ) .@ ) ) & ) ) -( *= ) ) ' ( & & .@ )= ( - ) * - ( ! "
) ) #% K # %
) 2
!E7" ) # % K / & )
-
$
%
'
E( .
2
&
)) #% > !"
) !" ( G
- 0 >; H 2
! 0" K > ( ! 0" *) &( ) ) 5
! " K #%
,
#%
! " 1
( A#%C ( ! "
( ( &
! " ! " ( #%
( ) ) 9 ( & #' (
! !" # $
&
)*
'
-
( ( 7.E )
2
( &
* ) - F
)
( ( 7.E )
&
) ( ( &
9 * ( 2 (
( M #%"
< - ( < $5
Mesh
Switch
BEI=4
BRO = 4 E1
R1 BRI=4
BRO = 4
BEI=4
E2 BRO = 4
Edge Switches
R2 BRI=4
BRO = 4
Rack Switches
R3 BRI=4
BRO = 4
R4 BRI=4
BRO = 4
S1
a1 = 400
a2 = 8
a3 = 4
BSI = 2
BSO = 2
S2
a1 = 400
a2 = 8
a3 = 4
BSI = 2
BSO = 2
S3
a1 = 400
a2 = 8
a3 = 4
BSI = 2
BSO = 2
S4
a1 = 400
a2 = 8
S5
a3 = 4
a1 = 500
BSI = 2
BSO = 0.56 a2 = 10
a3 = 16
BSI = 2
BSO = 2
S6
S7
a1 = 500
a2 = 10
a3 = 16
BSI = 2
BSO = 0.4
a1 = 400
a2 = 8
a3 = 4
BSI = 2
BSO = 2
S9
S8
a1 = 500
a2 = 10
a3 = 16
BSI = 2
BSO = 0.5
a1 = 500
a2 = 10
a3 = 16
BSI = 2
BSO = 0.5
S10
a1 = 400
a2 = 8
a3 = 4
BSI = 2
BSO = 2
S11
a1 = 500
a2 = 10
a3 = 16
BSI = 2
BSO = 2
S12
a1 = 500
a2 = 10
a3 = 16
BSI = 2
BSO = 2
+ 1- 2
* ( ( ( = 0 * $ ) 0 ) 6 ( E7 (
2 ( A ) * ( < >
6 ) & 5
K C- ) & K 0
K 0
)(
- Æ ) ) ) l2
l1
T(0,1) = 0.2
T(2,3) = 0.5
l3
T(3,2) = 0.15
Database
T(1,0) = 0.2
T(2, 1) = 0.2
Web Servers
App Servers
a1 L = 500, U = INF
a2 L = 10, U = INFO
a3 L = 10, U = INF
a1 L = 400, U = 600
a2 L = 8, U = 16
a3 L = 4, U = 16
a1 L = 200, U = 500
a2 L= 4, U = 10
a3 L = 4, U = 12
+ 3- # $
1 ( ) ( ( ( ( ( )
2 ( C- ) &
9
5
( ( 0 E
0
6 $ ) ) ( &
( ( ) &
> Æ ( 4
) Æ )
( ) : / Æ ) ) ( )
3
1 2
- - ( ( 0 9
-
'
9 6 - - - ( ) ) ( ) ) 2
) #>%
. ) (( ) )
<
) ) Æ * D & )
'
(
) ( ) (
( ( ) ) ( 9
) ! " '
) &*(
Æ )2 ,
& &
)
5
) 6
0 7
( )
6 '
(2
4
$ ) & ) &
9 G
H #% - )( 2 G
H & #? ?% ' ( 7F 6. '
) ) ) &I
* )
( ) ( )
& D
#% )( (2 +
) !' , - # - @ 2
-( )
2
- - @ E )
)( )2 4) (
( ( + 4- 5 + 6- 2* 5 < ? - 608$: ) '
< :
( ) / $
'
< ? - ) )
( !0$ " A - -- !)
" !"= (- !
" ) ! * (" 4
4
) - < < ? )5
( 0 $ !
"
- ! "
)
! " ) ) ) @( *
9 - ( - $ < - 8 ' >8>$8: 7F ' $ ( < ? ( 1
( )( )( !- " -
)
$ ! " #
+ 7- 2* )
+ 8- 2* 5 ) '
< 8 - ) 2 ) 0$ A
- -- !"= (- >
2 4
4
2 ) < < 8 2 5
) 2 - ( ( ) 4
2 ( !? : " ) 2 ( !I>
? 0$ "
< !< ?" 2
-- !"= (- 4
4
2 ) 2 - < < 2 ) ) 4
2 ( !( ( 4
) "
+
) - * & !
(2 ( -
D2
& !
" -
' ) 7F * 5
K ' K ! "
< 9
K K K & !" ( -
9
(
!" K :
+ ,9- $ ! "" " K ! " K ! !!"!
! ""
< 6. )
'
6> 8: * D
0 ! " G
H ( ( ) !"
)) ( A(
* 5 !" ( ) #6 : >% !0" E
.)( /* ! *
"
) ( ( E
)( * )( ( ! " ?
) ( ) ( * & 9
) ( 1 3 ( (( 7F ( (
& ! ) " ) ( & 9
B0AA
* 7F G 7FH
AÆ
*
1 ) B0AA* )
)( ( ))
< - ' ! "
) B0AA ) ( ) ( 1 *
( (
<
( 1 Æ
( ( 1
3 #0% ,) 1
3 ( & &
( 2
) ) ( & GE( .
H 7.E
# '
) )) ( 1
2
3 !1" 1 ) ) * ) )( ( ( * * 2
) - ) '
( ) Æ
( '
& ) ) Æ
(
"$
* ( F 1
D @
7
, 3
8
%
&
#% D . N < <
(2
@) @
'
& '(!)*+' "
668I66 0
#0% O ( <* F <
J J2 O
O
* .
2 B @ * 1
5 F @ E
7( '@ #6% . . M
E
&
.
E@ /* ) '
& ,--- .'!/0
) + . E 7 B
0
#$% @
F E F
,
* <((* /
+
+ 6?!8"5?:I80 $
#>% F E*) O
) E .
*
& .
( . '
& !!! 1 !+ # '
B E 7 B
0
#:% . . O *3 ,( )
) '@ .)
P*
, /P >8
#?% , J E B <
D2
'
'
!!!2345 2
?
#8% J
O A J O ,F0:0 ,* F E 0
#% , 7 .( , B) D '
'
!!!2344 #% E , B F 7 .( , O D AE
@) 7
- @ E '
+ 6772,--8 0
#% ,@ A E) E . 1
E
* ( . ) ( " & 7
+
>!0"50$I008 #0% E F( ( $ @
+(
" +
* 0 0 ) #6% , !
" # 1 ( Q E
7 0
#$% B < ) '
. E
'
& ''(** ,--- +
# + F & '( B( 0
#>% E R M , E 12
F . E
'
#:% J 7F E9
'
#?% E @
, J ,@F1@5 , D E
7
' '
!!!23',--- 0
#8% . E A @ 5 E
'
) '
& !
' '
& $' '&89% @
4 E
1 0
#% R M 1 '
. E
,F0> , F E 7 0
0
Download