Press "Enter" to skip to content

GOTO 2012 • Bottleneck Analysis • Adrian Cockcroft


ok, so sull’analisi del collo di bottiglia
e sto parlando di una cosa molto importante
aspetto dell’analisi del collo di bottiglia che è
la consegna della birra a un gran numero di
i partecipanti alla conferenza che alcuni di voi erano
Erano lì penso ed è molto
importante tenerli in questo felice
stato che puoi vedere al contrario di questo
stato abbastanza scontroso che abbiamo avuto anche a
la notte e ciò a cui tendi a imbatterti
è questo problema dove vedrai a
bottiglia ed è vuoto va bene così così tu
devono capire come si sta andando a
gestire e mantenere i colli di bottiglia pieni così
che le persone possano rimanere felici tutto il tempo
quindi supponiamo che dove abbiamo
distribuito un servizio cloud basato su netflix
perché faremmo quel genere di cose
per raccogliere molti dati su quanto
la gente della birra ha consumato e per quanto tempo
ci sono voluti per ottenerlo così abbiamo questo
essere un servizio che sta monitorando le cose
ed è più rischioso e ce l’abbiamo solo
l’URL in modo che possiamo inserire il nostro codice
qui così le persone possono capire come
leggere i file da lei e tracciamo il
tempo di risposta di quanto tempo ci vuole
prendi la tua birra e lo sai una cosa del genere
ok, ma sembra che ci siano questi grandi
Spikes ogni tanto siamo a corto di
birra o loro o qualcosa e l’unità
di tempo qui è il momento in cui vai
alla birra in un batter d’occhio, ma è un’unità di
sai che un colpo è una buona quantità di
tempo per prendere la birra se serve anche
molti trofei è troppo lungo ovviamente
sai che passare 60 bigliettoni è molto
molto tempo quindi come potremmo riassumere questo
tempo di risposta è questa è la parte difficile
giusto quindi proviamo a riassumerlo con a
pochi modi diversi di fare statistiche
le cose in questo sai che potrebbe essere ordinata
di bene la media è 3 quindi è una specie di
ok ma il massimo è 67 e poi siamo
quantili e standard di risposta
deviazioni e mezzi e di stare voi
è tutto ciò che è duro e quindi noi
davvero vuole fare è renderlo facile
consegnare grandi quantità di birra molto
rapidamente e ho un ottimo esempio qui
da q con london chi era al q con
Londra quindi questo era il migliore
sistema di consegna della birra che abbia mai visto
fondamentalmente c’era una stanza con forse
sai qualcosa come 500.000 persone
in esso e c’erano questi camerieri con
commerci di grolsch che fanno solo incursioni
stavano solo apparendo e correndo
e quando il loro vassoio era vuoto andarono
indietro per più e riempì questa stanza
con essere estremamente efficiente e così
questo è facile, quindi andiamo
facciamo un po ‘di modellazione
quello che sembra in realtà c’è un
un codice che ho scritto nella nostra volta chiamata CHP
che disegna grafici interessanti e io
ho provato a montarlo su una diapositiva
non andava bene così devi solo andare e
trovalo ma se lo fai se lo crei
scenario artificiale in cui noi in realtà
vediamo quanto analizziamo Let’s
questo è bit prova a mettere il rendimento
di sempre più birra inviando questi
ragazzi con vassoi questi ragazzi in più veloce e
più veloce per vedere quanta birra possiamo
consegnare a una folla in un colpo solo questo è
che aspetto ha la trama chp e allora?
Ho in cima a destra è una rampa di
throughput Sto solo testando tutto il
possibili risultati che potrei avere
termini di consegna della birra in mezzo alla folla
e quello che ho in fondo è il
tempo di risposta contro Headroom bene il
il grande spazio qui è una distribuzione di
tempo di risposta contro Headroom destro e
è una trama sparsa ma in questo caso
Ho un input molto controllato e io
ottenere una linea retta questo è un
sistema ben educato ma sembra
chi sta mettendo la birra su questi vassoi
come un collo di bottiglia e noi
esaurito la capacità per lo scopo di a
birra budino su questi vassoi quindi diventa
più lento e lento richiede più tempo
rispondere come si mettono più persone in e
questi divertenti blocchi sul lato sono
istogrammi della distribuzione quindi ho
ottenuto una distribuzione molto uniforme di
throughput perché ero un po ‘di giusto
fare questo tipo di test in teoria
e ho una distribuzione di risposta
tempo che mostra la maggior parte del tempo è
bello e veloce ma ti fa sapere
c’è una quantità sempre più piccola ora
non è molto realistico, quindi diciamo
sai, diciamo che stavamo misurando a
sistema reale e sembrerebbe qualcosa
in questo modo è più o meno la stessa cosa così
ha una distribuzione pressoché costante di
rendimento e ho una sorta di a
la distribuzione dei tempi di risposta è un po ‘
più vario ma ha ancora questo tipo
di sopra e alla destra della mazza da hockey
curva tipo di cosa così come questo è ciò
ti aspetti mentre metti più throughput
in un sistema rallenta il tempo di risposta
giù è il collo di bottiglia giusto così
questa è la versione per computer di
collo di bottiglia a destra
e puoi vedere che li ho presi. ordinare
di tre giorni vale un po ‘rumoroso
guardando i dati la parte in alto a destra di questo
grafico è il throughput nel tempo solo
darti un contesto per ciò che questo
sembra ok quindi abbiamo capito che a
sembra un tempo di risposta dall’aspetto normale
se vi capita di essere grandi
quantità di birra in un grande gruppo di
i partecipanti alla conferenza, ma cosa succede se
invece di questo va a 0 chi è suo
vai alle Hawaii diciamo che siamo alle Hawaii
e invece della birra stiamo cercando di fare
i Mai Tai sono per le persone e i maii sono
molto più complicato che hanno
Ombrelli in loro e diciamo che c’è
solo una persona che sa come mettere
l’ombrello dentro e e e quello causa
un altro tipo di bottiglia in caso affermativo
in realtà abbiamo finito con a
distribuzione che assomiglia a questo e
questo è quello che succede quando c’è la serratura
contesa nel sistema perché c’è
un punto di serializzazione siamo solo uno
la persona può capire come ottenerlo
ombrello e c’è un sacco di gente che
può fare in modo che molte persone provino a farlo
bevi le dita dei piedi c’è solo una persona
chi ha il brodo e può ottenerlo
ombrello esattamente nel modo giusto quindi se mai
vedi quella distribuzione e ha un po ‘di ordinamento
è piatta ma sta salendo così
qui se raddoppio il throughput raddoppiamo
il tempo di risposta ora e fondamentalmente
bloccarsi su una cosa così è
questa è una forma di grafico molto diversa
così bene cerchiamo di risolvere il problema
problema portando gli stessi ragazzi noi
aveva a Londra e li hanno consegnare un sacco
di birra alle persone ma e questo ci lascia
fare semplici bevande e bevande complicate
e se tu se sei alle Hawaii puoi farlo
prendi questa bevanda davvero complicata che
è un ananas intero ci vuole un bel
molto tempo per farti iniziare con a
ananas svuoti l’ananas
hai messo il rum e roba in esso e poi tu
decorarlo per sembrare un Dalek quando
ne hai bevuto metà ne facciamo una specie
di invece di dire sterminare dice
ubriaco inebriato, è una specie di
questo è il principio generale qui così
quello che ora abbiamo è una miscela di lavoro
continuando stiamo cercando di averne uno
gruppo abbiamo un ragazzo che consegna
estremamente alto sai estremamente alto
volume cose molto semplici nella tua
bottiglie di birra molto facilmente e abbiamo
alcune altre persone che li fanno
bevande incredibilmente complicate e se noi
fallo entrambi allo stesso tempo
otteniamo questo aspetto molto strano
distribuzione se lo tracciamo usando il nostro
birra speciale sai bere consegna
servizio di monitoraggio che siamo ancora
correre ovviamente perché è nel
nuvola e può vedere cosa sta succedendo
in qualche modo e quello che sta succedendo qui è quello
diciamo che abbiamo un certo numero di server
e possono riempire i vassoi
con la birra o possono essere ritagliati
ananas quindi il fatto che iniziano
come una miscela di queste cose ma
alla fine finiscono tutti per scolpire
ananas perché ci vuole per sempre e
non c’è nessuno che riempie i vassoi con la birra
e quello che succede poi è il throughput
va giù e va davvero molto lento
e tu sei in alto a sinistra qui
sei proprio lì e alla fine
qualcuno finisce di intagliare ananas e
c’è una grande pila di ragazzi in piedi
lì con i vassoi vuoti si inizia a riempire
vassoi e il sistema inizia la consegna
tanti e tanti vassoi di birra e poi
arrivano gradualmente più ordini di ananas
dentro e tu oscilli indietro così questo sistema
non è stabile oscilla indietro e
avanti tra la consegna di lotti e lotti
di cose molto veloci e poche molto lente
cose e questa è una statica
caratteristica che è abbastanza difficile da
osserva ma quando fai questi trent
i grafici di distribuzione di deezer è facile
vedi che questo sta accadendo e quando tu
vedere un sistema che oscilla è abbastanza
spesso perché hai una miscela di
cose molto lente e cose molto veloci
che lo stai facendo per farlo una volta e
che questa è questa è la caratteristica
di un sistema affamato di fili proprio lì
un sacco di capacità inutilizzata nel sistema
ma tu non ne hai abbastanza di te
è necessario aggiungere più persone che possano coprire
ananas fino ad avere un eccesso di
persone e hai delle persone libere
lasciato lì può anche consegnare birra
bene il numero completo possibile di
la scultura di ananas sta succedendo al
stesso tempo così come lo risolvete
problema è aggiungendo discussioni proprio così
ora possiamo vedere che sappiamo quando abbiamo il blocco
contesa e abbiamo web da
discussioni e abbiamo un comportamento normale ma
Voglio mostrarti qualcos’altro
succede che è questo se ci riesci
costruisci sistemi che ordinano scale che crescono
e restringere con capacità che è sorta
di voi sapete che questo è stato un buon esempio
pensa di sapere che ho un set scalabile di
birre qui che vengono consegnate io sono
ottenere più birre ma solo
Un esempio che ho trovato era in realtà un
netflix su questo è in realtà uno dei nostri
servizi interni che si adattano automaticamente
AppDynamics ha un modo di tracciare questo
quindi se questo è il throughput e questo è
la risposta su questo Sam sembra un po ‘
strano ma una delle cose che puoi vedere
è che si verifica il tempo di risposta più basso
quando il throughput è in calo e quindi
si va un po ‘più tardi ora, se si
fare il diagramma di distribuzione per questo
c’è questa strana serie di punti
qui, ma quello che sta realmente accadendo è
iniziamo con il picco di velocità effettiva
ok la parte superiore di quella sezione blu che è
il morso più lontano a destra
quando nel tempo ciò che accade ora è
c’è un cerchio in cui stai andando in giro a
cerchia così vai giù per il fondo
il tempo di risposta più basso in basso per il
il throughput più basso e poi ciò che effettivamente
succede è che tu ho un sì là noi
vai ora ho pochissime macchine o molto
poche bottiglie di birra o qualsiasi altra cosa davanti
di me e così come aumenta la capacità
in realtà sale in un dente dolente perché
diventa un po ‘lento e poi aggiungo di più
macchine e gocce e così c’è
questo dente di sega che sale qui come sono
gettare più capacità mentre sto aumentando
e poi arriva fino a qui
e poi sto buttando via la capacità e
è come se tornasse qui, così tu
fai un grande giro nella tua cosa così
se vedi un ciclo sai che hai
qualcosa di quel tipo di auto scaling tutto
a destra e in modo che è possibile utilizzare questo
piccolo codice CHP che ho scritto anni fa
per fare i diagrammi o se ti capita di farlo
avere dinamiche di appt potrei persuaderli
per aggiungere questo al loro prodotto che ha fatto
me felice tutto bene quindi questo è fondamentalmente
la mia trama riassuntiva questi sono i difficili
le cose che capiscono se hai
contesa di blocco se si dispone di un
sistema ben educato, che tu sia
oscillando nelle nostre scarsità di filo o
se ne hai qualcuno da ordinare in loop
sistema scalato e se dobbiamo fare è
disegnare un grafico guardarlo e decidere quale
tipo di sai quale forma è il grafico
e puoi vedere cosa sta succedendo tutto
giusto così è e possiamo finire
con un po ‘di liquido Aloha e
kaskus osservi anche che quando il
il sistema cambia le prestazioni
caratteristica quindi che il sistema
se stesso viene usato in un altro modo quindi
anche i tuoi dati cambiano perché per te
ovviamente gli utenti, ad esempio, vanno via
e quindi hai il ridimensionamento automatico perché
sì, puoi sicuramente spostarti
queste diverse cose si potrebbe avere a
sistema che inizia ben educato e
metti e all’improvviso dici forse
è ben educato nei test ma quando tu
vai in produzione c’è più latenza
perché i clienti reali sono più lontani
e all’improvviso sei fuori
discussioni e sistema che inizia bene
comportarsi inizia a oscillare così
tu e tu a volte vedi questo c’è
questi grafici che mostrano una sorta di
rendimento come questo tranne l’alto
punto in modo che questo è un bellissimo liscio
in alto a destra ma se la cima sembra
La testa di Gilbert sale e poi quella
oscilla in questo modo e poi ha un
bel tuffo liscio, sapete quello di Delbert
taglio di capelli è un po ‘così spigoloso in cima
è oscillante e quindi a basso carico
in realtà è bello, liscio e
a volte vedi grafici di throughput
fai questo e quello spike enos significa questo
al culmine sei fuori dai fili ma a
carico carico minore utilizzo è stato
ben educato, quindi ti stai davvero muovendo
tra queste due posizioni a sinistra
e quando si media tutto fuori
non puoi vedere quelle oscillazioni che è
uno dei problemi ed è strano
pensa che un sistema avrebbe un
comportamento oscillante è un non lo è
normalmente qualcosa che vedi così ma è
molto confuso perché la prima volta
ho visto questo grafico in fondo è io
non riuscivo a capire che non dovrebbe essere
quella forma in cui dovrebbe andare
la destra

Please follow and like us: