Casa Banche dati Applicazione in esecuzione lentamente? tempo di essere precisi

Applicazione in esecuzione lentamente? tempo di essere precisi

Anonim

Dallo staff Techopedia, 31 agosto 2016

Takeaway: l' host Rebecca Jozwiak discute della risoluzione dei problemi del database e dei problemi di efficienza con gli analisti Eric Kavanagh e Dez Blanchfield e Bill Ellis di IDERA.

Al momento non sei collegato. Accedi o registrati per vedere il video.

Rebecca Jozwiak: Signore e signori, ciao e benvenuti in Hot Technologies del 2016. Argomento di oggi, "Applicazione che funziona lentamente? È ora di essere precisi". E non sappiamo tutti troppo bene i problemi che possono verificarsi quando le cose funzionano lentamente? Questa è Rebecca Jozwiak, sto compilando per Eric che sta facendo un nuovo ruolo qui, oggi. Sì, quest'anno è caldo e, sai, quando si tratta di tecnologia, come ho detto, l'unica cosa che davvero non vuoi è far funzionare lentamente qualcosa, qualsiasi parte del tuo sistema. E solo per usare un esempio di consumatore, intendo dire che se hai un ristorante, non importa quanto sia ottimo il cibo, se il servizio è lento, probabilmente non finirai per tornare indietro. Ora, è facile, in un ristorante, capire perché qualcosa va lentamente. Forse la cucina è a corto di personale o c'è stato un malfunzionamento con alcune attrezzature, o forse i camerieri sono un po 'pigri, ed è abbastanza facile identificarlo e ripararlo.

Ma quando si pensa a un data center, è una storia completamente diversa. Potrebbe essere un problema di rete, una cattiva query che blocca le cose, le prestazioni dell'applicazione o un cavo difettoso può anche causare alcuni problemi. E la risoluzione dei problemi con quel tipo di complessità può essere, nella migliore delle ipotesi, difficile. È un po 'quello di cui parleremo oggi. E oggi, come ho detto, Eric Kavanagh si è inserito come analista. Abbiamo Dez Blanchfield, il nostro scienziato dei dati, e Bill Ellis di IDERA, che parlerà della soluzione della sua azienda che aiuta nella gestione delle prestazioni delle applicazioni. E con ciò, passo la palla a Eric. Eric, il pavimento è tuo.

Eric Kavanagh: Va bene, suona bene, gente. E questa è stata una grande analogia, in realtà, perché hai parlato delle difficoltà o della facilità con cui la risoluzione dei problemi può essere eseguita e ci si arriva subito. I problemi di prestazioni derivano sempre da un tipo di problema presente nella rete. Voglio dire, potrebbe essere semplice come il vecchio hardware, ad esempio, ma la linea di fondo è una situazione del genere che richiede la risoluzione dei problemi. Questo è ciò di cui parlerò oggi. E andiamo avanti e saltiamo sulle diapositive qui.

Arrivano i guai. Risoluzione dei problemi: è divertente per le persone a cui piace, questa è la cosa interessante. Se trovi qualcuno a cui piace risolvere i problemi, tieni duro con quella persona, procuragli alcuni strumenti per portare a termine il lavoro, perché cose davvero buone se riesci a trovare qualcuno che può arrivare fino in fondo e fare cose. Ma la linea di fondo è che la risoluzione dei problemi è problematica e lo è sempre stata e lo sarà sempre, e se inizi a parlare di risoluzione dei problemi, quello che stai veramente ottenendo è l'analisi della causa principale. Qual è la causa del problema?

Bene, se ti siedi e pensi per un secondo anche ai giorni del mainframe, potrebbero verificarsi tutti i tipi di problemi. E allora dovevi avere persone che conoscevano davvero le loro cose perché non c'erano nemmeno buoni strumenti per fare la risoluzione dei problemi, quindi dovevi davvero conoscere il tuo prompt dei comandi e ne parleremo tra un secondo. E in realtà ho dimenticato di mettere una delle mie diapositive preferite, la cercherò mentre siamo nello show oggi, forse durante la presentazione di Dez. Ma volevo mostrare, per chiunque non l'abbia visto, uno dei programmi TV britannici più divertenti di sempre, si chiama "The IT Crowd". E in termini di risoluzione dei problemi, l'uomo irlandese, che è una delle due persone IT in l'intera azienda, dice sempre la stessa cosa ogni volta che inizia una chiamata, "Hai provato a spegnerlo e riaccenderlo?" Quindi, prova a spegnerlo e riaccenderlo. Sareste sorpresi di quanto spesso questa cosa semplice possa risolvere alcuni problemi.

Quelli di voi che hanno fatto la risoluzione dei problemi a casa forse con i tuoi genitori o amici, probabilmente non con i tuoi figli perché tendono a sapere cosa fare, spegnerlo e riaccenderlo. Tuttavia, la risoluzione dei problemi non è facile, non sarà mai facile, ma parleremo oggi di alcune delle cose che puoi fare per renderlo più semplice. Quindi, il prompt dei comandi - sì, in effetti, sono abbastanza vecchio da ricordare i primi tempi dell'informatica quando tutto ciò che avevi era il prompt dei comandi per eseguire DIR, Invio. Ecco cosa vedrebbe, directory di file e sentirsi sicuri che abbia effettivamente fatto un certo comando, giusto? Dez, ovviamente, il nostro data scientist, sa come usare il prompt dei comandi. E se puoi usare il prompt dei comandi, questo è ottimo perché molti di noi semplici mortali usano una sorta di GUI, un'interfaccia utente grafica, ma c'è sempre qualcosa, c'è sempre qualche disconnessione tra la GUI e la riga di comando sotto. E solo per darti un esempio casuale, se vuoi sapere quanto codice alcuni dei programmi di base là fuori vengono inseriti in documenti in questi giorni, vai all'ultima versione di Microsoft Word, digita "ciao mondo" e quindi fai "salva come HTML. ”E poi apri quel documento risultante in un editor di testo e probabilmente vedrai pagine e pagine di tag. Si chiama code bloat e code bloat non è davvero buono per la risoluzione dei problemi, solo per essere schietto.

Certo, è arrivato il client-server ed è stata un'ottima cosa. E in un certo senso stiamo andando indietro in quella direzione, ma basti pensare alla complessità derivante dalla situazione, ora dov'è il problema, è sul client, è sul server, è la rete? Dov'è? Questi siti che pensano solo ai virus e quando un virus può entrare in uno su una rete, cosa può succedere? Può andare ovunque. Oggi le violazioni dei dati sono pazze. Causano problemi di prestazioni. Abbiamo avuto hacker russi che possiamo identificare tramite l'indirizzo IP. Siamo abbastanza sicuri che siano russi, o che siano molto vicini, o che siano ucraini o polacchi o addirittura americani intelligenti, che usano i proxy. Ma nel corso degli anni abbiamo avuto hacker nel nostro piccolo sito, Inside Analysis, che hanno causato ogni tipo di problema. Le cose smettono di funzionare, non puoi fare cose. Le cose che prima funzionavano non funzionano. Come lo sai? Come fai a sapere di cosa si tratta? Proprio come un altro esempio qui, è un ambiente molto complesso, è molto difficile entrare nelle erbacce e capire davvero come le cose stanno accadendo e funzionano per noi, specialmente se ottieni un sacco di plug-in. Le cose possono impazzire abbastanza rapidamente. Mi sto un po 'anticipando.

Mi sono buttato qui, diffidare sempre dell'aggiornamento. Gli aggiornamenti mi spaventano sempre le luci del giorno. Certamente sistemi operativi. Ricordo i giorni in cui Microsoft avrebbe effettivamente suggerito che, sì, potresti aggiornare il tuo sistema operativo da questa versione a quella versione. Beh, ci ho provato un paio di volte e questo non ha mai funzionato. Ricorda, più è grande, più complesso è un ambiente, più ingombrante diventerà la situazione. E poi c'è la virtualizzazione. Pensa a ciò che VMware ha fatto all'IT. Ha rivoluzionato l'IT, ma ha anche creato questo livello di astrazioni. Se hai un'astrazione di livello a quel livello fondamentale, è un gioco di palla completamente nuovo, è una palla di cera completamente nuova e devi davvero rivalutare ciò che stai facendo e tutti i vecchi strumenti dovevano cambiare. E ora ovviamente è il cloud, giusto? Per il cliente, il cloud è eccezionale, perché è molto semplice, l'interfaccia utente è piuttosto semplice, ma ovviamente non hai molto controllo sul cloud. Ma per le persone che sono dietro le quinte, ci sono un sacco di cose che devono conoscere e comprendere in questi giorni. L'ambiente è diventato molto, molto più complesso. E certamente con l'e-commerce, e pensi a tutti i soldi che commerciano le mani in questi giorni. Ecco perché non mi troverai presto a favore di una società senza contanti. La linea di fondo qui è che la situazione sta diventando sempre più problematica di giorno in giorno.

