Press "Enter" to skip to content

GOTO 2015 • Low Latency Java in the Real World: LMAX Exchange & the Zing JVM • Gil Tene


infatti con un pubblico piacevole e piacevole come
questo possiamo aggiungere anche vedere se c’è
interessi speciali o persone in realtà te
sai come in generale che lo sei
interessato al soggetto reale è
Java a bassa latenza nel mondo reale con
è l’esperienza attuale della Xing JVM
un prodotto che produciamo a L max alla L max
scambio e abbiamo fatto cose
lì per un paio d’anni ora quanti di
ti occupi effettivamente di bassa latenza
i sistemi vanno bene per come farlo
Giava bene so cosa fai bene okay
quindi è in quel mondo che gli altri sei tu
interessato a bassa latenza in Java
spero che tu sia qui, sì, va bene così
questo è quello che ho intenzione di coprire in I
in realtà mettere insieme questa presentazione
con L max e sono davvero molto felice
che abbiamo questo materiale perché lo è
davvero raro per noi avere una finanziaria
cliente di servizi che è disposto a
parlare apertamente delle loro esperienze con
i nostri prodotti di solito i nostri clienti non lo faranno
parlare
Azul è installato in sette dei
le prime dieci banche d’investimento finanziarie per
esempio nel mondo in esecuzione vari
sistemi ma nessuno di loro ci permetterebbe
dì chi sono
avviso non ho detto dieci dei primi dieci
quindi posso ancora dirlo correttamente
ma lo scambio L max è in realtà equo
aperti e parleranno e lo faranno
descrivere cosa fanno effettivamente e
hai visto risultati con l’open source come
bene
quindi è a bassa latenza Java nel
il mondo reale così a bassa latenza lo sappiamo
speriamo non farlo sai che questo è
come le cose che richiedono decine di decine di
microsecondi a forse millisecondi e
Speriamo che Java sappia cosa sia e
il mondo reale è importante non lo è
teoria questa è l’esperienza attuale finita
due anni di schieramenti effettivi, quindi noi
Potrei parlare di quello che è successo e lo farò
coprire alcune delle alcune delle lezioni
imparato anche cosa faremmo
diversamente per cui abbiamo iniziato oggi
esempio sai che parlerò di me e
allora ti mostrerò a chi sto contro
Sono il diesel CTO quindi è tutta colpa mia
Ho lavorato su tutti i tipi di cose
compresa la garbage collection per a
decennio più intorno a JVM e questo è un po ‘
prova di me che faccio la raccolta dei rifiuti
nella mia cucina è una spazzatura rotta
i frammenti del compattatore stanno cadendo dal
indietro la funzione di compattazione non lo era
lavorare subito così ho dovuto risolvere il problema in
esegui il debug e ho pensato che sarebbe stato interessante
una foto con un libro questo è nel 2004 quindi
è vecchio e ho davvero bisogno di un nuovo
immagine Ho una lunga storia di
costruire tutti i tipi di cose fisiche
macchine macchine virtuali kernel molto
di applicazioni di programmazione di sistemi
distribuito su molti sistemi per
milioni di abbonati e firewall
e interruttori e molte cose che sono un
un po ‘più vecchio di quanto sembri o forse
hai iniziato a sapere che mi hai raggiunto ma
Ho lavorato con i computer dal
circa 1982 quindi ho una memoria lunga ora io
ha anche il passatempo preferito di spaventare le persone
sulla latenza non sulla lunghezza di esso
ma su ciò che sanno o non sanno
su di esso e cose irresponsabili loro
fai quando lo misurano se lo sei
interessato a un argomento che conosci cercare
come non misurare la latenza o cose di
quel genere e ci sono alcune cose utili
in giro così che ora sono anche io
in piedi per Mark Price che è un L
max engineer e in realtà lo costruiamo
presentazione insieme ma lui è a Londra
proprio ora così invece di lui ci sono io
questa è un’immagine spaventosa che ho scattato
quando si prende una cavalcata davvero spaventosa
e potresti vedere la mia reazione ad esso
è la corsa Dumbo a Disneyland
davvero sai che è preso da
un altro Dumbo e stavamo facendo una smorfia
Mi piace comunque l’immagine
mark è uno sviluppatore di finger presso L max he
si è concentrato sulle prestazioni non solo in
il suo lavoro ma in generale gli piace solo
le cose di performance che è lui è toccato
praticamente tutto a L max perché
è stato lì perché penso alle otto
anni e in questo momento si sta concentrando su
prestazioni e monitoraggio ma lui è
toccato non solo le cose di spettacolo che è
in realtà ho costruito molte parti una delle mie
cosa preferita
su Howdy descrive il suo lavoro è usato
per essere questo ragazzo il ragazzo che tutti
è venuto a piacere allo psichiatra qui con
i loro log GC e gli hanno detto il loro
problemi e ha dovuto consolarli e
prova ad aiutarlo a superare i problemi
e tu sai insegnargli come fare meglio
con la loro vita e sai vivere dentro
l’ ambiente con cui devono convivere
e così tuning e spazzatura GC
la conoscenza della collezione era una delle sue
perfuse centrale e tu sai che lui era il
go-to guy in giro per quel l max in generale
e ancora una volta non sono l max ma ah dimenticavo
fare una cosa molto importante qui
proprio qui vedi quando lo fanno noi
farò questo esperimento quando sarò segnato
Lo farò e quando sarò Gil non lo farò
farlo vedere vedremo come funziona
okay , eccoci qui che sto attraversando la nostra figata
discussione e a El Max e io non sono
parlando per El Max, ma questo è il loro
materiale L max è fondamentalmente un luogo per
il trading a bassa latenza è il primo
MTF regolamentato che è multilaterale
impianto di negoziazione per cui credo
Io sono il trading FX orientato all’ordine trasparente
scusa sto leggendo i punti perché
non è mio e bisogna stare attenti non
per dire cose sbagliate hanno tutti i tipi
di riconoscimenti e premi, ad esempio loro
sono stati loro a vincere il primo posto in una tecnologia
traccia 100 e in generale mirano ad essere
la borsa di scambio FX più veloce al mondo
quindi si confrontano con altri loro
in realtà mettere le cose sul loro sito web
per parlare del loro comportamento di latenza
negli ultimi 30 giorni cose del genere
sono incredibilmente trasparenti per cosa
l’ industria di solito è ciò che io
come un sacco, perché a tutti non non solo
ci piacciono come clienti e così
quello che vediamo vedere il loro miglioramento e
il fatto che possiamo condividerlo con il
il mondo è fantastico
ora è anche l’apertura di loro
relativamente rari non solo siamo qui
parlando di cosa fanno con i loro
hanno anche abbracciato
open source un bel po ‘e tu probabilmente
conoscili da
Distruttore MX 4l che è un comune
modello utilizzato in bassa latenza o alta
sistemi di throughput oggi che sono usciti
di L max okay quindi zing yeah abbiamo parlato a
poco su L max cosa sono le cose
zing è una JVM per Linux x86 è
fondamentalmente buono per non essere semplicemente veloce
ma essendo veloci tutto il tempo in realtà
pensa che probabilmente la decisione riguardi
20 anni fa per costruire questo runtime
è così popolare ora, ma lascia che se ne vada
uscire a pranzo quando vuole
solo un errore fondamentale computer
non si comportava così prima che non lo fosse
accettabile e il fatto che abbiamo
evoluto in qualcosa che è così
radicata, fondamentale e produttiva
e buono ma va e si ferma in qualsiasi momento
vuole e non corre continuamente è
semplicemente sbagliato, quindi riavviamo l’orologio
che ho detto JVM non dovrebbero
smettere va bene per la vostra applicazione per
fai qualunque bug tu abbia ma la JVM
ha bisogno di continuare a correre e tenerla
impiccagione e non dovrebbe essere arrestandoli
almeno non per quantità notevoli di
tempo e quindi abbiamo cominciare dal fondo
eliminando la garbage collection come
preoccupazione che non eliminiamo la spazzatura
collezione, lo facciamo giusto, intendo noi
fallo senza fermare l’applicazione
o fermando un’applicazione per qualsiasi
quantità di tempo percepibile dal
punto di vista delle applicazioni per a
ambienti aziendali a
completa eliminazione e non siamo solo
stiamo parlando del grosso GC cattivo che siamo
parlando di uno qualsiasi degli effetti GC
piccoli cattivi newgen tutti gen sono tutti
andato e se è bassa latenza o
il tempo di risposta della scala umana è l’effetto
molto evidente nei sistemi a bassa latenza
la gente pensa che multi millisecondo
i positivi sono mortali per gli umani
se è tutto ciò che avevano ragione e dentro
applicazioni umane quando lo sai
fare analisi analitiche interattive con un 50
gigabyte data cube e funziona bene
bene la maggior parte del tempo, ma poi quando
vuole fare qualcosa che devi andare a prendere
una tazza di caffè e torna indietro giusto e
poi c’è il fastidioso sai
il livello di vendita al dettaglio online di persone proprio non lo fanno
come aspettare più di una frazione di a
in secondo luogo per vedere la prossima camicia o vestito o
qualcosa o TV così attraverso tutto ciò
piccolo
grande memoria throughput elevato partire
throughput di GC non è più ti dà fastidio che si
non pensarci più e sai
si tratta di un problema di sé e io sono parlo di
molto, ma dovremmo davvero smettere
parlarne è fatto andiamo avanti
per l’ ingegneria vera e propria non è necessario
reinventa quella ruota ancora e ancora e
di nuovo più e penso altro
la gente lo risolverà – cantiamo
in questo momento è l’unico che lo fa
ora la qualità chiave di questo è quello
il codice idiomatico di Java ti funziona davvero
non è necessario iniziare a scrivere non
cose idiomatiche solo per aggirare
cose che sono rotte nel tuo sistema
il sistema funziona perfettamente anche quando tu
scrivi il normale codice Java come te
graviterebbe naturalmente per usarlo
e questo significa che tu sai anche se tu
non posso permettermi nessun tipo di blip che sia
le cose notevoli funzionano ancora bene ora
Lmax è molto importante rimanere
reattivo e un buon esempio di ciò è
un evento recente accaduto in un mercato
potresti aver sentito del cambiamento in
un prezzo in franchi svizzeri e come
disaccoppiati da altre cose e da quello
il cambiamento è arrivato come un evento sorprendente
evento per alcune persone in un mercato che causa
alcuni spike interessanti in volume
è andato dritto così anche quando
il modello di traffico cambia e anche se
quando cambia ancora sorpresa
è necessario essere reattivi, infatti, questo è
il momento più critico per rimanere
reattivo se guardi attraverso le notizie
elementi a destra dopo questo che giocano
i sistemi e gli scambi commerciali che
ce l’ha fatta passare indenne il nostro compagno
comunicati stampa sul fatto che lo hanno fatto
perché è qualcosa di cui essere orgogliosi
i ragazzi che non hanno messo fuori stampa
release ben si sa che si può pensare
quello che è successo lì probabilmente lo sono
non ha attirato l’attenzione su quello che è successo
Lmax ne ha fatto completamente il male
questo dovrebbero essere molto orgogliosi che dovremmo
essere molto orgogliosi della nostra partecipazione in
parte una piccola parte di farlo ora quando
guardi il traffico nel mondo reale
il traffico che cambia tutto il tempo
è un punto di dati molto interessante che abbiamo ottenuto
e questo è in realtà guardando a cosa
un secondo si comporta come a
attraverso il giorno quindi questo è ogni millesimo
il secondo della seconda a sinistra è zero lì
è un migliaio ma ripetuto più di un giorno così
questa è la media di quando le cose
capita durante un secondo ciò che vedi qui
è un insieme interessante di modelli lì
sono quattro punte al secondo e
qualcosa succede quattro volte al secondo
che cambia informazioni e persone
reagire ad esso facendo trading e loro no
aspetta mezzo secondo che non si spalma
non succede casualmente nel tempo loro
concentrati molto duramente se vuoi
i tassi misurati al secondo si ottiene questo
linea rossa laggiù ma se sei solo
in grado di gestire la linea rossa o due o
tre o cinque volte che tu e vieni
vicino a essere in grado di gestire questo
senza blip infatti questo è il
la media in un giorno intero è possibile
immagina che i cattivi secondi della giornata
hanno le punte sono un ordine di
grandezza più grande di questa ora la
messaggio qui è quando si progetta il
sistema per gestire il carico che deve gestire
il peggior carico di cui abbia realmente bisogno
gestire quale è la parte superiore di questo parlare
volte 10 o qualunque cosa sia nel male
secondi e quel numero non è da nessuna parte vicino
ad una media di lavoro in media
significa morire la maggior parte delle volte non è un
buona proposta di lavoro quindi è necessario
rimani reattivo in cima alla cima di
i picchi e le statistiche non ti aiutano
sapere quando accadono cose brutte nel telefono
squilla con i clienti sconvolti proprio guardando
all’architettura e alcuni al
pezzi chiave del luogo dell’esecuzione a L
max questi sono schemi a blocchi di pretty
molte cose a cui si riferiscono le gateway
cose esterne market maker su uno
lato e broker e clienti sul
altri hai flussi che vanno in corrispondenza
motori e un secondario per la ridondanza
e alcuni journaling ed è il predate
rischio e credito cose che accadono dentro
Inglese inglese a questo si chiama a
pacchetto di chip quindi è divertente
Inghilterra ci prenderemo un pacchetto e spostarlo
attraverso il sistema giusto
abbiamo fatto la presentazione in prima e
in pratica avrete pacchetti diretti a
arrivando dai market maker in questo
caso che passa attraverso un disgregatore ciascuno
di questi cerchi sta andando un disgregatore
attraverso le porte facendo qualsiasi cosa
conversioni di protocollo e così via
capita che stanno andando nel reale
motore di corrispondenza di esecuzione che esegue il
corrispondenza reale, ma dal momento che è necessario
ottenere buone registrazioni di questo va bene
in un diario in un secondo là dentro
caso fallimento come i loro si ricongiungono in quando
sappiamo che entrambi hanno effettivamente preso
cosa qualunque sia la formattazione dell’output e
elaborazione e altre cose devono
capita inviato indietro attraverso il gateway per
qualunque conversione e invio lì
e poi tornare fuori al mercato
produttori che è il classico percorso classico
di latenza attraverso il sistema da
prendendo il messaggio per ottenere il
messaggio che è la latenza
siamo davvero interessati e come te
vedere che passa attraverso più hop
attraverso più sistemi nel caso di
non market maker ci sono aggiuntivi
il luppolo sta attraversando e questo è perché
c’è passaggi aggiuntivi che devono
succede pure ora questa è l’immagine
e sistema in Lmax guardando da un
Prospettiva Azul e come prospettiva
il mondo generale di Java e basso
la prima domanda di latenza che chiediamo spesso è
davvero intendo perché le persone usano Java
e bassa latenza non sai cosa è
succederà, va bene, questo è un
piattaforma che non è stata progettata per mettere in pausa
ma in pratica si ferma molto e
quello dovrebbe sembrare come un
contraddizione e la cosa interessante
è la risposta ritorna è sì, lo sappiamo
quello e lo usiamo ancora e ci sono
ragioni per cui per esempio tempo a
stabilità della piattaforma dal giorno
dobbiamo fare qualcosa finché non ce l’abbiamo
stabile nelle mani delle persone che corrono dentro
produzione Java è probabilmente migliore di
altri empiricamente migliori di altri
attraverso molte molte organizzazioni e
ciò non è limitato al Web aziendale
affrontare le applicazioni include basso
i sistemi di latenza ci sono buoni testati
le cose quando le persone effettivamente fare questo
dove arrivano solo più velocemente
al mercato va a destra insieme a quella così
non solo ottieni una buona stalla
prodotto che puoi sostanzialmente spedire prima
non solo stabilità ma
completezza reale è lì più veloce in
uno di quelli molto importanti e
la gente sottovaluta questo è tempo di
performance in modo che la gente possa pensare a Java
potrebbe essere veloce potrebbe essere lento e pensiamo
è abbastanza veloce puoi fare più veloce
probabilmente ma cosa puoi fare nel prossimo
tre mesi e se inizi oggi
chi avrà un sistema più veloce nel
mercato tre mesi da ora
è quasi invariabilmente che batte Java
altri ambienti bene quando intendo
altri ambienti intendo il tempo di non esecuzione
ambienti basati ad esempio C C ++ in
facendo questo alla fine potresti essere
più veloce altrimenti, ma se hai bisogno di ottenere
lì rapidamente per esempio se ne hai uno
alcool o qualcosa del genere
sì o si vuole realmente essere in
mercato rapidamente la quantità di sforzo e
il tempo per arrivarci è più breve di questi
sono tutte cose che ascoltiamo
più clienti non solo Lmax nel
il vero mondo java come la ragione
in realtà codificano in Java a basso
latenza questo è il motivo per cui ora è così
lì anche senza zing prima che arrivassimo
lungo e cambiare l’immagine un po ‘
ora la produttività e la consegna complessive
e tutto ha appena vinto gli svantaggi
ci sono aspetti negativi di cui le persone sono consapevoli
loro ma i benefici superano i cattivi
quindi quando guardiamo queste cose come Lmax
ogni singolo passo che ti abbiamo appena mostrato
puro Java c’è un qualsiasi codice nativo in
uno di questi sistemi e questo è il modo
è stato progettato sin dall’inizio
consegnato ed è un bambino poster è
la sede di trading FX più veloce là fuori
meglio di qualsiasi altra cosa ci sia e
è scritto tutto in Java e questo era
vero prima di Xing è stato avviato questo ci
è puramente un vantaggio Java ora ha Java
bene come ho detto ma viene anche con
alcuni cattivi in ​​alcuni brutti proprio così
bene sai veloce è produttivo
puoi ottenere un codice veramente buono
e sai se hai visto le parole di Charlie
quale non ho fatto ma ho visto versioni di
il compilatore non è ottimizzato per
fai un ottimo lavoro per essere bravo
codice macchina fuori si si potrebbe fare a
un po ‘meglio in vari modi ma
vieni dannatamente vicino a fare lì così
il modo in cui ci penso è se tu
avere dei buoni sviluppatori che otterranno il bene
roba da tutto ciò che otterranno cose
su un codice macchina fuori C di C ++
fuori da Java e buona parte del bene
gli sviluppatori in realtà non più multipli
lingue e sceglieranno qualsiasi cosa
è lo strumento giusto per il loro lavoro
di solito sarà qualunque cosa li ottiene
lì più veloce o qualunque cosa lo renda
più facile e più stabile qualunque cosa siano
puntando in modo che quando le persone mi vedono in basso
la latenza sceglie Java che non è perché
questo è tutto ciò che sanno la maggior parte della gente
So che a bassa latenza Java sono in realtà
davvero bravo a vedere programmatori C ++ che
scegli di usare Java e lei ti dice
qualcosa è lo stesso in Reverse
i cattivi sviluppatori ti daranno del male
codice lento indipendentemente da ciò in cui scrivono
non puoi aiutare questo e questo significa te
bisogno di ottenere buoni sviluppatori se vuoi
buon codice soprattutto se le prestazioni sono a
tipo iper critico ora il
la verità semplice è che ci sono più Java
sviluppatori oltre agli sviluppatori C e C ++
lì il pool di assunzioni è più grande di un
ordine di grandezza o più che non lo è
dire che i ragazzi di Java sono più intelligenti o
meno intelligenti sono solo più di loro così
se sei là fuori ad assumere
gli sviluppatori di fornire qualcosa che è
è più facile trovare persone che lo facciano
più facile trovarli e addestrarli a
arrivare lì ci sono tutti i buoni
cose
tuttavia le JVM non sono continuamente veloci
non sono stati costruiti in quel modo
l’inizio e la e non pensiamo di questo
come un criterio di progettazione di Java è giusto
un artefatto casuale della gente della storia
non pensavo che sarebbe stato usato in posti
che sono così sensibili così non hanno fatto
progetta in che modo funzionano i runtime
e quando effettivamente lo guardi, la chiave
le cose sono GC ma c’è molto di più
di GC là fuori ci sono leoni e
tigri e orsi e il leone è il GC
ci sono altre cose che fanno le JVM di JVM
è stallo che anche se risolvi GC
torneranno e ti morderanno in un
zoo in realtà li guardiamo tutti noi
non pensiamo che risolvere GC sia così
fatto l’obiettivo è quello di non mormorare e mettere in pausa
qualunque cosa sia ciò che causa ciò
in questo momento, bassa latenza Java e io uso
cita per descrivere che di solito è John
ma scritto diversamente usi Java
sintassi scrivi in ​​Java ma eviti
usare Java idiomatico perché è il
cose idiomatiche di Java che poi fanno il
l’ambiente alla fine fa i blip e
pause e cose cattive quindi in alcuni casi
significa non caricare e scaricare classi a
molte cose penso che sia abbastanza
ragionevole ma in alcuni casi significa
non assegnare oggetti o hai ancora
una chiave per molti di loro tenta di allocare
così lentamente che non ci sarà un GC e
tutto un GC completo o una conoscenza in GC oggi
e forse solo un agente molto raramente lo è
una pratica molto comune e come si fa
che non essendo idiomatico non puoi
non puoi fare nulla e poi è così
facile ma se effettivamente lavori e
lo farai con Java idiomatico
generando molti oggetti temporanei
questo è solo un effetto collaterale di idiomatico
Java funziona se vuoi farlo
diversamente sei codice andando
in modo diverso e il primo passo nella codifica
diversamente non sta usando qualcun altro
codice perché era il codice di tutti gli altri
scritto in idiomatica Java quindi non è così
importa quello che fai c’è questo
bel motore di protocollo laggiù
analizzare le cose per te e tu non hai
per scriverlo ma sfortunatamente
alloca gli oggetti in modo che tu non possa usarli
e c’è un bel sistema di journaling
c’è un bel sistema di messaggistica tutto il
cose che altre persone hanno costruito
Java non è direttamente utilizzabile se lo sei
cercando di fare molto in basso sul posto Java
il che significa che scrivi tutto
te stesso e perdi un sacco di influenza
ma questo funziona e questo è quello che
le persone tendono a farlo con quello che sai
diamo un’occhiata a ciò che fa Xing a basso
latenza Java Xing è fondamentalmente una JVM
che valori la coerenza poniamo in alto
valore o un alto prezzo sull’essere
rumore incoerente e GC in Xing e
anche altri rumori sono stati ridotti a
livello in cui è inferiore al funzionamento
il rumore del sistema non siamo a zero noi
in realtà fai una pausa quattro volte per ogni GC
ciclo ma le pause sono così brevi
non sono percepibili per la maggior parte dei sistemi
anche quando il sistema è ottimizzato, il
rumore naturale il sistema operativo deve
è più alto e più frequente del
il rumore che generiamo a questo punto possiamo
miglioralo meglio
possiamo fare meglio ma sta diventando difficile
misurare perché non siamo il segnale
siamo solo il rumore in cima al
segnale a quel punto nella correlazione
è molto basso ora significa che manterremo tutto
il buono e ci liberiamo del cattivo e
parti brutte in modo da ottenere tutto il
produttività otterrai tutta la leva
puoi usare il codice di altre persone e
si arriva a scrivere un Java idiomatico e
non devi pensare a quei GC
risparmiando non facciamo pressione su GV VC
non feriamolo, non spaventiamolo
perché siamo sensibili alla latenza se
GC funziona giusto il modo in cui era
dovrebbe funzionare sin dall’inizio
il regolare lavoro idiomatico non dovrebbe ferire
e stiamo dicendo che non è così fondamentalmente
potresti semplicemente togliere tutto il bizzarro
le cose che le persone fanno per aggirare o evitare
roba Ho spesso dibattiti con le persone
che dici di volere prestazioni elevate
devo assegnare meno cazzate e
e alcune di queste persone discuteranno
è difficile con me, ho un semplice
prova per questo su un normale hot spot GV
Non sto dicendo che posso avere 20 gigabyte
al secondo di assegnazione fatta su a
un paio di fili sostenuti dal rumore
non è più grande di 5 millisecondi
questo è grande per noi, ma tu sai se
non c’è assolutamente nulla nel mucchio
se tutto ciò che fai è generare spazzatura, puoi farlo
allocare che l’ allocazione rapida non è un
la cosa difficile e la raccolta dei rifiuti dietro
l’allocazione è quasi gratuita, ma aumenta
e più costoso nel tempo dei blip per capovolgere
se hai effettivamente oggetti e il
le pause migliorano ma l’efficienza è
l’allocazione non rallenta le cose
giù so che la gente pensa questo, ma noi
avere la prova che non rallenta
cose giù creando inaccettabile
blip che ti fa dire che non posso andare
lì e il design è diverso, no
perché sei inefficiente non perché
stai spendendo il 30 percento del tuo tempo
su qualcosa o il tuo richiede più tempo
roba in effetti l’ allocazione è spesso il
la cosa più veloce che potessi fare in Java o in
qualsiasi lingua è più veloce di un oggetto
punto per esempio matematicamente te
non posso fare un sondaggio di oggetti così veloce come
a come un unilaterale allocatore
così allo scambio Lmax cosa facciamo
con una cosa così Xing ha iniziato la distribuzione
circa due anni fa a L max abbiamo fatto
la danza e altre cose insieme ma
circa due anni fa è quando in realtà
iniziato a distribuire in siamo andati a un
interessante e lunga strada nel dispiegamento
con alcune lezioni apprese abbiamo iniziato
fuori dalle implementazioni incrementali da
i sistemi più critici al minimo
sistemi critici su tutta la linea e
dove ora ci sono le cose, sai che siamo andati
da una croce segreta sensibile al segreto
sistemi e quindi riempito il throughput
sistemi sensibili che non sono pari
latenza sensibile quindi l’espansione è
ora abbastanza largo non direi
tutto funziona a xing ma la maggior parte
i servizi critici finiscono per essere sincronizzati
come impostazione predefinita, la latenza è critica
il percorso è ovvio perché lo applicheresti
se ti importa del jitter e del
spighe e le bancarelle e il singhiozzo
e il rumore e Elayne vedono la cosa del sentiero
è semplicemente un modo semplice per indirizzare quelli
oltre a qualsiasi altra cosa
ingegneria sto facendo o come una barca
è un sostituto per questo ma il
il percorso critico del throughput diventa molto
interessante e il throughput critico
percorso è sulla velocità e è necessario
continua ad andare veloce, quindi perché sarebbe un blip
importa se non è un ‘latenza di un
percorso critico quello che succede è se uno stallo
è abbastanza grande nella parte di throughput per
esempio in dati di mercato storici
cattura o in gateway che trasmettono
cose a persone che non sono così
sensibile alla latenza ma non può perdere
roba quindi si torna a pressione e il
la pressione di ritorno dice oh aspetta un minuto che sono
dietro a molto ho bisogno che tu ti fermi
installare e fate urti nella
sistema critico e vedi valori anomali
che provengono da più di un secondo o metà
cose di secondo livello non millisecondi in
il percorso di tre piedi che inizia a blip il
percorso di latenza quindi a meno che tu non abbia veramente
disaccoppiati non legati e code o loro
costruito l’accettazione della perdita nel
il lato critico del throughput si finisce
influenzare il lato critico latenza troppo
ecco perché risolviamo i blip che sono
maggiore magnitudo in basso diventa
importante
alcuni di questi sono in streaming, ad esempio
acquisizione e registrazione di dati di mercato di
roba del genere, alcuni di loro sono giusti
pensaci pure, immagino che lo sarà
anche lo streaming è solo trasmesso
sistemi di qualche tipo che conosci io
fatto avanti lo porta ad altre persone
riformattalo qualunque cosa sia ma sì sì
questa è una cosa interessante che abbiamo imparato
perché non pensavamo che saremmo andati
dopo il throughput critico al
all’inizio e si è rivelato ok lì
era un buon valore anche lì, se noi
guarda i sistemi sul percorso di latenza
abbiamo iniziato con il centro il cuore
la parte più importante e lavorare a
Affrontate quello dentro schierato là e
da lì ci siamo espansi in ulteriori
pezzi sul percorso critico di latenza in
quell’ordine e ora copriamo tutti quelli
stava dicendo e poi ci siamo espansi a questi
altra latenza non latenza ma throughput
sistemi di posta indesiderabili sensibili che potrebbero tornare
pressione questo o, in generale, devono essere
felice quindi questo è l’ordine di
distribuzione e discuteremo alcuni dei
le lezioni apprese a riguardo in a
poco tempo
ora se guardi alle pratiche di sviluppo
a tutto il massimo penso che ci sia molto da fare
impara da li in generale ma anche come
ci ha aiutato qui c’è un focus pesante
sullo sviluppo basato su test in continuo
integrazione a L max sono i
test di accettazione che hanno un molto
larghi e robusti, hanno un buono
disciplina intorno a non fare solo ad hoc
testare e non conservarli per
regressione e così e poi se ogni
sistemi di test per la generazione di test
le prestazioni sono testate come correttezza
notizie e questo è molto molto importante
cosa da capire ed è stato estremamente
prezioso nel passare attraverso questo processo
perché la regressione delle prestazioni è
considerato un fallimento che molto
i sistemi non riescono a fare avranno una parte
cosa che dà loro prestazioni ma
non lo trattano allo stesso modo e
hanno trattato estremamente in modo estremo
in un senso di come quello è una rottura
semplicemente non ne vai avanti
non ti va di andare avanti e spero di farlo
aggiustalo più tardi e questo è molto molto
modo sano per guardarlo
avresti bisogno di fare il test e poi tu
devono effettivamente trattarli seriamente
fiducia in cui diventi sicuro
quello di creare grandi cambiamenti perché tu
avere la copertura che hai effettivamente a
sentirsi per quello che sarà come quando tu
distribuirlo piuttosto che hai ottenuto questo bello
cosa funzionale che sembra funzionare bene
ma sai che non sappiamo bene cosa
la performance sarà come perché noi
non ho una buona serie di test
per le prestazioni il fatto che ci sia un
buona serie di test per questo e un bene
sistema di modellazione per te conosci il pacchetto
arrivi e cose del genere ti permettono
per dire cosa succede se abbiamo distribuito questo e ottenere
relativamente alta fiducia in questo
il mondo reale è sempre il mondo reale
ma quelle cose in Lmax
produce alcuni vantaggi che vorremmo
vediamo prima di tutto che vediamo una latenza migliorata
comportamenti e questo è quello
ovviamente una delle caratteristiche chiave di noi
cercherei giusto in realtà
comportamenti di latenza migliorati misurabili
ma probabilmente Lee è il più interessante
importante o il valore più importante
nel tempo non è il miglioramento in
latenza perché in realtà si dà il bene
ingegneri un compito di migliorare la latenza
troveranno un modo per farlo
è una riduzione dell’ingegneria
sforzo in generale e impegno ingegneristico
volto a ridurre e mantenere la latenza
sano questo è il vero vantaggio che è
non la cosa è l’unico modo per ottenere
questo puoi riscrivere il tutto dentro
non Java e forse ottenere una latenza migliore
consistenza che richiederebbe molto
di lavoro e ferire la tua produttività e
time to market ma è fattibile il
le cose reali misurabili sono quanto
sforzi spendi per questi problemi
e quanto tempo risparmiate da ciò
Non direi che abbiamo specifiche
numeri da quello o almeno non quelli
che potresti condividere sto scappando da me
non pensare che penserò che sto correndo
dietro penso che sia stato presto buono
okay spero che guardi l’orologio
e dicendo Wow 35 minuti nell’applauso RT
Wow
puoi applaudire per me se tu volessi, ma noi
continuerà bene, quindi non solo guardare
ottieni un comportamento di latenza migliore ma
non combatti più questa roba e lo sai
combattere significa non dover pensare
su di esso l’ unità di prestazioni passa attraverso
ci sono tre settimane di novità
e regredito li stiamo aggiustando
ogni volta quindi non sono solo i numeri
è il momento di ottenere quei numeri
lo sforzo e il costo per ottenere quelli
numeri idiomatici Java e in grado di
usalo o usalo di nuovo o non smettere di usarlo
si tratta di un grosso problema, e questo tutti coloro
sono successo qui, quindi ci sono posti
dove ci sono nuove funzionalità necessarie
e oh puoi usare il DI Matic Java e
codice di altre persone per farlo ci sono
luoghi in cui sei in grado di continuare ad usare
perché l’ alternativa a ottenere
quello che vuoi è riprogettare
da esso e sono posti dove era
ingegnere il modo e ora potresti andare
di nuovo a usando tutto ciò che hanno
successo all’interno dei sistemi proprio a
vari gradi in modo da poter evitare di fare
pratiche speciali è possibile evitare l’allentamento
su uno stile di allocazione in modo da poter evitare
sai di non usare il codice di altre persone
in modo da poter tornare a buon rendimento
cose e questo dà più potere
rende la scelta di Java ancora più giusta
di quanto non fosse prima che Zee Java avesse ragione
iniziare con ma penso che noi abbiamo tipo di
punta la bilancia molto di più ora andiamo
guarda alcune cose specifiche o sì
parliamo dei numeri reali quindi II
ha chiesto si okay hai ragione
esattamente ho chiesto i numeri reali questi
sono i numeri a cui Lmax era disposta
condividi ed ecco alcune cose interessanti
quindi Xing ha aiutato a domare i nuovi Jenji C’s che
è la maggior parte di ciò che hanno trattato con le chiavi
ricorda che questo è un codice altamente sintonizzato
attraverso lo spettro e per
esempio in precedenza altamente
sistema ingegnerizzato questo è sistemi che
conosci il centro del centro
cosa che tutti gli ingegneri erano Were
guardare la cosa era già molto
sintonizzato il miglioramento era da quattro
milli secondo blips che è incredibilmente
buono ogni 30 milioni ogni 30 secondi
ad un millesimo di secondo ogni due
ore quindi abbiamo fatto un ottimo sistema
e forse lo ha reso molto meglio così
va bene la grandezza
è molto più piccolo per il blip a destra 1/4
ma la frequenza è drammaticamente più lenta
questo è centinaia di volte meno frequente
per valori anomali quindi più ordini di
grandezza della dolcezza da una latenza
outlier e glitch e persone che sono
arrabbiato per il punto di vista delle prestazioni
questo è in un sistema meno ottimizzato
ancora bassa latenza ma solo non così tanto
attenzione come una formula che può dare hey
questi ragazzi sono eccellenti, qualcuno giusto
chi potrebbe ottenere un vero sistema Java
in esecuzione in produzione non sanguinare da
più di 4 millisecondi senza dire
cappello a loro grazie
ma nelle labbra normali che erano
50 millisecondi all’incirca ogni 30 secondi
andato giù a 3 ogni 15 quindi in ordine di
riduzione di magnitudo in magnitudine nel
dimensione e una riduzione dell’ordine di grandezza
in frequenza allo stesso tempo questi sono
impatti effettivi sui sistemi attuali
misurato da prima di dire distribuzione
dopo lo straordinario giusto così dove siamo noi
pensare a qualcosa e questi no
coinvolgere l’ingegneria per lavorare intorno a te
vedi piuttosto il contrario proprio ora
anche il nuovo gen alchun non succede
il percorso critico di latenza eccetto tanto
quando lo sai, sorprendi
larghezza di banda e volumi sorprendenti perché
se effettivamente osservi quanto bassa latenza
i sistemi evitano di fare qualsiasi cosa gen
hanno solo un pubblico abbastanza grande così
la promozione per tutto il giorno o il
la settimana in un sistema FX non lo riempie
quindi non ha mai bisogno di raccogliere quel lavoro
ottimo fino ad avere un volume più alto
evento in cui questa settimana ha cinque volte il
il volume di un fine settimana regolare forse lo fai
devo ritirarlo direttamente nella lista
questi sistemi critici ciò accade anche
più perché le persone non hanno speso
l’ingegneria per evitare l’allocazione
abbastanza e promuovendo abbastanza solo loro
avere cose del mondo reale lì e dentro
In questi casi il CMS è un concorrente
collezionista di mark-sweep che la maggior parte delle persone in
una latenza un tempo di risposta sensibile
l’ambiente in Java dovrebbe essere utilizzato su hotspot
oggi generalmente ti hanno fatto sapere 1/2
il secondo livello salta su intraday e c’è
completamente andato
questo significa che tu sai che non c’è più indietro
pressione sul throughput critico
sistema nei sistemi critici di latenza
e questo ha aiutato ora
I malati di Priya si sarebbero verificati di meno
prevedibilmente ma più volte giusto
sarebbero accaduti dappertutto e
dovresti dar loro la caccia e stare
tipo tranquillo dipende dal traffico
schemi e comportamenti che immagino ora
dopo aver distribuito questo solo zing
succede se qualcuno si dimentica di girare
cantare o usare la cosa perché hey
usano ancora roba ogni tanto
un po ‘ per tutto va bene quindi andiamo
guarda alcune lezioni apprese da questo
e direi che potrei indossare il cappello o
Non sono queste le lezioni apprese insieme
ora prima di tutto cosa faremmo a
po ‘diverso in questa distribuzione è
una cosa naturale da fare siamo andati dopo il
problema attaccando il critico
problema prima questo è il più difficile
cosa andava bene nel sistema, siamo andati
dopo il cuore dello scambio il
sede di esecuzione questa è la cosa che
stava solo fermandosi per quattro millisecondi
è stato progettato molto bene
dove le persone avevano focalizzato tutto loro
sforzo e ingegneria e noi
andò a migliorarlo ora
ovviamente è il cuore ed è il
valore più alto ma è anche il
uno che ha avuto il massimo sforzo messo in
è anche quello più rischioso
il più conservatore da una decisione
punto di vista giusto se vai e fai
che sai che devi battere il
sforzo di ingegneria e avrai
giochi più piccoli e dovrai guadagnare
fiducia nella scommessa la parte commerciale
della cosa giusta è quello che abbiamo fatto
e l’abbiamo fatto e ce l’abbiamo fatta, ma è così
è stato un lungo periodo per arrivarci perché tu
sai che devi mostrare i numeri
raggiungere i numeri e ottenere un sacco di
fiducia che la volontà reale sarà
succede prima che tu ci tagli, ci siamo riusciti
nel farlo e da lì ci siamo espansi
a loro sistemi molto più facili, ma
con il senno di poi avremmo potuto iniziare
o all’indietro o contemporaneamente no
prendere il più grosso prepotente nel parco giochi
e vai a prenderlo a pugni nel naso e vai avanti
il combattimento e quando vinci lo facciamo
trattiamo con le altre persone, facciamolo
giocare con tutti gli altri prima diamo
una coalizione con cui si parla bene
il
nel complesso, avremmo potuto prendere il
cose che ci hanno portato un giorno o due a mostrare
valore estremo in che non sono come
critico che potrebbe essere facilmente convertito
con alta sicurezza o senza quello
molta fiducia solo per dimostrarlo
avere fiducia sviluppare la fiducia lì
ci sono buone pratiche alimentari che ci sono
un sacco di valore ci posti dove cosa
abbiamo fatto rimuovere 500 millisecondi
invece di formula secondo live e con
che tirano fuori potenzialmente molto
ingegneria che non era ancora stata eseguita a
molto valore da salvare rispetto a
qui dove sai che è meno valore e
poi dopo che li abbiamo fatti andare dopo
cosa fondamentale così finendo nell’esatto
la stessa immagine di schieramento totale che potremmo
probabilmente ci sono arrivato più velocemente
partendo dalle cose più facili o
almeno a lavorare contemporaneamente non vedere
presto attraverso di loro quindi probabilmente lo faremo
ho visto più rapidamente il ROI più veloce
guadagno e più rapida fiducia in
consegna di quello che facciamo ovviamente il
la scelta di andare con noi è stata fatta sulla base di
quello che tutti credevano di poter fare ma
mostrando che ciò accade realmente
arrivare a un punto in cui due anni dopo
loro sanno solo che non c’è
punta a fare l’ altro in se sei
sensibili alla latenza
arrivare lì richiede tempo reale
mostrando la reale stabilità della produzione
qualità e consegna effettiva va bene così noi
potrebbe essere andato in un ordine diverso
altre lezioni apprese che non vede il
unico problema lei è solo il più grande blip
che ti fa pensare, ma si prende quel
fuori ci sono altre cose lì per
esempio hai dominato i valori anomali
quindi è naturale pensare che tutto sia
lì per prestare più attenzione ad esso ma
una volta che se ne sono andati, altri problemi emergono così
alcune delle cose più difficili cache di pagina
blocco contesa alcuni kernel di Linux
avere un comportamento di blocco estremamente negativo
attorno a svuotare le cache delle pagine così dentro
Journal di sistemi in cui un sacco di
la solitudine non ha bisogno di un diario
perché hanno a che fare con i soldi allora
quando il kernel si blocca per scrivere un intero
un sacco di cose che orfani in realtà bloccano
e ferma i progressi e
parti di sistemi e anche il più basso il
le cose ci sono fuori dalla latenza
il percorso critico sul disco potrebbe bloccarsi
altre cose che sono critiche per la latenza
bias di ottimizzazione della gestione dell’alimentazione e lotti del sistema operativo
di accordare le cose era un’aria molto importante
mappa di accesso ai file e difetti di pagina e sicuro
punti nell’interazione tra loro
che non sono unici per te, lo sai
loro apparentemente sono apparentemente accaduti
su tutti i runtime che zing e suore potevano
entra e crea qualcosa di interessante
problemi ora una delle grandi lezioni
imparato era proattivo no
reagire in modo reattivo ma in modo proattivo
Impostazioni predefinite di Linux Linux ha un sacco di cose
di cose che sono solo cattive impostazioni predefinite se
ti preoccupi del comportamento di latenza che sono
lì per risparmiare energia nel data center
non far si che la tua applicazione si comporti bene
e se ti interessa della tua applicazione
comportamento più di quanto ti interessi del
l’alimentazione nel data center ha funzionato male
scelta in modo da conoscere esempi andiamo a
specifiche questo va così è il mio
in secondo luogo si tende ad essere la cache della pagina
drammaticamente manca configurato per impostazione predefinita
su Linux e questo parametro specifico
è la distanza dal riempire tutto il
memoria prima dell’avvio della pagina ospite
sciacquando tutto quanto vuoto
la memoria è mirare a rimanere nel
sistema per cose come non lo so
allocare memoria con Malik ora
interessante la scelta del numero
per questo è stato scelto circa 20 anni fa ho
Pensa al 1995 o al 96 ed è stato
modellato in base alle dimensioni dei server
allora 20 anni fa e poi loro
non aggiustarlo a una costante avevano a
modello per la sua crescita ma non cresce
linearmente cresce fino alla radice quadrata di
le dimensioni del sistema, quindi abbiamo 20 anni di
dimensioni del sistema accumulate che approssimativamente
si traduce in se 20 anni intorno a Moore
la legge è probabilmente meno di cinque a dieci
mille X capacità ma invece di
crescendo il buffer dal bordo di
memoria di cinquemila x nel tempo
era la radice quadrata di 5000 X che è
numero molto più piccolo e in che modo
la pratica significa che è il filesystem
corre sul bordo della memoria tutto il
tempo creando situazioni in cui si dispone
nessun ricordo vuoto e deve sbarazzarsi di
roba ma ci vuole tempo per sbarazzarsi di
roba quindi hai un blip su a
allocazione di memoria semplice o un’espansione
pagine enormi e trasparenti davvero molto
caratteristica davvero interessante per l’efficienza
è davvero davvero male per nessuno
misura della latenza questa cosa dovrebbe essere
disattivato è attivato per impostazione predefinita
senza espanderci qui il semplice
comportamento che potresti provare se questo
la funzione è attiva è la tua discussione
perché sta facendo qualche malloc o
espandendo una pila o qualcos’altro
potrebbe essere quello che bancarotta
deframmentare tutta la memoria nel sistema per
il secondo successivo e quale thread ottiene
colpire con quello è solo la roulette russa
più ti devo nel tuo sistema
le pagine più frammentate sono in
piccole pagine più è probabile che sia questo
capita purtroppo ce ne sono molte
L’ IO di journaling sta accadendo nella maggior parte di questi
sistemi quindi è molto facile a tutti sois
il pene deve essere impostato a zero per alcuni
la ragione non è che non so perché la gente
con un sistema di centinaia di gigabyte necessari per
gigabytes scambia il file tranne per fare
la latenza cattiva non so di cosa si tratta
buono per altro, ma lo sai
dovrebbe essere spento e spento e quindi questo è
si scopre una modalità di gioco interessante
che di default almeno in alcuni kernel
quando hai sistemi multi- nodo come a
sistema a due socket come sistema multi-nodo
potresti girarti potresti scambiare
spento su swap partì ma se finisci dentro
un caso in cui uno dei nodi è fuori
memoria ma l’altro lo ha memoria
cadrà ancora così, a meno che non lo giri
zona recuperare a zero voi il tuo scambio
eNOS potrebbe ancora non avere effetto e
l’altro intorno alla pagina che memorizza nella cache
anche tu così tutti e ciascuno di
questi se non lo si imposta correttamente può e
causerà centinaia di millisecondi in
il tuo sistema Linux senza Java
coinvolti quindi se non si prendono fuori
in modo proattivo
e aspetta che succedano che tu sia giusto
avrò un gran casino per cercare di capire
fuori così è davvero difficile dimostrarlo
è uno di quelli quando accadono è
davvero difficile puntare un dito su di loro
ognuno di loro è stato costruito attraverso
esperienza di imbattersi accidentalmente
una prova che uno di questi ha fatto qualcosa
quindi pensa alle lezioni apprese da un grande
l’industria che conosci si è imbattuta in
cose e ci sono altri set ma
questi sono buoni esempi per cominciare
va bene qualche altra misura appresa
misura tutto misura ovunque
puoi sapere che lo sai a L max
la misurazione era già stata eseguita a
molte cose ma misure di cose
come jitter e singhiozzi e
le incoerenze sono difficili perché
di ciò che tendi a riassumere i dati così
hai una buona media come buoni massimi
forse ma quando e quanto e cosa
la diffusione è difficile, quindi è davvero difficile
raccogliere questo e vale la pena spendere il
sforzi per mettere una infrastruttura
raccolti non solo all’interno delle parti ma
attraverso più luppoli hai visto il tipo di
Luppolo che un percorso critico per questo
misurandolo non solo in ogni punto ma
attraverso di loro con tempo coerente è
importante l’altro è se vuoi
distribuzione dettagliata della latenza
misure che significa che non puoi campionare
e non puoi fare la media e devi
o tenga molte informazioni o
registralo in un modo che supporti il ​​fare
quello e se avete informazioni su
i valori anomali di latenza ad ogni passo e
nel complesso che ti aiuta davvero
triage dove cercare se hai un
blip sul latenza end-to-end, ma si
non ho un record di dove altri dove
su che cosa si diffonde la diffusione
nodi diversi che non sai dove
inizia a guardare dentro di loro le medie
sono buoni ovunque è un blip così tu
bisogno di sapere quale ha avuto blip e
cercare correlazioni se non lo fai
registra abbastanza informazioni per il monitoraggio
capovolge è il loro intero percentile
gli istogrammi dello spettro sono molto utili per
questo in realtà ho creato un open source
libreria che è molto utile per quella chiamata
Istogramma HDR Michael Barker di L max
creato il porto marittimo della stessa biblioteca
quindi è ora in Java e C c’è un
c-sharp port a python port a go port in
Porto Erlang sto aspettando il
Porta JavaScript che vuoi fare un rubino
uno
beh, puoi semplicemente usare Java da
JRuby quindi non ti importa, quindi è così
è diventato una libreria molto popolare
per fare esattamente questo se lo sei
interessato alla misura che raccomando
lo fai e io sto anche facendo un
seminario di un’intera giornata su Giovedì se
sei davvero interessato e non in HD
o Instagram ma misura la latenza e
la coordinazione è un sistema di registrazione generale
il singhiozzo di livello a tutti i livelli è estremamente
utile per il triage c’è di nuovo uno strumento
In realtà l’ho creato tre anni fa
e l’open source si chiama J hiccup e
tutto ciò che fa è fondamentalmente misure
se il tuo processo ha sperimentato il
singhiozzo significa che doveva essere
in grado di farlo davvero non potrebbe non farlo
misura ogni millisecondo, quindi qualsiasi cosa
più grande di un millisecondo di blip per
qualunque ragione non possa nasconderti
esegui uno di quelli nella tua JVM per vedere se
la tua JVM ti sta facendo girare uno dei
quelli inattivo in un altro processo per vedere se
il sistema sta girando e tu continui
registra per sempre per quel pozzo per settimane
non perché tu abbia bisogno di sapere tutto
tempo ma perché qualcuno ti chiama
e dice che c’è stata una brutta transazione
con un blip e provi a capire
dove accade il blip e se è stato
un blip di sistema o JVM capovolgono un’applicazione
codice blip
se trovi che il tuo sistema blip per
la stessa grandezza del tuo reclamo
non è necessario consultare il codice dell’applicazione
non c’è niente di sbagliato con il
codice di applicazione qualcosa nel sistema operativo o
nell’hardware o qualcosa da capovolgere se
scopri che il sistema andava bene ma
il GPM ha funzionato bene, quindi conosci il
sistema va bene e vai a guardare la JVM
forse la messa a punto è forse sbagliata
non stai usando la sincronizzazione, se entrambi
di questi sono belli e silenziosi e tu hai
un blip poi alcune cose vanno a cercare nel tuo
codice forse hai una stecca forse hai
qualche altra cosa che è successo forse il
la latenza sul filo è sbagliata forse di
fili cattivi ma l’abilità di triage di quello
affettare quale sistema di parser andare a caccia
giù sono fondamentali per l’evoluzione del bene
latenza nel tempo ora se guardi
punti di osservazione che si usa lmax yep
Mi avvolgo in due minuti
punti di osservazione che puoi vedere attraverso
qui ci sono più punti che
numeri di latenza o numeri di timestamp
sono raccolti una cosa interessante è
più punti si aggiungono e più
diventa interessante da pensare
come raccogli i dati e dove tu
Mettilo così prendi il messaggio e tu
rintracciarlo e tu vuoi sapere
quando e dove accadono le cose e se lo è
una manciata di cose poi va bene che puoi
spesso lo aggiungo al carico utile molto
di persone lo faranno bene
punto di partenza, ma se effettivamente vai
attraverso e iniziare a voler avere molti
molti punti dati di dove erano le cose
a che ora inizia un messaggio
una sfida per mettere quei dati nel
i messaggi che attraversa potrebbero non esserlo
spazio per 50 punti dati nel
carico utile o sei fortemente influenzare il
sistema a quel punto diventa più bello
e meglio e probabilmente molto di più
scalabile per iniziare a registrare la latenza
punti come metadati su un flusso laterale così
i messaggi stanno passando e tu
non portarlo quando ero dove sul
carico utile reale , basta accedere al lato
ID messaggio questo era qui in questo momento
e questo è un flusso di metadati in corso
il lato non la latenza è critico solo per te
bisogno di farlo da qualche parte o a
giornale o altro sistema e dopo di te
vai e mettili in relazione con tutto ciò che diventa a
postare di nuovo lo streaming
lo scopo di questo è sapere cosa
quando hai bisogno di sapere puoi guardarlo
oppure potresti fare campionamenti e monitoraggio
con esso anche ma è un molto molto utile
cosa e vale la pena investire in
che investendo molto penso perché se
non fai che stai per investire un
molto a debug nel buio, quindi facciamolo
guarda il riepilogo e termina Java
fattibile e redditizio in bassa latenza
queste sono spesso cose che le persone
sfidare che le persone valide lo facciano
comunque ed è redditizio farlo tu
può mostrare i numeri del perché economicamente
questa è una buona scelta da uno sviluppo
sforzo da una prospettiva di costo da a
la redditività di un tempo per eseguire è
tempo di profittare del genere di cose con
JVM regolari devi saltare attraverso a
molti Hoops per arrivarci ma è ancora
persone redditizie e redditizie fanno tutto questo
in tutto il mondo e cosa fondamentalmente aiuta
in quel bene per renderlo ancora di più
redditizio e ancor più fattibile giusto così
è più facile farlo ed è più facile
e bassa latenza in altre lingue quindi
pensala come è la velocità di Java
quale è
simile alla velocità di altre lingue ora
con la coerenza di altre lingue
anche adesso, una volta smesso di trattare con jb a
problema correlato che si può effettivamente andare e
prendi le persone più intelligenti e applicale
alle cose interessanti e buone pensano
a quella diapositiva di apertura in cui Mark ha mostrato
quello che era solito fare regolarmente
la gente sarebbe venuta da lui con GC longus
e prova a capire insieme cosa
fare su di loro non lo fa più
non l’ha fatto da molto tempo
la risposta a un log GC negativo è il cablaggio
correndo in Z e non otteniamo GC cattivo
registra da dicendo o non li abbiamo visti
almeno così è semplice
riassunto con quello così con quello io
Sappiamo che abbiamo un po ‘di tempo per le domande e risposte
o dobbiamo andare bene bene, sì, noi
Ho iniziato con cinque minuti di ritardo, quindi penso
siamo pari ma se voi ragazzi volete
significa che penso che siamo l’anno scorso e possiamo
esci ma se voi ragazzi volete chiedermelo o
una domanda a cui sarei felice di rispondere

Please follow and like us: