Vous êtes sur la page 1sur 35

ABRAO FERREIRA ANDREZA FOGAA CHARLES CARVALHO CLAUDINEI CAMARGO ELTON ALEX SILVA PAULO MENEZES

TESTES DE DESEMPENHO EM AMBIENTES VIRTUALIZADOS

Projeto Fin ! " "i#$i%!in "e In&r e#tr't'r (e) *Re"e# "e Co+%'t "ore# e Si#te+ # Di#tri)'i"o#,- "o $'r#o "e P.# Gr "' /0o e+ De#en1o!1i+ento "e Si#te+ # % r (e)- !e$ion " %e!o# %ro&e##ore# Ar+ n"o C + r e 2o#e L'i3 Moreir 4

UNISAL5LORENA 6786

OBJETIVO DO PROJETO
9I+%! nt r '+ +)iente 1irt' !i3 "o $o+ o %ro%.#ito "e 1 !i r o "e#e+%en:o "o# #er1i/o# "e Ser1i"ore# (e) e Geren$i "ore# "e B n$o "e D "o#4; O o)jeti1o %rin$i% ! "e#te %rojeto < "i#$'tir$on&i='r r +)iente# 1irt' !i3 "o# %o##i)i!ite+ "e " "o#%re#ent r- $ri r- in#t ! r e

% rtir "e "i&erente# #i#te+ # o%er $ion i# >'e

+i=r /0o "e #er1i"ore# ?e) e #i#te+ # "e =eren$i +ento "e ) n$o &i+ "e 1 !i r o #e' "e#e+%en:o e #e' '#o "e>' "o4 n !i# "o# "oi# $en@rio# "i&erente# 'ti!i3 n"o "' # " # %rin$i% i#

Ser0o

te$no!o=i # "e 1irt' !i3 /0o "i#%onA1ei# no +er$ "o t' !+ente- j'nt +ente $o+ in#t ! /0o e 'ti!i3 /0o "e trB# "i&erente# ti%o# "e #er1i"ore# ?e) e =eren$i "ore# "e ) n$o "e " "o#- $o+ o #i#te+ %!i$ ti1o# ?e) tr 1<# "o 2Meter4 No &in ! #er0o %re#ent " # !='+ # $on$!'#Ce#4 1irt' !i3 "o #er@ 1 !i "o o "e#e+%en:o "o#

OBJETIVOS ESPECFICOS
Cri /0o- in#t ! /0o e $on&i='r /0o "e +)iente# 1irt' !i3 "o#4 Cri /0o- in#t ! /0o- $on&i='r /0o e +i=r /0o "e #er1i"ore# e #i#te+ # "e =eren$i +ento "e B n$o "e " "o# % r o +)iente 1irt' !i3 "oD Re !i3 /0o "e te#te# "e "e#e+%en:o "o# #er1i"ore# e B n$o# "e D "o# tr 1<# "o 2Meter4 Me!:or r o %ro1eit +ento n 'ti!i3 /0o "o# : r"? re# "i#%onA1ei# e "o

e#% /o &A#i$o re"'3in"o ##i+ o# $'#to# *+eno# : r"? re# &A#i$o#,4 An !i# r e $o+% r r # #o!'/Ce# "e 1irt' !i3 /0o "e>' "o % r "i&erente# ti%o# "e %!i$ /Ce#4

An !i# r e $o+% r r o "e#e+%en:o "e Geren$i "ore# "e B n$o "e " "o# in#t ! "o# e+ +@>'in # 1irt' i#4 An !i# r e $o+% r r o "e#e+%en:o "e #er1i"ore# ?e) in#t ! "o# e+ +@>'in # 1irt' i#4 An !i# r e $o+% r r o "e#e+%en:o "e "i&erente# Si#te+ # O%er $ion i# Virt' !i3 "o#4

MOTIVAO
Ante# "e )or" r+o# #o)re +)iente 1irt' !i3 "o- 1 +o# $o+%reen"er no >'e $on#i#te 1irt' !i3 /0o4 t<$ni$ "e % rti$ion r '+ Eni$o #i#te+ $o+%'t $ion ! e+

Virt' !i3 /0o <

1@rio# o'tro#- ##i+ $: + "o# "e +@>'in # 1irt' i#4 A##i+ $o+o n +@>'in &A#i$ $ " +@>'in 1irt' ! %o"e ter #e' %r.%rio #i#te+ o%er $ion ! 8%!i$ ti1o# e

#er1i/o# "e re"e4 No# "i # "e :oje- %en# r e+ #i#te+ $o+%'t $ion ! < ##o$i r

$one$ti1i" "e4 M nter e## $one$ti1i" "e & 3F#e ne$e##@rio '+ $onj'nto =r n"e e :etero=Bneo "e #er1i"ore#- $ " '+ eGe$'t n"o '+ #er %!i$ /0o "i&erente- %o"en"o

$e## " # %or $!iente# t +)<+ :etero=Bneo#4 Por r 3Ce# >'e 1 ri + "e#"e :etero=enei" "e "o# $!iente# H #e='r n/ - < $o+'+ en$ontr r+o# '+ $ r= "e %ro$e## +ento "e '+

#'%orte

#er1i"or %or #er1i/o4 Ne##e $onteGto- nor+ !+ente

#er1i"or n0o < tot !+ente eG%!or "o4 H@ '+ "e#%er"A$io "e $i$!o# "e %ro$e## +ento e $on#e>'ente+ente "e in1e#ti+ento4 A 1irt' !i3 /0o #'r=e $o+o re#%o#t %ro)!e+ 4 Dentre # #' # %!i$ )i!i" "e#- e#t eGe$'t r 1@rio# #er1i/o# e+ '+ +@>'in +e#+ $on#o!i" /0o "e #er1i"ore#- o' #ej +@>'in &A#i$ - + # $ " '+ e+ '+ +e!:or e##e

1irt' ! #e% r " 4 Per+itin"o

##i+ >'e o : r"? re &A#i$o #ej >'i#i/0o e n

%ro1eit "o- re"'3in"o in1e#ti+ento n

+ n'ten/0o "e '+

in&r e#tr't'r &A#i$ "e re"e *re&ri=er /0o- $ )e +ento- e#% /o &A#i$o- $on#'+o "e ener=i - et$,4

O sistema operacional responsvel pela gesto das operaes do computador. Cada sistema trata as instrues de uma forma diferente. Com o desenvolvimento e popularizao do software livre, as alternativas de sistema operacionais aumentaram consideravelmente. Os sistemas operacionais escolhidos para este projeto so indows e !inu".

U+

not

i+%ort nte < o & to "e >'e '+ "e '+ +@>'in &A#i$

+@>'in

1irt' ! %o"e #er '+ r@%i"

& $i!+ente +i=r "

o'tr - o >'e %o##i)i!it

re$'%er /0o e+ $ #o# "e & !: # e =i!i3 +@>'in 1irt' ! %or #er '+ #i#te+

+ n'ten/0o "e % r>'e# "e +@>'in #4 A & !: o'

tot !+ente i#o! "o "o# "e+ i#-

$o+%ro+eti+ento "e '+ #er1i/o- n0o &et o# "e+ i#4 E+ #e tr t n"o "e "e#en1o!1i+ento "e #o&t? re- o '#o "e 1irt' !i3 /0o t +)<+ tr 3 )ene&A$io#4 I %o##A1e! te#t r '+ %ro"'to e+ "e#en1o!1i+ento #o)re 1@rio# #i#te+ # o%er $ion i#- e #' # "i#tint # 1er#Ce#- #e+ ne$e##i" "e "e ter

'+ +@>'in &A#i$ in#t ! " $o+ $ " #i#te+ o%er $ion !4 O'tro '#o intere## nte " 1irt' !i3 /0o < %o##i)i!i" "e "e $on#tr'ir +)iente# "e te#te#- on"e #e %o"e

in#t ! r- $on&i='r r e 1 !i r % $ote# "e #o&t? re# nte# "e %JF!o e+ %ro"'/0o- i##o #e+ $o+%ro+eter '+ #i#te+ $o+%'t $ion ! &A#i$o4 Co+ o int'ito "e $o!o$ r e+ %r@ti$ to" ir@ teori $it " $i+ - e#te %rojeto

)or" r o "e#en1o!1i+ento "e %ro"'to# "e #o&t? re *CRUD F Cre te Retrie1e 1@rio# #i#te+ #

U%" te De!ete 5 Cri r Re$'%er r A!ter r EG$!'ir, "e#tin "o# o%er $ion i# #e+ ter te#t r $ "

ne$e##i" "e "e '+ %! t &or+ &A#i$ % r "e#en1o!1er e +)iente 1irt' !i3 "o4 For +

'+ "e!e#- o' #ej - 'ti!i3 re+o# '+

$on&i='r "o# "oi# $en@rio# * +)iente#,- $'jo "et !: +ento #e='e ) iGoK Cenrio 1 Foi 1irt' !i3 "o "' # +@>'in # $o+ o #o&t? re Or $!e VM Virt' !BoG#en"o >'e '+ +@>'in 1irt' ! $o+o o (in"o?# e o'tr Lin'G4 E+ $ " '+ "e! #- &oi in#t ! "o L *trB#, "i&erente# Si#te+ # Geren$i "ore# "e B n$o "e D "o# *Po#t=reS>!- MMS>! e Fire)ir", e t +)<+- L *trB#, "i&erente# Ser1i"ore# (e) *To+C t- G! ##Fi#:- 2Bo##,4 Foi + nti"o $o+% ti)i!i" "e " # 1er#Ce#

"o# re#%e$ti1o# #er1i/o# *B n$o "e D "o# e Ser1i"ore# (e), n # "' # +@>'in # 1irt' i#4 Cenrio Foi 1irt' !i3 "o "' # +@>'in # $o+ o #o&t? re VM? re P! Mer- #en"o >'e '+ +@>'in 1irt' ! $o+o o (in"o?# e o'tr Lin'G4 E+ $ " '+ "e! #&oi in#t ! "o L *trB#, "i&erente# Si#te+ # Geren$i "ore# "e B n$o "e D "o# *Po#t=reS>!- MMS>! e Fire)ir", e t +)<+- L *trB#, "i&erente# Ser1i"ore# (e) *To+C t- G! ##Fi#:- 2Bo##,4 Foi + nti"o $o+% ti)i!i" "e " # 1er#Ce# "o#

re#%e$ti1o# #er1i/o# *B n$o "e D "o# e Ser1i"ore# (e), n # "' # +@>'in # 1irt' i#4 E % r 1 !i r o "e#e+%en:o "o# #er1i/o# "e Ser1i"ore# (e) e

Geren$i "ore# "e B n$o "e D "o# &oi 'ti!i3 "o o A% $:e 2+eter4

DESCRIO DO TRABALHO For + 'ti!i3 " # %rojetoK Si!"e#$ O%er$&ion$' No#e )in*o+! Lin,Ver!(o (in"o?# N L6 )it# U)'nt' 86 L6 )it# # #e='inte# te$no!o=i # % r o "e#en1o!1i+ento "e#te

Vir",$'i.$*ore! No#e Vir",$'BoVM+$re P'$/er Ver!(o Virt' !BoG O484P

J$0$ In!"$'$*ore! J$0$ Jee S*1 Jre 2,3 Ver!(o 2 1 FjeeF#"QFR'O 2reFN'O

B$n&o *e D$*o! No#e M/!4' Po!"5re!4' Fire6ir* Ver!(o MM#>! S Po#t=re#>!FT4846 Fire)ir" 64S

7eren&i$*ore! *e B$n&o *e D$*o! No#e P5A*#in Fire6ir* M$e!"ro PHPM/A*#in Ver!(o P=A"+in III Fire)ir" M e#tro 88 PHPMMA"+i+ L4O

Ser0i*ore! )e6 No#e To#C$" 7'$!!Fi!8 JBo!! Ver!(o To+C t N G! ##Fi#: L 2)o## R

IDE No#e Ne"Be$n! Ver!(o NetBe n# N

Te!"e *e De!e#%en8o *e So9"+$re No#e A%$&8e JMe"er Ver!(o % $:eFj+eterF64RU#r$

O# ) n$o# "e " "o# &or + $on&i='r "o# $on&or+e %o"e+ #er 1i#' !i3 "o# n # i+ =en# #e='irK

M:S;L < Geren$i "orK %8%M/A*#in = B n$o "e D "o#K %o!+e6

M:S;L < Geren$i "orK %8%M/A*#in = T )e! K ,!,$rio

POST7RES;L < Geren$i "orK %5A*#in III = ConeG0o $o+ o Ser1i"or

POST7RES;L < Geren$i "orK %5A*#in III = Cri n"o B n$o "e D "o#K %o!+e6

POST7RES;L < Geren$i "orK %5A*#in III = T )e! #

POST7RES;L < Geren$i "orK %5A*#in III = Cri n"o T )e! K ,!,$rio