E mantenere le prestazioni ottimali comporterà sempre alcuni elementi di risoluzione dei problemi. Non mi interessa quello che qualcuno ti dice, non esiste uno strumento perfetto, non c'è un proiettile d'argento e non ci sarà mai perché - in un'altra prospettiva interessante qui - stiamo ancora imparando a parlare di silicio. Stiamo ancora imparando a capire come funziona anche il networking a un livello grintoso. Se guardi il software di gestione dei sistemi, sta diventando abbastanza buono in questi giorni. Tuttavia, stai guardando le linee che vanno su e giù e stai guardando le rappresentazioni della realtà, ci vorrà una persona che sa cosa sta succedendo per adattarsi agli indizi che potresti fissare strumenti ottimali per essere in grado di capire cosa funziona e cosa no ed è un sacco di tentativi ed errori, solo per essere sinceri. Detto questo, lo consegnerò a Dez Blanchfield e poi sentiremo da Bill Ellis di IDERA, che ci farà vergognare con le sue conoscenze. Detto questo, Dez, portalo via.

Dez Blanchfield: Ehi, grazie Eric. Grazie. Condotto piacevolmente nel mio piccolo segue. Il mio titolo, "Performance Art", penso che sia estremamente appropriato nel contesto di ciò di cui stiamo chattando oggi, perché in molti modi quando pensiamo alla performance, pensiamo alla danza, alla musica e ad altre cose creative. E francamente il più delle volte, se stiamo risolvendo problemi e in ambienti IT e sistemi aziendali su larga scala c'è davvero un elemento artistico e spesso arte nera, perché la situazione nella mia esperienza in oltre 25 anni è che il i moderni stack di app aumentano molto rapidamente la complessità a un ritmo mai visto prima. E stiamo lottando francamente per tenere il passo e ci sono organizzazioni come Uber per esempio, e qualunque cosa, e il team di sviluppo di Pokémon Go, intendo che stanno vivendo una crescita e complessità e un aumento della complessità a tassi che sono solo astronomici. Non ci sono nemmeno libri scritti a riguardo perché non avevamo concepito quel livello di crescita. La mia opinione è che la definizione di base di uno stack di applicazioni si sia trasformata in modo esponenziale e spiegherò perché penso che sia il caso, e quindi porterò alla sfida attuale, che i miei buoni amici di IDERA sembrano avere una soluzione da risolvere .

In breve, lo sappiamo tutti, ma solo per ricapitolarli, sapete, all'inizio avevamo quello che chiamo, architettura dell'applicazione, versione 1.0. Era un computer server, in questo caso il mainframe con un gruppo di terminali collegati, era relativamente facile diagnosticare i problemi se non si vedevano cose sul terminale - si poteva rintracciare il cavo tra il terminale e quindi il computer server ed era un cavo zero o un connettore o qualche problema se non era correlato al terminale e stai vedendo cose sullo schermo, è stato abbastanza facile capire che le cose che causavano i problemi erano nel macchina stessa. E potresti diagnosticare lentamente dove si trovava nello stack dall'hardware fino al livello software e all'interfaccia utente. In quella che chiamo versione 1.1, l'abbiamo resa un po 'più complessa. Mettiamo i dispositivi nel mezzo in modo da poter posizionare più terminali. Ed erano una sorta di dispositivo di comunicazione e spesso erano mux o multiplexer e correvano su una linea dedicata o una linea dial-up e quindi avevi un mainframe in una posizione lontana - poteva essere da uno stato all'altro o a livello internazionale - e alcuni dispositivi collegato tramite un collegamento SMA o una sorta di connettività WAN e quei terminali funzionano ancora allo stesso modo. Ma avevi un po 'più di complessità perché dovevi capire se il problema era tra i terminali e il dispositivo di comunicazione o il dispositivo di comunicazione e il mainframe. Ma lo stack è rimasto relativamente simile nel mainframe.

Versione 1.2, ancora un po 'più complessa perché ora abbiamo aggiunto più dispositivi, aggiunto stampanti e altre cose, e abbiamo raggruppato queste cose, e penso a un processore front-end in grado di gestire tutti i problemi dei dispositivi localmente, stampanti e terminali e così via con il mainframe quella parte lontana. Un po 'più di complessità. Ma ancora una volta, il tema coerente del mainframe erano le app eseguite localmente, quindi la risoluzione dei problemi è rimasta abbastanza simile all'interno dello stack dell'applicazione. E poi abbiamo avuto persone con competenze che hanno risolto i problemi con terminali, stampanti e controller di cluster. Ma poi abbiamo complicato le cose e abbiamo creato reti e all'improvviso lo stesso tipo di architettura introduce un livello di rete. All'improvviso abbiamo avuto uno switch di rete e le workstation erano molto più complesse. E questa versione dell'architettura disponeva spesso di app di interfaccia utente grafiche sulla workstation. Non solo disponevamo di un server che eseguiva lo stack di app, ma avevamo anche un altro stack di applicazioni in esecuzione localmente e, naturalmente, lo stesso modello base di dispositivi che si collegavano a un server. Quindi abbiamo fatto un salto di qualità nel modello più recente di quello che chiamo 2.1, che è dove abbiamo preso quello stack di app e lo abbiamo reso molto più complesso, molto più difficile da diagnosticare. E abbiamo introdotto molti più dispositivi sul front-end, su browser Web, PC e dispositivi mobili, e così via. E qui lo stack di applicazioni ha quindi iniziato ad approfondire un po 'di più l'integrazione come sistema operativo e hypervisor.

Questa immagine qui a destra ha l'intero stack tra cui infrastruttura di rete, server di archiviazione, macchine virtuali, il sistema operativo e quindi i tradizionali tre livelli di applicazioni di metallo per database, ecc., Nella parte anteriore destra. La diagnosi di problemi applicativi e prestazionali su questo modello è diventata molto più difficile. Ci sono così tante altre parti in movimento e cercare di scavare in quella pila era solo, sai, diventato un incubo e per affrontarlo dovevi coinvolgere ulteriori set di abilità e organizzazione. Non era più solo il tuo team applicativo, all'improvviso ora avevi persone che facevano parte dell'infrastruttura, che avevi specialisti di database, che lavoravano semplicemente su database e nient'altro - al contrario di un programmatore di sistemi che sapeva farsi strada tra i database. Ora abbiamo uno scenario in cui i dipartimenti IT devono affrontare una complessità significativamente più ampia di "come servizio" e questo in cui il mondo è appena esploso e le nostre sfide per la risoluzione dei problemi sono diventate, da un incubo a qualcosa di quasi intollerabile in qualche modo.

E questo è avvenuto come scala risolvibile, stiamo provando a fornire servizi a. Versione 3 di quello che considero lo stack di applicazioni: ha introdotto questo come un modello di servizio, in cui il modello tradizionale sul lato sinistro, lo stack IT aziendale, in cui tutto doveva essere gestito alla nostra estremità come consumatore e fornitore di servizi - dal database di sicurezza delle applicazioni, sistemi operativi, archiviazione dei servizi di virtualizzazione, data center di rete - dovevamo gestirli tutti, ma avevamo accesso a tutti e quindi potevamo ridimensionare le nostre capacità e le nostre competenze tecniche e potremmo approfondire attraverso quella pila e siamo riusciti a trovare le cose. Ma man mano che il servizio di infrastruttura, il servizio di piattaforma e il modello di servizio software sono arrivati, all'improvviso il nostro accesso all'infrastruttura di back-end, il nostro accesso alle piattaforme e lo strumento da cui abbiamo fornito i servizi, ci hanno in qualche modo rimosso. Quando abbiamo iniziato a consumare il servizio di infrastruttura, avevamo davvero solo i primi quattro pezzi del sistema operativo, del database, dello stack di applicazioni ambientali di sicurezza e superiori, a nostra disposizione. Tutto sotto quello era magia nera. E diventa ancora più interessante quando passi al servizio di piattaforma perché stai anche gestendo lo stack di applicazioni.

Quando si arriva al software come servizio, e un modello tradizionale di questo è la webmail o l'internet banking, tutto ciò che si ha è l'accesso a un browser Web, quindi cercare di diagnosticare ciò che sta dietro è intollerabile, sicuramente. E l'ho suddiviso in fusi orari, in fasce orarie o fasce orarie se vuoi o generazioni, in quello da sinistra a destra, siamo passati da una specie di pre-2000 e lo stack tradizionale a cui avevamo accesso all'intero ambiente e potremmo approfondire questo. Ma nel tempo è diventato sempre più complesso. Dall'inizio degli anni 2000 alla metà del 2000, fino alla fine del 2000 fino ai giorni nostri, dove siamo passati dal servizio di infrastruttura, servizio di piattaforma, servizio software, fino ad ora ci riferiamo essenzialmente a un servizio aziendale. E la complessità è aumentata drammaticamente. Ci sono così tante altre parti in movimento. Ma la disponibilità di competenze diventa sempre più difficile e sempre più difficile avvalerci. Trovare persone con le giuste competenze con il giusto accesso agli strumenti giusti per entrare e immergersi in questo stack e scoprire, dove sta andando qualcosa di lento. È il mio laptop o il mio desktop, è il mio telefono o il mio tablet, è la mia connettività su 3 o 4G, o il mio collegamento dedicato con ADSL o ISDN, qualunque cosa possa essere? O anche dial-up, anche se oggi è sempre meno così. Il web server è finito, è qualcosa all'interno del web server? È l'app server? È qualcosa intorno alla memoria e al disco della CPU e alle prestazioni di rete all'interno del server delle applicazioni? Il database è in esecuzione lì?

E puoi immaginare, disegna questa immagine molto rapidamente della complessità che inizia ad espandersi in qualche modo come un'immagine di big bang, di questa bolla sempre crescente in cui stiamo cercando di mettere le nostre braccia in giro e avere le abilità in cui immergerci e la conoscenza e il mezzo per sezionare e separare. E ora siamo molto nell'era in cui, sai, gli esseri umani non possono far fronte alla scala fisica, anche se hai la capacità di separare l'ambiente del database e di separare quel database e tuffarsi nel dettaglio all'interno di quel database. Il numero di database che devi gestire ora sta crescendo rapidamente. Ora tutto è alimentato da un database. Al giorno d'oggi pochissime applicazioni non sono alimentate da un database. E anche i tipi di database stanno crescendo rapidamente. Non sono più solo i tradizionali database SQL, a volte il suo SQL, a volte il suo non-SQL, a volte è un database grafico, a volte è un database di documenti. E ci sono tutti questi diversi tipi di funzioni che questi diversi tipi di database hanno e, di conseguenza, ognuno di essi presenta sfide di prestazione diverse e criteri di prestazione differenti. I database di registrazione e i database dei documenti funzionano in modo molto, molto diverso e svolgono una funzione diversa rispetto a un database SQL conforme a ACID e ANSI 92 tradizionale. E i tipi di cose che abbiamo archiviato lì dentro.

Siamo a un punto, nella mia mente, in cui - e penso che Eric abbia alluso a questo - che gli esseri umani stanno lottando per stare al passo con la complessità di ciò che stiamo costruendo e la velocità con cui stiamo costruendo, e noi ora al punto in cui l'unico modo per noi di gestire questa infrastruttura e l'unico modo per monitorare e approfondire i problemi che stiamo affrontando, sono con gli strumenti e i giusti tipi di strumenti. E poi invariabilmente, la giusta generazione di strumenti. Strumenti che comprendono effettivamente l'infrastruttura di back-end. Non è più OK solo lanciare un monitor SQL o uno strumento di query SQL su qualcosa e iniziare a separare una query e vedere cosa fa funzionare. In realtà abbiamo bisogno di uno strumento che comprenda la formazione delle query e il modo appropriato per formare le query, nonché i modi appropriati per le query di comunicare con l'infrastruttura nel back-end e come si comportano mentre lo fanno. E guardare i tempi di quelle interazioni e l'ordine in cui avvengono.

E questa è una sfida molto più complessa e mi porta al mio punto di domanda di arrotondamento, e cioè che, man mano che la complessità delle pile di app che stiamo sviluppando aumenta, gli strumenti per le prestazioni e gli strumenti che utilizziamo per gestirli, necessitano necessariamente diventare sempre più intelligente e molto più capace di guardare più cose. Ma anche molto più intelligente di come approfondiscono ciò che sta funzionando nel back-end e ciò che possono scoprire al riguardo e potenzialmente anche una sorta di analisi eseguita su quella per capire che le interazioni e le prestazioni, vengono consegnate, e perché sta funzionando sempre più lentamente.

E poi con ciò passerò al nostro caro amico di IDERA, Bill Ellis, e vedrò cosa ha da dire oggi su come risolvono questo problema. Bill, oltre a te.

Bill Ellis: Va bene. Mi chiamo Bill Ellis e grazie mille. Parleremo della mia applicazione in esecuzione lentamente, è tempo di ottenere Precise. Vediamo cosa può fare Precise, un prodotto IDERA e come può aiutarti. Molte volte scopri solo che c'è stato un problema di prestazioni perché un utente finale ti ha chiamato, e questo è davvero un grosso problema in sé. Di tutti gli addetti al settore IT, nessuno lo sapeva fino a quando il telefono non squillò. Ora, il prossimo grosso problema è come possiamo aiutare questo particolare individuo, e non è davvero un problema banale. C'è un asporto da questo. È sopra e oltre questa diapositiva, è sopra e oltre le altre. E voglio che tu veda se riesci a ottenere quello che è. Ma, come abbiamo detto, un'applicazione richiede, si basa su molte tecnologie diverse, lo stack di applicazioni è alto e in crescita. E molte persone accedono a un'applicazione tramite un browser e sorprendentemente ci sono sempre più elaborazioni che avvengono nel browser con scripting, ecc. E poi ovviamente hai la rete, il web server, il codice della logica aziendale e il database. Quello che voglio che tu consideri è che ogni transazione commerciale significativa interagisce con il database, sia che si tratti di report di time card, ricerca di inventario, un ordine di acquisto, il database viene aggiornato. E così, il database diventa davvero il fondamento delle prestazioni. E il database ovviamente può accendersi o fare affidamento sul downstream per l'archiviazione. Ognuna di queste tecnologie è strettamente accoppiata e in grado di vedere cosa sta succedendo. Devi sapere cosa sta succedendo per poter misurare è fondamentale.

Ora, una cosa che troviamo è che molti dei nostri clienti hanno uno strumento e hanno uno strumento per ogni tecnologia, ma ciò che non hanno è il contesto. E il contesto è fondamentalmente la capacità di collegare i punti tra ogni livello nello stack dell'applicazione, e questo è in realtà relativamente semplice. Avevamo una limitazione di dodici livelli, ma sostanzialmente l'abbiamo cambiata, abbiamo livelli illimitati e supportiamo ambienti misti in modo da poter diventare estremamente complicati con una soluzione Precisa.

Ora, ad alto livello, è così che risolviamo il problema e ci stiamo concentrando sulla transazione, la transazione dell'utente finale dal clic al disco, ci dice quali sono lenti, quali consumano risorse, ma la chiave è questa - ti consentiamo di ritirare e identificare l'ID utente della loro posizione e non solo dell'intero tempo di transazione, ma quanto tempo viene impiegato in ogni singolo passaggio. Il tempo è la valuta della prestazione e mostra anche dove vengono consumate le risorse. Non sappiamo in anticipo dove si troverà il problema, quindi abbiamo bisogno di disporre delle metriche e delle analisi adeguate su ciascuno dei livelli per poter diagnosticare quale sia il problema e dove potrebbe essere il problema.

Ora, nella presentazione di oggi, mi concentrerò su quest'area, voglio che siate certi che in pratica forniamo lo stesso livello di visibilità a tutti i livelli nello stack dell'applicazione e la cosa cruciale è che ci dirà chi, cosa, dove e poi questa parte, questo ci dirà perché. Ed è davvero il motivo per cui è assolutamente fondamentale per risolvere i problemi, non solo conoscerli. L'altra cosa che è emersa chiaramente nella presentazione è che è impossibile farlo. Hai bisogno di automazione. E automazione significa che hai degli allarmi, hai qualcosa che ti dice, si spera prima della comunità degli utenti finali, che hai un trend in corso, costruito deviazione dall'allarme di trend. E poi offriamo anche una linea nella sabbia, in realtà stai violando lo SLA. Ora offri molte informazioni diverse: non tutti hanno bisogno di consumare il buffet, alcune persone vogliono solo fare uno spuntino leggero, questa è insalata, e quindi con quello che offriamo un portale possiamo caricare informazioni, ha solo bisogno di un utente particolare o le esigenze di informazioni di una determinata comunità in merito alle prestazioni. L'applicazione funziona lentamente, è il momento di ottenere Precise. Ci concentreremo davvero su quattro cose. Uno è la posizione, inserendo l'utente finale. Ancora una volta, quel contesto che collega i punti e la terza parte della ricerca mostra che quasi il 90 percento dei problemi relativi alle applicazioni sono nel database ed è quindi una specie di parodia che la maggior parte delle soluzioni prestazionali potrebbe darti un'istruzione SQL. Ma non ti dicono perché quell'istruzione SQL si sta lentamente muovendo.