POST7RES;L < Geren$i "orK %5A*#in III = S;L

FIREBIRD < Geren$i "orK Fire6ir* M$e!"ro = ConeG0o $o+ o Ser1i"or

FIREBIRD < Geren$i "orK Fire6ir* M$e!"ro = B n$o "e D "o#K %o!+e6

FIREBIRD < Geren$i "orK Fire6ir* M$e!"ro = Cri n"o No1 T )e!

FIREBIRD < Geren$i "orK Fire6ir* M$e!"ro = T )e! K ,!,$rio

FIREBIRD < Geren$i "orK Fire6ir* M$e!"ro = Cri n"o No1o G ti!:o

FIREBIRD < Geren$i "orK Fire6ir* M$e!"ro = E"itor "e C +%o

FIREBIRD < Geren$i "orK Fire6ir* M$e!"ro = S;L

A# %!i$ /Ce# *CRUD, &or + $on&i='r " # $on&or+e %o"e+ #er 1i#' !i3 " # n # i+ =en# #e='irK

CONE>O < B n$o "e D "o#K M:S;L = Ser1i"orK TOMCAT


Bi)!iote$ A"i$ion " K #/!4'<&onne&"or<?$0$<@A1A1B<6inA?$r

CONE>O < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH


Bi)!iote$ A"i$ion " K %o!"5re!4'<BA1<BC1A?*6&3A?$r

CONE>O < B n$o "e D "o#K FIREBIRD = Ser1i"orK JBOSS


Bi)!iote$ A"i$ion " K ?$/6ir*<9,''< A ACA?$r

RESULTADOS OBTIDOS
CRUD < B n$o "e D "o#K M:S;L = Ser1i"orK TOMCAT
Te! Ini$i ! BD 5 Ser1i"or

CRUD < B n$o "e D "o#K M:S;L = Ser1i"orK TOMCAT


Ho+e

CRUD < B n$o "e D "o#K M:S;L = Ser1i"orK TOMCAT


Con#'!t r

CRUD < B n$o "e D "o#K M:S;L = Ser1i"orK TOMCAT


C " #tr r

CRUD < B n$o "e D "o#K M:S;L = Ser1i"orK TOMCAT


At' !i3 r

CRUD < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH


Te! Ini$i ! BD 5 Ser1i"or

CRUD < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH


Ho+e

CRUD < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH


Con#'!t r

CRUD < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH


C " #tr r

CRUD < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH


At' !i3 r

CRUD < B n$o "e D "o#K FIREBIRD = Ser1i"orK JBOSS


Te! Ini$i ! BD 5 Ser1i"or

CRUD < B n$o "e D "o#K FIREBIRD = Ser1i"orK JBOSS


Ho+e

CRUD < B n$o "e D "o#K FIREBIRD = Ser1i"orK JBOSS


Con#'!t r

CRUD < B n$o "e D "o#K FIREBIRD = Ser1i"orK JBOSS


C " #tr r