E così, il perché è sempre la cosa cruciale e Precise è eccellente nel mostrare il perché, per ogni livello e in particolare il database, e solo per condividere un po 'con noi la nostra matrice di supporto, che supportiamo SQL Server, Sybase, DB2 e / o all'ingrosso. L'aspetto e la sensazione della soluzione sono molto simili, quindi se stai guardando più applicazioni, ma architetture leggermente diverse. Le informazioni che sto condividendo qui hanno l'aspetto, l'approccio, è lo stesso, indipendentemente dalle tecnologie sottostanti in uso. Preciso è abilitato al web. Entriamo, autentichiamo Precise, e con ciò entriamo e la prima cosa che potremmo voler vedere è la performance per location. E così puoi effettivamente vedere qui i diversi luoghi in cui le persone accedono effettivamente alle loro esecuzioni. Puoi vedere se qualcuno ha abbandonato una pagina prima del completo rendering o se ci sono errori.

Ora, una cosa con queste applicazioni è che la rete o la distanza dal server delle applicazioni differiscono. È molto facile da vedere qui che c'è un certo livello di rete. Posso vedere quando le persone si sono impegnate, e poi un'altra cosa interessante, abbiamo parlato di come c'è l'elaborazione all'interno del browser, in realtà notano che alcuni dei diversi tipi di browser forniscono un ambiente migliore per un'elaborazione veloce. E così, sapendo se le persone accedono a Chrome o IE, o qualunque cosa accada, in realtà puoi scoprire molto spesso che l'inversione di un tipo di browser è effettivamente superiore a un'altra. Ora, a volte hai un fronte pubblico, non controlli il browser, a volte le applicazioni sono interne dove puoi consigliare alle persone un tipo di browser per la tua comunità di utenti finali, e quindi questi sono i tipi di visibilità profonda e analisi che Preciso è in grado di fornire. Ora esaminiamo un'applicazione.

Non sono sicuro se voi ragazzi potete vedere il mio puntatore, ma volevo descrivervi il grafico in alto. L'asse y mostra il tempo medio di risposta. L'asse x è il tempo attraverso un giorno. E in realtà c'è un grafico a barre in pila e quel grafico a barre in pila, il totale ti mostra quali sono le prestazioni e quindi mostra una suddivisione in livelli di quanto tempo viene trascorso in ogni singolo passaggio o in ogni singolo livello dell'applicazione. Dal client, attraverso il web server, il verde è Java, in questo posto stiamo usando Tuxedo e scendiamo nel database. Ora la metà inferiore dello schermo mostra i diversi menu Web a cui si accede e abbiamo quindi assortito con solo una piccola freccia verde che punta verso il basso. È in ordine decrescente e bolle verso l'alto, il menu Web inizia a mostrarlo. Mostriamo effettivamente i tempi di esecuzione, i tempi di risposta di ogni singola tecnologia e poi c'è effettivamente un grafico a barre per ciascuno di quei menu Web e così otteniamo, iniziamo a farci un'idea di quello che sta succedendo. Ora ricorda che abbiamo ordinato tutto questo con un utente finale che chiamerebbe, ma come trovo l'utente finale? Arrivo qui, apro un menu che mi consente di filtrare un determinato utente, quindi ho impostato quell'utente su Alex Net, ho fatto clic su OK e quindi ci siamo concentrati solo sull'attività di Alex Net. Ora, ciò che fa è che consente all'IT e alla gestione IT di rispondere direttamente a un utente finale e in particolare che stavano esaminando la gestione dei contenuti che aveva sei esecuzioni con un tempo di risposta di poco più di tre secondi. Bene, tre secondi sono abbastanza buoni, non è terribile, ma forse è più lento.

Quello che posso fare con questo è che posso tagliare e tagliare queste informazioni in diversi modi. Potrei dire, beh, questa transazione è lenta per tutti? Oggi Alex è più lento di quanto non fosse stato ieri? È lento per ogni utente in una determinata posizione? Oppure, e ciò che fa è che mi permette di fare una specie di fetta e di dadi e farmi un'idea di ciò che sta accadendo, di quanto sia universale il problema ed è molto importante essere in grado di identificare l'utente finale, perché non si tratta solo del software, l'infrastruttura, riguarda anche il modo in cui gli utenti finali esercitano l'applicazione. Spesso potresti avere un nuovo dipendente o qualcuno con una nuova funzione di lavoro, e non hanno familiarità con alcuni schermi SAP o determinati pannelli PeopleSoft e hanno bisogno di un piccolo puntatore, forse stanno lasciando i campi vuoti o inserendo caratteri jolly e loro ' costringendo grandi risultati a essere restituiti dal database. Ma avendo l'ID utente, puoi effettivamente chiamarli prima che ti chiamino. L'altra cosa che scopriamo è che una volta che la comunità di utenti è consapevole che l'IT sa cosa stanno facendo, è un sacco di volte che si comportano meglio e molti problemi, molte cose che erano state problemi, solo un po ' evaporare, perché le persone si comportano, basta operare un po 'più attentamente. Usano il sistema con maggiore cura.

L'identificazione dell'utente finale è essenziale. Alla fine è essenziale che l'IT sia in grado di aiutare un determinato utente finale. Ora, quello che abbiamo fatto qui è che siamo passati alla scheda "Flusso". Puoi vederlo nell'angolo in alto a sinistra. E ci siamo concentrati su un particolare componente del menu Web. E sul lato destro c'è un'analisi di quella particolare transazione, quindi in alto è in realtà il browser e quindi la vista, solo per familiarizzare con un po 'delle icone all'interno della GUI è per il web server, quindi possiamo vedere il punto dell'attributo. E poi la "J" è per Java e la "T" è per lo smoking e naturalmente la "Q" è SQL. Bene, quel valore in contanti identifica sostanzialmente un particolare estratto conto SQL. Considera cosa fa. Abbiamo identificato un utente in una transazione, nel codice dell'applicazione sottostante, comprese le singole istruzioni SQL. Ora, quando guardo quelle singole istruzioni SQL, posso vedere quella del tempo di risposta totale, ognuna di esse è responsabile di circa il sei percento e quando sommano le prime quattro istruzioni SQL, hanno impiegato circa un quarto della transazione tempo.

Ora spesso, il database è il più semplice da manipolare. Di solito è più semplice ottenere prestazioni economiche e molto superiori. Ora devo andare un po 'più a fondo per scoprire cosa sta succedendo e cosa, voglio che l'esempio sia in grado di fare è in realtà rivelare la singola istruzione SQL e sai che posso quasi garantirti solo ad ogni singolo scatto sulla linea aveva una sorta di strumento di database e ciò che fa lo strumento di database, ma solo guardando una tecnologia in isolamento, è che guardi, concentrati sulla salute di quella tecnologia. E molte volte le persone guardano una delle prime dieci liste. Ora questa istruzione SQL è piuttosto veloce, non sarà nella top ten list, ma è l'istruzione SQL su cui si basa questa transazione. E quindi quello che posso fare in quella parola, contesto, è ora che posso portarlo all'attenzione dello sguardo profondo, ma nel contesto della singola istruzione SQL.

Ora quella persona può aprire Precise nel contesto della singola istruzione SQL e Precise acquisisce l'effettivo piano di esecuzione che utilizza, il tempo di esecuzione che è importante per il DBA mostrerà effettivamente, puoi vedere che il 50 percento del il tempo è trascorso in attesa di archiviazione. Il cinquanta percento del tempo viene utilizzato nella CPU, quindi si inizia a farsi un'idea di dove viene speso il tempo, come potrei perdere tempo e l'idea è di dare alle persone opzioni, perché risposte diverse hanno costi e rischi associati . Idealmente stiamo cercando la soluzione a basso rischio e basso costo per un problema. Ora che l'istruzione SQL è tracciata da un valore di hash e c'è, nella parte sinistra del centro dello schermo c'è questo piccolo pulsante "Tune", e quello che sta per fare, ti porterà a un'attività SQL. E questa attività SQL è una specie di banco di lavoro pre-costruito e ciò che fa, è che mi permette di analizzare davvero in modo specifico ciò che sta influenzando l'istruzione SQL a partire dal piano di esecuzione. Il piano di esecuzione viene scelto dall'ottimizzatore quando viene analizzata l'istruzione, tornando all'analogia alimentare, è la ricetta seguita per risolvere l'istruzione SQL.

E alcune ricette sono più complicate di altre, e quindi forniamo risultati. E in realtà mostrerà qui, ehi, molto tempo sta facendo I / O sequenziali su un particolare indice. E vedi ora, quando, tornando all'ossigeno, segui questo indice. Quell'indice è stato deframmentato di recente, qual è la salute di if? In quale spazio tavolo vive? Il tablespace è separato dalla tabella a cui fa riferimento? E così inizia a darti ogni sorta di idee su come potresti risolvere il problema. Ora ovviamente, sai, stiamo costruendo un indice. È un rischio molto più basso, molto più facile che forse spostare un indice da un tablespace a un altro tablespace, quindi ciò che vogliamo fare è una sorta di opzioni di creazione, in modo da poter distribuire l'opzione a basso costo e rischio più basso per risolvere il problema.

Precise può anche eseguire operazioni come l'acquisizione di variabili di bind che vengono trasmesse a un'istruzione SQL. Ovviamente le variabili che vengono lanciate controlleranno la dimensione del set di risultati. E controllerà quanto tempo richiede l'esecuzione dell'istruzione SQL e la quantità di dati che devono essere passati ed elaborati dall'applicazione attraverso Java, tramite .NET, nel cast del server Web più la rete, infine resi nel browser dell'utente finale . Ciò che accade nel database influisce direttamente sul tempo del browser. E quindi sarà fondamentale avere questo livello di visibilità in modo che possiamo sapere esattamente cosa sta succedendo e dare al DBA il maggior numero di opzioni in modo che possano scegliere quale ha più senso, data una situazione particolare.

Ora, queste sono alcune delle citazioni che provengono da un negozio PeopleSoft che ha una distribuzione globale. Precise supporta PeopleSoft e SAP, Siebel, Oracle, E-Business Suite, applicazioni Java e .NET nostrane. Supportiamo quindi se effettui chiamate di servizi Web a più JVM, da Java a .NET a Java, possiamo tracciare tutto ciò. Potrebbe essere on-prem, potrebbe essere nel cloud. La cosa cruciale è che le cose devono essere strumentate.

E così, solo un paio di citazioni da uno dei nostri clienti. "Prima di Precise, i nostri DBA utilizzavano OEM", questo è uno strumento solo per il database, e in pratica hanno detto: "Ehi, le istanze sembrano grandi." aiuta a dire o risolvere un problema con una particolare transazione. Precise ha fornito la visibilità per farlo. Pertanto, disporre di tali informazioni sulle istruzioni SQL è stato fondamentale per offrire ai DBA la visibilità necessaria per spremere completamente le prestazioni dal database. E così è stato davvero bello. Tipo di sopra e oltre alcuni degli strumenti che potresti guardare.

E poi la gestione IT ha adorato il fatto che Precise fosse in grado di tradurre un URL complesso in un nome di pannello. E in questo modo se un utente finale chiama e dice "Ehi, ho problemi con questo", puoi isolare e vedere chi è quell'utente, che cosa stanno eseguendo, che tipo di prestazioni, stanno effettivamente misurando il rendering ora nel browser dell'utente finale. È una vera misura dell'esperienza dell'utente finale. E così, avere quell'ID utente è assolutamente essenziale per aiutare una determinata persona che chiama.

Come fa Precise? E quindi vorremmo condividere la nostra architettura. Preciso dovrebbe vivere nel proprio server e vivere in una macchina virtuale, può vivere nel cloud. Sul front-end, Precise è abilitato per il Web, sia che si utilizzino dashboard, l'interfaccia di avviso o la GUI Expert. Per quanto riguarda la raccolta dei dati, possiamo effettivamente fare senza agenti per diverse tecnologie. Spesso, tuttavia, avremo bisogno di un agente e ci sono vantaggi e svantaggi nell'avere un agente. Un grande vantaggio è questo, è che i dati raccolti possono essere preelaborati prima di essere inviati attraverso la LAN. Ciò significa che possiamo ridurre al minimo l'impatto totale della soluzione di monitoraggio sull'ambiente di destinazione.

Ora considera un'alternativa, se hai "senza agente", c'è ancora un raccoglitore di dati, è solo una questione di dove vive, e sta effettuando chiamate e passando dati grezzi sull'applicazione di destinazione attraverso la tua LAN. Ed è in realtà piuttosto costoso. E così, tramite la preelaborazione, possiamo effettivamente ridurre al minimo l'impronta. Sarai in grado di monitorare sia fisico che virtuale. E una cosa che volevo dire sulla tecnologia virtuale è che si concentra davvero sull'utilizzo. Ciò su cui si concentra Precise è la contesa. Quando la tecnologia VMware riduce al minimo le risorse per la VM guest? E così diventa davvero facile. Se stai guardando solo all'interno di una VM guest, hai solo una parte dell'immagine. Essere in grado di rilevare automaticamente e avvisare in caso di contesa, è davvero essenziale.

Precise può monitorare fino a 500 istanze, quindi le distribuzioni di grandi dimensioni hanno sostanzialmente più server Precise. E per una distribuzione globale, in genere sarà un server preciso in ciascun data center. Per inciso, per le distribuzioni più grandi puoi effettivamente federarle insieme in modo da poter guardare a livello aziendale cosa sta succedendo ed essere in grado di offrire report, ecc. Ora, come ho già detto, abbiamo un sacco di analisi tecniche. Non tutti devono accedere alla GUI degli esperti, quindi offriamo una dashboard personalizzabile. E ciascuno di questi portlet o widget sono tutti facoltativi. E qualcuno potrebbe voler semplicemente dire: "Ehi, come puoi ricevere un avviso su qualsiasi livello del nostro ambiente? Come stanno andando i gruppi di utenti finali dal punto di vista delle prestazioni? ”O forse potresti avere una domanda sull'infrastruttura, entrare forse nelle prestazioni dello smoking. O anche il bilanciamento del carico. È un po 'interessante qui in questa parte di bilanciamento del carico. Sto guardando il portlet al centro sul lato sinistro. Si può vedere che il numero di esecuzioni è molto simile tra ciascuno dei server web. Ma il tempo di risposta è molto diverso su quello in alto. Puoi effettivamente approfondire e scoprire esattamente il motivo per cui il tempo di risposta su quel server web è stato molto più lento rispetto agli altri.

Una cosa sul bilanciamento del carico, questo è molto importante, e le politiche di bilanciamento del carico, sai, non tutte le politiche di bilanciamento del carico sono appropriate per ogni applicazione. In realtà è davvero utile convalidare la politica di bilanciamento del carico. Stiamo effettivamente vedendo con alcune applicazioni come la nuova GUI di PeopleSoft Fluid, dove in realtà alcuni server Web andranno offline. E quindi è qualcosa di veramente critico. Se stai implementando la GUI di PeopleSoft Fluid, ti preghiamo di contattarci. Siamo in grado di fornirti molte informazioni e molte conoscenze su ciò che gli altri clienti hanno dovuto affrontare. Ognuno di questi portlet può essere piuttosto dettagliato. Come la metà destra, con il blu e il verde, mostra in realtà il modello della punta della spada, in un certo senso mostra che la tua raccolta di rifiuti all'interno del livello WebLogic sta funzionando nel modo previsto. Ognuno di questi portlet può essere altamente focalizzato o può essere di livello molto elevato. E il motivo per cui è importante, o potrebbe essere importante, è che molte volte non è abbastanza buono per avere solo queste informazioni all'interno dell'IT, a volte è necessario condividere queste informazioni con i proprietari delle applicazioni e talvolta con il senior management, su ciò che sta succedendo .

Volevo condividere con voi un paio di storie, una specie di "Successo nel Datacenter". E queste sono incentrate sul database e ho altre storie incentrate sul livello intermedio. Ma per oggi voglio davvero concentrarmi sul livello del database. Diamo un'occhiata ai blocchi dello schermo. Ora, quello che è successo qui è che questo particolare negozio aveva uno SLA commerciale, che se un ordine è ricevuto entro le 15:00, l'ordine verrà spedito quel giorno. E così il magazzino è estremamente occupato durante quel lasso di tempo. E poi ottenere il blocco dello schermo è stato molto frustrante. E così il supervisore - questa è una società più piccola - il supervisore in realtà è entrato nell'IT e, naturalmente, va dal DBA e dice: "Ora, cosa sta succedendo?" E quindi quello che abbiamo fatto, siamo stati in grado di mostrare esattamente cosa stava succedendo. Ora questa è JD Edwards, un'applicazione multilivello, questa è la schermata dell'ordine cliente. Puoi avere un'idea di cosa fosse il business, sostanzialmente un inventario just-in-time, e quindi sostanzialmente stai esaminando le applicazioni di magazzino. E ora stai praticamente spedendo verso un numero di vari siti di clienti, diversi negozi. E quello che abbiamo fatto è stato aprire Precise.

Ora in questo caso, prima di guardare Oracle, qui stiamo guardando SQL Server, e ora la metà superiore ci mostra un grafico a barre in pila in cui le istruzioni SQL trascorrono il loro tempo durante l'esecuzione. Ogni stato debole è rappresentato nell'asse y. L'asse x è ovviamente lungo il tempo e puoi vedere che il grafico a barre in pila cambia dalla fascia oraria a seconda di cosa sta eseguendo e di come utilizza il sistema. Ora, in questo caso particolare, ci siamo concentrati sulla terza sequenza SQL dall'alto. È scritto SELEZIONARE DA PS_PROD e puoi vedere in quella colonna che abbiamo catturato il piano di esecuzione effettivo. E puoi vedere tutto il numero di esecuzioni. Il fatto che quella particolare istruzione SQL sia stata responsabile del 9, 77 percento del consumo di risorse durante questo periodo di tempo che stiamo esaminando - e questo è un punto importante, l'intervallo di tempo, Precise mantiene una cronologia continua - e quindi posso sostanzialmente comporre e scopri cosa è successo in un determinato momento o nel tempo. Sono in grado di visualizzare le tendenze.