CRUD < B n$o "e D "o#K FIREBIRD = Ser1i"orK JBOSS


At' !i3 r

JMETER < B n$o "e D "o#K M:S;L = Ser1i"orK TOMCAT = C #oK I


O)jeti1oK An !i# r o te+%o "e retorno "e $ " re>'i#i/0o *te#te "e $ r= , Pro$e"i+ento#K 84 S !1 r V Te#t P! n *Projeto "e Te#te, V Cr'"TM4j+G 64 A"i$ion r T:re " Gr'%oL4 E#%e$i&i$ r nE+ero "e '#'@rio #i+'!tWneoK S74 O4 PerAo"o e+ #e='n"o "e '+ inter1 !o "e $oneG0o e o'troK 64 S4 Cont "or "e eGe$'/0o "o te#teK 8

JMETER < B n$o "e D "o#K M:S;L = Ser1i"orK TOMCAT = C #oK I


O)jeti1oK De&inir # /Ce# "e te#te "e $ " T:re " Pro$e"i+ento#K 84 A"i$ion r Te#t "or "e Re>'i#i/0o HTTP4 64 No+e "o Ser1i"orK Lo$ !:o#t L4 Port K P8P8 O4 M<to"oK Get S4 C +in:oK CRUDFTM5

JMETER < B n$o "e D "o#K M:S;L = Ser1i"orK TOMCAT = C #oK I


Pro$e"i+ento#K A"i$ion r X O'1inte X Re! t.rio "e S'+@rio

JMETER < B n$o "e D "o#K M:S;L = Ser1i"orK TOMCAT = C #oK I


O)jeti1oK Det !:e# "o % ##o % ##o "o te#te Pro$e"i+ento#K A"i$ion r X O'1inteX Ver Re#'!t "o e+ T )e!

JMETER < B n$o "e D "o#K M:S;L = Ser1i"orK TOMCAT = C #oK I


O)jeti1oK A$o+% n: r o $onteE"o "e $ " re#%o#t "o te#te Pro$e"i+ento#K A"i$ion r X O'1inteX Ver Ar1ore "e re#'!t "o

JMETER < B n$o "e D "o#K M:S;L = Ser1i"orK TOMCAT = C #oK I


Re#'!t "o "o Te#te

JMETER < B n$o "e D "o#K M:S;L = Ser1i"orK TOMCAT = C #oK I


Re! t.rio "o S'+@rio

JMETER < B n$o "e D "o#K M:S;L = Ser1i"orK TOMCAT = C #oK I


Yr1ore "e Re#'!t "o#

JMETER < B n$o "e D "o#K M:S;L = Ser1i"orK TOMCAT = C #oK II


O)jeti1oK Te#te "e Stre## $o+ S77 '#'@rio# #i+'!tWneo#

JMETER < B n$o "e D "o#K M:S;L = Ser1i"orK TOMCAT = C #oK II


Re! t.rio "e S'+@rio

JMETER < B n$o "e D "o#K M:S;L = Ser1i"orK TOMCAT = C #oK II


Yr1ore "e Re#'!t "o#

JMETER < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH = C #oK I


O)jeti1oK An !i# r o te+%o "e retorno "e $ " re>'i#i/0o *te#te "e $ r= , Pro$e"i+ento#K 84 S !1 r V Te#t P! n *Projeto "e Te#te, V %o#t=re#>!4j+G 64 A"i$ion r T:re " Gr'%oL4 E#%e$i&i$ r nE+ero "e '#'@rio #i+'!tWneoK S74 O4 PerAo"o e+ #e='n"o "e '+ inter1 !o "e $oneG0o e o'troK 64 S4 Cont "or "e eGe$'/0o "o te#teK 8

JMETER < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH = C #oK I


O)jeti1oK De&inir # /Ce# "e te#te "e $ " T:re " Pro$e"i+ento#K 84 A"i$ion r Te#t "or "e Re>'i#i/0o HTTP 64 No+e "o Ser1i"orK Lo$ !:o#t L4 Port K T7T7 O4 M<to"oK POST S4 C +in:oK :tt%K55!o$ !:o#tKT7T75CRUDFGP5 t' !i3 4j#%