Ora questa istruzione SQL, vedi quel grafico a barre in pila lì, è blu scuro. Questo dice che stiamo usando tutta la CPU. Andiamo avanti e concentriamoci facendo clic su questo pulsante "TUNE" su quella specifica istruzione SQL. Quello che facciamo è che lo portiamo in quel seminario, seminario precostruito progettato per dire: "Bene, cosa saprà il DBA su questa particolare istruzione SQL?" E puoi vedere sul lato destro c'è una scheda chiamata " Storia "che è stato selezionato. E quello che mi piacerebbe che tu facessi ora è un po 'di spostamento sul lato sinistro dove si dice "Variazioni rispetto alla media della durata", durata media. E ognuna di quelle barre rappresenta eventi al giorno.

Puoi vedere mercoledì, giovedì, venerdì, il tempo di esecuzione era, ho intenzione di arrotondare al punto due. L'asse y mostra il punto quattro secondi, quindi il punto due. Pochissimi blocchi dello schermo, le operazioni stanno andando alla grande, nello SLA. Sfortunatamente il 27 febbraio il piano di esecuzione è cambiato e ciò ha causato un cambiamento immediato nei tempi di esecuzione. All'improvviso il tempo di esecuzione sta salendo, quattro X, forse cinque X, e le cose stanno andando davvero male. Ora preciso, nel suo repository in realtà tutti i cambiamenti che potrebbero avere un impatto sul comportamento. E puoi vedere qui che abbiamo effettivamente catturato i cambiamenti del piano degli assi. Quello nel mezzo dice "Volume della tabella modificato". E così le tabelle stanno crescendo e siamo proprio sulla cuspide, quando viene analizzata l'istruzione SQL, l'ottimizzatore sceglie un piano di esecuzione o un piano di esecuzione diverso.

Ora per fortuna, questa settimana qui lunedì è capovolto, quindi è stato un buon momento. Sfortunatamente si ribalta di nuovo, e sai cosa, gli utenti finali iniziano ad anticipare i blocchi dello schermo e iniziano a reinoltrare quello schermo e spingono l'esecuzione su e su e su e su. Abbiamo una grande quantità di dettagli, ma per risolvere questo problema e poi evitarlo in futuro, abbiamo bisogno di un'informazione aggiuntiva. E questo mi è stato mostrato sotto il confronto di quei piani di esecuzione. Il 5 marzo, quando era veloce ed efficiente, sul lato sinistro mostra il piano di esecuzione. Quando è stato lento e inefficiente il 12 marzo, puoi vedere che sta eseguendo un join filtro. Il join filtro impone solo un consumo di CPU molto maggiore, facendo molto più lavoro. Il risultato è identico, sta solo facendo molto più lavoro. È come se andassi a prendere i tuoi rifornimenti un ingrediente alla volta, piuttosto che andare in dispensa e ottenere tutti gli ingredienti contemporaneamente. E quindi esiste questo tipo di modo più efficiente per farlo. Ora di solito sapendo questo, il DBA è stato in grado di utilizzare il piano di query per evitare questo piano di esecuzione lenta e bloccare prestazioni elevate e veloci.

Ora il prossimo tipo di storia di guerra era "I rapporti sono in ritardo". Penso che molte persone possano identificarsi con questo scenario. Potresti avere rapporti ad hoc, potresti usare uno strumento come NVISION, potresti avere uno strumento di rapporti di terze parti. E quello che succede è che lo strumento sviluppa l'SQL. E spesso l'SQL non è davvero ben codificato. E questo potrebbe applicarsi anche a una situazione in cui, sai, hai qualche applicazione di terze parti, giusto, in cui l'SQL non è stato scritto internamente, e quindi come DBA, "Non controllo SQL, cosa lo farò? ”Bene Precise fornisce qualcosa che non sono a conoscenza di nessun altro strumento di database che fornisce e che è una vista oggetto. Combinato con raccomandazioni e modelli. E quindi ciò che possiamo fare è in realtà girare la visibilità sulla sua testa. Piuttosto che guardare semplicemente l'attività, esaminiamo, bene quale oggetto è più pesante sul sistema? E nella specie della parte inferiore dello schermo puoi vedere la riga d'ordine SQL e puoi vedere la colonna "in MS-SQL". E la tabella delle linee d'ordine è dieci volte più occupata di qualsiasi altra tabella nel sistema. Penso che noterai anche nella parte superiore, l'allocazione dello spazio sta crescendo e puoi anche guardare le specifiche sul server su quale versione del software stiamo eseguendo. Precise verificherà effettivamente le modifiche rilevate alle impostazioni primarie. Ancora una volta, causa ed effetto.

Ora, concentrandomi sulla tabella delle linee d'ordine, quello che posso fare con il mio repository storico dettagliato è che posso effettivamente correlare le istruzioni SQL che vanno contro la tabella delle linee d'ordine. E puoi iniziare a guardare la clausola where in quelle istruzioni SQL. E inizi a notare che la clausola where è abbastanza simile tra le diverse istruzioni SQL. E ti suggerirei che nel tuo sistema di registrazione troverai la stessa cosa. Poiché gli utenti aziendali, gli analisti aziendali vogliono fare attività come attività commerciale aggregata nell'ultimo giorno, nell'ultima settimana, nell'ultimo mese, nell'ultimo trimestre, nell'ultimo anno. Vedrai molto simili dove clausole, ordina per, raggruppa per, e questo significa che ci saranno alcuni indici che hanno senso per quelle istruzioni SQL.

E così Precise ha un motore di consigli, puoi vederlo nell'angolo in alto a destra e quello che possiamo fare è effettivamente ottenere consigli. Di ': "Ehi, sto eseguendo tutte le istruzioni SQL, quali indici li indirizzerebbero?" Gli indici ti vengono presentati e puoi effettivamente vedere il DBL. Ora Precise è di sola lettura, non offre la possibilità di fare clic su un pulsante e creare l'indice, ma è abbastanza facile da fare al di fuori di Precise. Ma ecco la cosa cruciale, Precise ti consente di valutare e modellare le modifiche, quindi c'è questo pulsante Valuta nell'angolo in basso a sinistra dello schermo. E quello che fa è che mostra le istruzioni SQL nel prima e dopo.

Diamo un'occhiata a queste istruzioni SQL. Vedi questa colonna qui che dice "in MS-SQL" e dice un'ora, quattro minuti? Le principali istruzioni SQL eseguono o consumano risorse per circa 64 minuti. E il miglioramento previsto è del 98 percento. Queste modifiche consentiranno di risparmiare ore di elaborazione. La prossima istruzione SQL è di 27 minuti e sostanzialmente ne salverà un terzo. Sono circa dieci minuti di elaborazione. Riassumendo insieme in realtà risparmierai ore e ore di elaborazione con queste modifiche proposte. E così essere in grado di conoscerlo in anticipo, essere in grado di modellarlo. Puoi anche usare la funzionalità "what-if" per dire "Beh, non voglio creare quell'indice o cosa succede se cambio l'ordine della colonna?" E così posso usare questa capacità di modellazione per scoprire esattamente cosa succederà.

L'altra cosa cruciale è che quando apporto la modifica posso effettivamente misurare una singola istruzione SQL. Hai visto la cronologia delle istruzioni SQL nell'esempio precedente e posso effettivamente verificare se ho ottenuto i risparmi che sono stati modellati. E quindi quel feedback, completare il ciclo di feedback è assolutamente cruciale.

Bene, ecco l'ultimo esempio che avrei avuto per te. Questo è un negozio SAP e, sai, avevano optato per un aggiornamento importante, stavano facendo alcune cose con transazioni personalizzate e fondamentalmente un utente finale non era soddisfatto delle prestazioni. E quindi quello che abbiamo fatto è stato di concentrarci su ciò che l'utente finale ha vissuto. E puoi vedere in cima alla lista, “SCELTA” e il tempo di risposta è di poco più di 61 secondi. Questa cosa richiede un minuto per l'esecuzione. Ora puoi vedere che abbiamo un grafico a barre in pila orientato verso SAP. Nella parte destra mostra l'ora del client, l'ora della coda. Il blu è il tempo di applicazione e in un ambiente SAP, questo è il codice ABAP, quindi il database. E quindi il database, sai, potrebbe essere Oracle, potrebbe essere SQL, potrebbe essere HANA. Fondamentalmente siamo in grado di dimostrarlo.

Ora quello che facciamo con Precise è focalizzare, per quella transazione e quell'utente, quali istruzioni SQL stavano venendo fuori. Ancora una volta, quel contesto per collegare i punti. Ora questa istruzione SQL superiore, puoi vedere che è cerchiata, si esegue in due millisecondi. Non puoi davvero incolpare il database se è in esecuzione così rapidamente. Il conteggio delle esecuzioni è molto alto. In realtà siamo in grado di tornare al codificatore ABAP e dire: "Ehi, cosa sta succedendo?" In realtà abbiamo scoperto che il codice nel database è stato messo nel posto sbagliato, stava annidando nel posto sbagliato all'interno del ciclo, fatto il cambiare e poi siamo in grado di misurare dopo. Puoi effettivamente vedere che cosa è la performance dopo. Non solo a livello di istruzione SQL ma anche a livello di codice personalizzato. E così potevano vivere con un tempo di esecuzione di quattro secondi e mezzo. E quindi questi sono solo un paio di esempi di come potrebbe essere sfruttato Precise, potresti sfruttarlo. Proprio come un breve riepilogo, Precise mostra le prestazioni in base alla posizione, in base all'ID dell'utente finale, fornisce il contesto attraverso lo stack dell'applicazione. Puoi approfondire la causa principale. E penso che uno dei maggiori fattori di differenziazione sia saper conoscere, non solo l'istruzione SQL, ma perché l'istruzione SQL sta funzionando lentamente, essere in grado di identificare la contesa e sostanzialmente offrire più opzioni per risolvere i problemi. Questo è ciò che Precise ha da offrire e puoi consumarci, sai, in modo leggero o se hai problemi molto profondi e molto impegnativi, ci piace anche affrontarli.

Eric Kavanagh: Va bene, devo dire che sono stati molti dettagli fantastici, Bill. Grazie per aver mostrato tutti quegli screenshot. E dal mio punto di vista hai davvero realizzato quello che stavo spiegando all'inizio dell'ora che è il numero uno, devi avere lo strumento giusto. Devi avere uno strumento che ti consenta la quantità di contesto richiesta per identificare tutti gli elementi dell'equazione, come qualcuno ha detto in un film una volta, è stato piuttosto divertente. Ma lasciami andare avanti e consegnarlo a Dez perché scommetto che ha alcune domande per te e voglio spingere un'altra di queste diapositive solo per caramelle visive, se vuoi. In realtà, tieni duro, fammelo riprendere. Ma Dez, sono sicuro che hai qualche domanda, portalo via.

Dez Blanchfield: Sì, lo so, wow. Questo strumento ha fatto molta strada da quando lo sapevo originariamente, e non sapevo che in realtà tu fossi diventato così profondo nella pila ora. È semplicemente sbalorditivo. Molto velocemente, un paio di cose. Il modello di distribuzione, puoi davvero molto rapidamente, in un minuto o due, solo delineare il modello di distribuzione tradizionale o tipico. Hai detto che era disponibile come macchina virtuale. Può essere eseguito nel cloud. E immagino che una delle domande che probabilmente sorgeranno e penso che ci siano state un paio di domande che sono state poste nella sezione Domande e risposte. Solo per ricapitolarli in sintesi, quindi il normale modello di distribuzione e il tipo di asse richiesto sono tradizionalmente distribuiti on-premise o ospitati o nel cloud? Quali sono i tipi di modelli di distribuzione che normalmente vedi? E che tipo di asse è necessario per far funzionare? Dobbiamo cambiare le cose a livello di sicurezza riguardo all'accesso alla rete e così via? O può comportarsi come un utente finale?

Bill Ellis: Sì, quindi attualmente la maggior parte delle installazioni sono on-prem. Sempre più persone stanno inserendo componenti dello stack di applicazioni nel cloud e quindi possiamo gestirlo anche noi. La distribuzione su cui abbiamo bisogno di un server su cui eseguire, soddisferà alcune specifiche. Abbiamo bisogno di un database per archiviare il repository storico, quindi soddisfare questi prerequisiti è una specie del primo passo. La prossima cosa è che dobbiamo assolutamente avere una certa conoscenza dell'applicazione stessa e l'installazione è guidata da una procedura guidata e sostanzialmente riempie gli spazi vuoti. A causa della profondità delle informazioni che stiamo ottenendo, dal livello del processo Web al codice in esecuzione, dobbiamo disporre di alcuni privilegi. Abbiamo un modello di dati sicuro o un modello di sicurezza, devo dire, perché gli agenti funzionano con credenziali totalmente separate dalle persone che utilizzano i metadati sulle transazioni, ecc.? Precise comunica tramite TCP su IP e pertanto è necessario che determinate porte siano aperte. A titolo di esempio, come la nostra porta predefinita è 2702. Questo tipo di cose dettagliate è qualcosa se le persone sono interessate, potremmo approfondirle in modo più dettagliato. Ma in genere abbiamo un time-to-value molto rapido. Se qualcuno si trova di fronte a un grosso problema, spesso possiamo installare la cosa e far luce su una situazione nel giro di poche ore.

Dez Blanchfield: Sì, ho sicuramente avuto anche quel senso. Nel modello di distribuzione hai parlato di una scala molto ampia e di un massimo di 500 istanze e di come potrebbe essere federato. A livello di entrata, che aspetto avrebbe se qualcuno volesse farlo - perché so che IDERA è molto grande nel dare accesso a prove gratuite, demo gratuite e ricordo di aver visto sul sito web quasi tutto può essere giocato. Per la gente qui, e penso di essermi perso prima, ma penso che ci sia stata una domanda su come appare un sito tipico e come le persone hanno accesso a questo e iniziano a giocarci e ottenere quel tipo di esperienza in cui possono vedere se hanno un modo per affrontare alcuni problemi di prestazioni? Possono scaricare un ODS e farlo girare sul proprio hypervisor, Hyper-V o laptop o hanno bisogno di una macchina dedicata per eseguirlo? Hai delineato l'architettura prima, ma solo brevemente, in un minuto o due, che aspetto ha la distribuzione entry-level solo per fare una prova del concetto, ad esempio?

Bill Ellis: Sì, quindi il nostro modello è un po 'diverso dagli strumenti IDERA. Ci inseriamo maggiormente nello scenario Embarcadero in cui vorresti contattare uno dei nostri rappresentanti di vendita. Vorremmo solo discutere con voi quali sono le sfide e quindi in genere, sapete, uno dei SE verrebbe assegnato e sostanzialmente funzionerebbe attraverso l'installazione con qualcuno. In genere non avresti eseguito Precise sul tuo laptop. Si desidera disporre di una macchina virtuale o di un server nel data center in cui risiede l'applicazione, per eseguire le raccolte. Ma ti aiuteremo in ogni fase. Se qualcuno è interessato a perseguire tale obiettivo, si desidera sicuramente contattare IDERA.

Dez Blanchfield: Una delle altre cose che mi ha colpito è che, intendo, molto di ciò che abbiamo trattato oggi è reagire ai problemi di performance. Ma mi è sembrato che, e negli ambienti live mentre le persone li usano, così, come la tua prima presentazione, qualcuno alza il telefono e dice: "L'applicazione sta funzionando lentamente, aiuta". Ma mi è sembrato che durante il pre-rilascio di applicazioni o aggiornamenti o nuove patch e correzioni, potresti passare attraverso un sacco di pianificazione della capacità e prove di stress e avere un esame preciso dell'intero ambiente e trovare effettivamente i problemi prima ancora di mettere gli utenti finali sull'ambiente. È un caso d'uso che hai visto prima o lo fanno anche le persone, o non è un caso d'uso tipico?

Bill Ellis: Assolutamente, vorremmo usare Precise per tutto il ciclo di vita dello sviluppo dell'applicazione o anche per il ciclo di vita dell'aggiornamento. Precise offre una vista della scalabilità, mostrerà il numero di esecuzioni sovrapposte al tempo di risposta. Ovviamente, se sia il numero di esecuzioni che il tempo di risposta crescono insieme, non stai ridimensionando e devi fare qualcosa. Questo tipo di cose ha aiutato immensamente. Penso che sia un po 'meno vero ora, ma quando le persone hanno iniziato a mettere le applicazioni di produzione su VMware erano un po' titubanti ed è stato, come sapete, nella prima cosa che sarebbero state come “Oh, dobbiamo spostare questo fisico. ”Ciò che possiamo effettivamente fare è mostrare quale sia il consumo delle risorse in modo da poter rendere l'applicazione più efficiente. In ogni fase del ciclo di vita dell'applicazione, vuoi assolutamente usare Precise. Ma dovrei dire che la produzione è davvero il luogo in cui le prestazioni contano di più e Precise è orientata al monitoraggio della produzione 24 ore su 24, 7 giorni su 7, quindi non si desidera eseguire le applicazioni di produzione senza visibilità.