R4 P r +eter#K 4 I" FX 8 )4 !o=in FX n &e

$4 #en: FX "T8L7L))P$&P&LO)S T6 $OOP&LOLL$e$6P6eN&)&6 $O66RL) e8 O"8S76

JMETER < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH = C #oK I


Vi#' !i3 "or S%!ine

JMETER < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH = C #oK I


Yr1ore "e Re#'!t "o#

JMETER < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH = C #oK II


O)jeti1oK Te#te "e Stre## $o+ 877 '#'@rio# #i+'!tWneo#

JMETER < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH = C #oK II


Yr1ore "e Re#'!t "o#

JMETER < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH = C #oK III
O)jeti1oK Te#te "e Stre## $o+ 677 '#'@rio# #i+'!tWneo#

JMETER < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH = C #oK III
Yr1ore "e Re#'!t "o#

JMETER < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH = C #oK IV


O)jeti1oK Te#te "e Stre## $o+ L77 '#'@rio# #i+'!tWneo#

JMETER < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH = C #oK IV


Yr1ore "e Re#'!t "o#

JMETER < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH = C #oK V


O)jeti1oK Te#te "e Stre## $o+ O77 '#'@rio# #i+'!tWneo#

JMETER < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH = C #oK V


Yr1ore "e Re#'!t "o#

JMETER < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH = C #oK VI


O)jeti1oK Te#te "e Stre## $o+ S77 '#'@rio# #i+'!tWneo#

JMETER < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH = C #oK VI


Yr1ore "e Re#'!t "o#

JMETER < B n$o "e D "o#K POST7RES;L = Ser1i"orK 7LASSFISH


Vi#0o Ger ! "o# Re#'!t "o#

7r9i&o=C,r0$ S%'ine
ND ,!,rio! M@Gi+o*+#, M<"i *+#, Re$e)i"o#*+# , T 88LO 6868 8SLS L6SO MAni+o*+#,

1CC CC ECC 3CC @CC

NR8 8LR6 6TPN 6TPN LL77

8P8 OSN 87T8 877O 8LN6

P P P P P

7r9i&o *e U!,rio! - Te#%o M-i#o *e Re!%o!"$

CONCLUSO
An !i# n"o # 1 nt =en# >'e 1irt' !i3 /0o "e #er1i"ore# o&ere$e- %o"e+o#

$on$!'ir >'e '+ %ro$e##o )e+ %! nej "o "e $on#o!i" /0o 'ti!i3 n"o 1irt' !i3 /0o %o"e %er+itir '+ re"'/0o #en#A1e! no nE+ero "e #er1i"ore# 'ti!i3 "o#- $o+ i#to re"'3ir o# $'#to# o%er $ion i# n in&r e#tr't'r $o+%r "e e>'i% +ento#- n i+%! nt /0o "e e "e

e!<tri$ - "e re"e e re&ri=er /0o- re"'/0o "e +0oF"eFo)r

$on#'+o "e ener=i entre o'tro# )ene&i$io#4 Con$!'i+o# t +)<+ >'e eGi#te+ !='+ # "e#1 nt =en# no '#o " 1irt' !i3 /0oK Con#'+o " $ % $i" "e "o HD- $ " +@>'in 1irt' ! te+ o #e' %ro%rio

#i#te+ o%er $ion ! e %!i$ /Ce# in#t ! " #- "e+ n" n"o ##i+ + i# e#% /o no "i#$o4 O $on#'+o " +e+.ri RAM t +)<+ '+ent #i=ni&i$ ti1 +ente "e1i"o o $o+% rti!: +ento " +e#+ o >'e %o"e "eiG r o #i#te+ o%er $ion ! !ento4 T +)e+ eGi#te !='+ # "i&i$'!" "e# n $on&i='r /0o "e $e##o "ireto

!='n# : r"? re# $o+ %! $ "e 1A"eo4

Vous aimerez peut-être aussi