Dez Blanchfield: Assolutamente. Un'altra domanda rapida proprio su quella specifica - test di profondità, immigrazione, UAT e così via - Voglio dire, è bello avere questo strumento e immagino che gli sviluppatori di app adorerebbero avere accesso a questo attraverso i cicli di vita del ciclo di vita dello sviluppo . Con le architetture più complesse che stai vedendo ora, quindi siamo passati dal servizio dedicato alla virtualizzazione e alla virtualizzazione, stiamo passando ora a una sorta di adozione dell'outsourcing al cloud hosting e stiamo anche assistendo a una transizione alla containerizzazione. Hai visto molte persone implementare questo e modellare il tipo di regioni o zone, quindi qualcuno potrebbe avere - e in Australia abbiamo un grosso problema di privacy e so che in Europa è la stessa cosa e penso che stia diventando sempre più un caso negli Stati Uniti, dove i dati che sono in grado di identificarmi personalmente spesso devono trovarsi in un ambiente più sicuro rispetto al livello dell'applicazione reale al livello Web. E così abbiamo queste distribuzioni ora in cui le persone potrebbero conservare internamente il loro database e le loro applicazioni, ma possono mettere il loro livello web, la loro fine e applicazione di consegna e così via in un provider cloud come Azure o, o Web Services Amazon e software . Come funziona con la normale distribuzione? È un caso che hai appena ottenuto un altro set di collezionisti nella regione e ne aggregano ancora un po '? Che aspetto ha nel mondo Preciso nel tipo di approccio bimodale di oggi di gestire l'IT di vecchie cose legacy in un unico posto e le tue merci a volte sono nel cloud?

Bill Ellis: Sì, quindi sosteniamo un ambiente misto. Una cosa da considerare è che ci sono diversi contratti con i fornitori di cloud. Alcuni di essi non consentiranno alcun tipo di agente o alcun tipo di monitoraggio esterno all'interno del cloud. Per installare e monitorare con Precise è necessario disporre di un tipo di contratto che consenta tale tipo di accesso. Ci sono sicuramente alcune restrizioni che a volte dobbiamo superare e quindi questi sono importanti tipi di criteri che prendi in considerazione quando, immagino, stai prima firmando quei contratti e poi e / o se devi implementare Precise.

Dez Blanchfield: Sì, ho visto un certo numero di casi in cui anche con un ambiente di database tradizionale se lo procuri come parte del servizio, in particolare con Azure come, mentre procuri HDInsight o SQL come un servizio, come piattaforma, i tuoi soliti strumenti possono solo tuffarsi così in profondità perché non sono così entusiasti di guardare cosa c'è sotto il cofano. E così finisci con un certo livello o profondità che puoi monitorare e all'improvviso non riesci proprio a vedere dietro la tenda magica. Il self service è una cosa? Questo è tradizionalmente qualcosa che verrebbe eseguito all'interno di un centro operativo di rete in cui il team tecnico, le persone sotto il CIO avrebbero accesso solo o è anche qualcosa a cui puoi fornire un livello di accesso agli utenti finali? Forse non necessariamente il banco della reception e le risorse umane e finanziarie tradizionali, ma gli utenti più esperti che stanno facendo, sai, come ad esempio data scientist, attuari, statistici, persone che stanno facendo carichi di lavoro davvero pesanti. È possibile che abbiano accesso a una sorta di accesso self-service per vedere cosa sta succedendo quando eseguono queste domande pesanti e dove sta sorgendo il dolore in modo da poter sintonizzare come funziona il loro carico di lavoro?

Bill Ellis: In Precise esiste una sicurezza abbastanza buona che consente di impostare utenti con diversi livelli di accesso. A livelli molto elementari, solo i cruscotti forniscono controllo. E poi all'interno, sai, se qualcuno volesse entrare nella GUI degli esperti, puoi in qualche modo limitare ciò che sono in grado di vedere e ciò che sono in grado di fare. E in qualche modo torniamo alla tua precedente domanda che, sai, nell'assistenza sanitaria hai tutte le leggi HIPAA e quindi ci sono sicuramente alcune considerazioni e ci sono in realtà alcune opzioni di distribuzione in modo che possiamo lavorare con esso in entrambi gli ambienti. Una cosa da considerare con i dati che hai visto in questa presentazione è che sono tutti metadati sulle prestazioni, non il contenuto delle tabelle, sai, e quindi è davvero, non entrerà, in quel tipo di, quei tipi di preoccupazioni relative alla privacy.

Dez Blanchfield: Sì, mi è piaciuto. Ho avuto un momento eureka per la tua quarta o quinta diapositiva degli scatti dello schermo e ho capito che stai solo tirando le prestazioni, beh non solo, ma stai estraendo i dati delle prestazioni, stai estraendo cose, come hai detto, metadati da i vari livelli dello stack, in realtà non stai guardando il contenuto. E penso che questa sia una cosa interessante perché è uno di quegli strumenti in cui è possibile implementarlo a breve termine e guardare cosa sta accadendo nell'ambiente, ma non è necessario avere accesso ai dati stessi. Puoi persino guardare come vengono gestiti gli equipaggi. L'ultima cosa, immagino, subito, e poi restituirò Eric, quindi se hai una domanda, allora fai in modo che Rebecca si concluda, hai detto prima che l'overhead è nominale, è un caso che sia anche un notevole sovraccarico dal lato del monitoraggio delle cose e solo guardando lo sfondo o è una quantità così trascurabile di spese generali che non vale la pena considerare?

Bill Ellis: Sì, quindi penso al livello del database, sai, ogni tecnologia è un po 'diversa. A livello di database Precise è abbastanza noto per battere il sovraccarico più basso. Sul livello intermedio c'è, sai, c'è una specie di atto di bilanciamento, sai, non è solo preciso, si applica a tutti, in termini di visibilità e spese generali. E quindi una delle cose è che offriamo una serie di strumenti sofisticati per controllare quale sia il sovraccarico. Siamo progettati per la produzione e, sai, è sicuramente utile eliminare tutti i problemi sullo sviluppo e sul QA, ma, sai, non c'è niente come sapere cosa sta succedendo nella produzione.

Dez Blanchfield: Eric, di fronte a te, hai qualche domanda finale?

Eric Kavanagh: Sì, dirò solo che penso che tu abbia fatto un ottimo lavoro nel sottolineare che il contesto è davvero la chiave ed è quasi come se ci muovessimo verso questa era dell'internet delle cose, vuoi che tutto sia strumentato. E penso che lo standard ora nella produzione sia quello di farlo, che è una buona notizia, giusto? Perché vuoi essere in grado di estrarre informazioni da tutti questi diversi ambienti e ricucirle tutte insieme. E immagino che lo consegnerò a te per alcuni commenti di follow-up, però. Questo è ciò su cui voi ragazzi siete focalizzati nel fornire un'interfaccia visiva attraverso la quale alcuni analisti, essenzialmente un analista IT, possono monitorare e analizzare ciò che sta accadendo in questo ambiente complesso e quindi capire cosa cambiare. Perché non è solo uno strumento. Devi avere lo strumento ma hai bisogno di quella persona che sta per scavare in quel dettaglio e trovare le risposte, giusto?

Bill Ellis: Sì, in un certo senso lo vedo bollire fino in cima e dare la priorità a dove si trova il maggior riacquisto, sai? Se si scopre che è una situazione diversa perché non tutti i problemi si trovano nel database. Se il database è, sai, le cose sono in esecuzione in un decimo di secondo, ma a livello di applicazione le cose impiegano tre secondi, ecco dove si trova il maggior riacquisto. E così in qualche modo essere in grado di isolare il livello problematico e quindi cosa sta accadendo all'interno del livello per concentrarsi davvero su dove si trova il riacquisto. Questo accelera davvero la risoluzione e l'ottimizzazione dell'applicazione ed è molto più veloce e molto meglio e molto più divertente di quanto le persone si radunassero in una sala conferenze dicendo: "Beh, non sono io, deve essere qualcun altro".

Eric Kavanagh: Esatto. L'altro giorno ho visto un bel meme che diceva qualcosa del tipo: "Sii informato, non solo supponente". Partecipi a una riunione, hai le informazioni, puoi indicare i dati. Questa è la chiave e ci stiamo arrivando, grazie al cielo. Va bene gente andiamo avanti e concludiamo, ma archiviamo tutti questi webcast per la visualizzazione successiva. Sentiti libero di provarlo in qualsiasi momento. Elenchiamo tutti i nostri webcast ora, la serie Hot Tech e la serie Briefing Room su Techopedia.com, quindi saltate online e date un'occhiata a quelle persone. Con ciò ti saluteremo. Grazie per il tuo tempo oggi, Bill. Grazie a te ea tutto il tuo duro lavoro, Dez. E ci sentiamo la prossima volta, gente. Stai attento. Ciao ciao.

Applicazione in esecuzione lentamente? tempo di essere precisi