Acasă Baze de date Aplicația rulează încet? timpul pentru a fi precise

Aplicația rulează încet? timpul pentru a fi precise

Anonim

De personalul Techopedia, 31 august 2016

Take away : Gazda Rebecca Jozwiak discută despre soluționarea problemelor și eficiența bazelor de date cu analistii Eric Kavanagh și Dez Blanchfield, precum și Bill Ellis de la IDERA.

În prezent nu sunteți autentificat. Vă rugăm să vă conectați sau să vă înregistrați pentru a vedea videoclipul.

Rebecca Jozwiak: Doamnelor și domnilor, salut și bine ați venit la Hot Technologies din 2016. Subiectul de astăzi, „Aplicația rulează încet? Timpul pentru a fi precis”. Și nu știm cu toții prea bine problemele care se pot întâmpla când lucrurile se desfășoară încet? Aceasta este Rebecca Jozwiak, o completez pe Eric, care face un rol nou aici, astăzi. Da, anul acesta este fierbinte și, știi, când vine vorba de tehnologie, așa cum am spus, singurul lucru pe care nu-l dorești cu adevărat este orice funcționare lentă, orice parte a sistemului tău. Și doar pentru a folosi un exemplu de consum, vreau să spun că dacă ai un restaurant, nu contează cât de grozav este mâncarea, dacă serviciul este lent, probabil că nu vei ajunge să te întorci. Acum, este ușor, într-un restaurant, să-ți dai seama de ce ceva funcționează încet. Poate că bucătăria are personal scurt sau s-a produs o defecțiune la unele echipamente sau poate că personalul de cameră este cam leneș și este ușor de identificat și de remediat.

Dar când te gândești la un centru de date, este o poveste complet diferită. Ar putea fi o problemă de rețea, o interogare necorespunzătoare care să blocheze lucrurile, performanța aplicației sau un cablu defect poate chiar cauza anumite probleme. Și, în cel mai bun caz, soluționarea problemelor cu acest tip de complexitate poate fi dificilă. Cam despre asta vom vorbi astăzi. Și avem, așa cum am spus, Eric Kavanagh în analist în ziua de azi. Avem Dez-Blanchfield, omul nostru de date și îl avem pe Bill Ellis de la IDERA, care va vorbi despre soluția companiei sale care ajută la gestionarea performanței aplicației. Și cu asta, voi trece mingea lui Eric. Eric, podeaua ta este.

Eric Kavanagh: Bine, sună bine, oameni buni. Și aceasta a fost o mare analogie, de fapt, pentru că ați vorbit despre dificultățile sau ușurința cu care se poate rezolva rezolvarea problemelor și vă descurcați corect. Problemele de performanță rezultă întotdeauna dintr-un fel de problemă care există în rețea. Adică, ar putea fi la fel de simplu ca hardware-ul vechi, de exemplu, dar linia de jos este orice situație de genul care necesită depanare. Despre asta voi vorbi astăzi. Și haideți să mergem înainte și să sărim pe diapozitive aici.

Aici vine probleme. Depanarea - este distractiv pentru persoanele cărora le place, acesta este aspectul mișto. Dacă găsiți pe cineva căruia îi place să rezolve probleme, țineți-vă de persoana respectivă, obțineți-le câteva instrumente pentru a duce la bun sfârșit treaba, pentru că chestii cu adevărat bune dacă puteți găsi pe cineva care poate ajunge în fundul a ceva și se termină. Însă, linia de bază este că soluționarea problemelor este problematică și a fost întotdeauna și așa va fi întotdeauna, iar dacă începeți să vorbiți despre depanare, la ce vă confruntați cu adevărat este analiza cauzelor principale. Care este cauza problemei?

Ei bine, dacă stai doar și te gândești o secundă chiar și la zilele principale, au existat tot felul de probleme. Și atunci trebuia să ai oameni care știau cu adevărat lucrurile lor pentru că nu existau nici măcar instrumente bune pentru rezolvarea problemelor, așa că trebuia să știi promptul de comandă și vom vorbi despre asta într-o secundă. Și, de fapt, am uitat să pun unul dintre slide-urile mele preferate, îl voi căuta în timp ce suntem astăzi în emisiune, poate în timpul prezentării lui Dez. Dar am vrut să arăt, pentru oricine nu l-a văzut, unul dintre cele mai amuzante emisiuni TV britanice, se numește „IT Crowd”. Și în ceea ce privește depanarea, irlandezul, care este unul dintre cei doi IT din întreaga companie, spune întotdeauna același lucru de fiecare dată când începe un apel, „Ați încercat să-l opriți și să îl porniți din nou?” Deci, încercați să-l opriți și să îl porniți din nou. Ați fi uimit cât de des poate acel lucru simplu poate rezolva unele probleme.

Cei dintre voi care au făcut rezolvarea problemelor acasă, poate cu părinții sau prietenii, probabil nu cu copiii, pentru că au tendința să știe ce să facă, să o oprească și să o pornească din nou. Dar, indiferent de depanare, nu este ușor, nu va fi niciodată ușor, dar vom discuta astăzi despre unele dintre lucrurile pe care le puteți face pentru a fi mai ușor. Așadar, promptul de comandă - da, într-adevăr, am destul de vârstă pentru a-mi aminti zilele de început ale calculului când tot ce ai avut a fost promptul de comandă pentru a face DIR, Enter. Asta ar vedea asta, directorul fișierelor și s-ar simți pozitiv că efectiv a primit o anumită comandă, nu? Dez, desigur, omul nostru de știință de date, știe să folosească promptul de comandă. Și dacă puteți utiliza promptul de comandă, acestea sunt lucruri minunate, deoarece majoritatea dintre noi simpli muritori folosesc un fel de GUI, o interfață de utilizator grafică, dar există întotdeauna ceva, există întotdeauna o anumită deconectare între GUI și linia de comandă de dedesubt. Și doar pentru a vă oferi un exemplu la întâmplare, dacă doriți să știți cât de multe coduri unele dintre programele de bază acolo se coace în documente în aceste zile, accesați cea mai recentă versiune a Microsoft Word, tastați „salut lume” și apoi „salvați ca HTML. ”Și apoi deschideți acel document rezultat într-un editor de text și probabil veți vedea pagini și pagini de etichete. Asta se numește cod bloat, iar cod bloat nu este foarte bun pentru rezolvarea problemelor, ci doar pentru a fi contondent.

Desigur, client-server a venit și acestea au fost lucruri minunate. Și într-un fel ne întoarcem în această direcție, ci doar să ne gândim la complexitatea care a venit cu situația, acum unde este problema, este pe client, este pe server, este rețea? Unde este? Aceste site-uri care se gândesc doar la viruși și când un virus poate intra într-unul dintr-o rețea, ce se poate întâmpla? Poate merge oriunde. Încălcările de date sunt nebunești în aceste zile. Ele provoacă probleme de performanță. Am avut hackeri ruși pe care îi putem identifica după adresa IP. Suntem destul de siguri că sunt ruși sau sunt foarte apropiați, sau sunt foarte inteligenți ucraineni sau polonezi sau chiar americani, folosind procuri. Dar am făcut ca hackerii să intre pe micul nostru vechi site, Inside Analysis, de-a lungul anilor și să provoace tot felul de probleme. Lucrurile nu încetează să funcționeze, nu poți termina lucrurile. Lucrurile obișnuite nu funcționează. De unde știți? De unde știi ce este? La fel ca un alt exemplu aici, este un mediu foarte complex, este foarte dificil să intri în buruieni și să înțelegi cu adevărat cum se desfășoară lucrurile și funcționează pentru noi, mai ales dacă primești o mulțime de plug-in-uri. Lucrurile pot înnebuni destul de repede. Sunt cam în fața mea.

Am aruncat aici, ferește-te mereu de upgrade. Upgrade-urile sperie întotdeauna lumina din ziua mea. Cu siguranță sisteme de operare. Îmi amintesc de zilele în care Microsoft ar sugera de fapt că, da, ai putea să îți upgradezi sistemul de operare de la această versiune la versiunea respectivă. Ei bine, am încercat de câteva ori și asta nu a funcționat niciodată. Amintiți-vă doar că, cu cât un mediu este mai mare și mai complex, cu atât situația va deveni mai neîngrijită. Și atunci există virtualizare. Gândiți-vă ce a făcut VMware la IT. A revoluționat IT, dar a creat și acest strat de abstractizări. Dacă ai un nivel de abstractizare la acel nivel de temelie, acesta este un joc cu bile cu totul nou, acesta este o nouă bilă de ceară și trebuie să evaluezi cu adevărat ceea ce faci și toate instrumentele vechi trebuiau să se schimbe. Și acum, desigur, este norul, nu? Pentru client, norul este excelent, pentru că este foarte simplu, interfața de utilizator este destul de simplă, dar, desigur, nu prea ai control asupra norului. Dar pentru oamenii care sunt în spatele scenei, există o mulțime de lucruri pe care trebuie să le cunoască și să le înțeleagă în aceste zile. Mediul a devenit mult, mult mai complex. Și cu siguranță cu e-commerce și vă gândiți la toți banii care tranzacționează mâinile în aceste zile. De aceea nu mă vei găsi în favoarea unei societăți fără numerar în curând. Concluzia este că situația devine din ce în ce mai problematică.

Și menținerea performanței optime va implica întotdeauna un element de depanare. Nu mă interesează ce vă spune cineva, nu există un instrument perfect, nu există un glonț de argint și niciodată nu va fi pentru că - într-o altă perspectivă interesantă aici - încă învățăm să vorbim de siliciu. Încă învățăm să înțelegem cum funcționează chiar și rețelele la nivel de față. Dacă te uiți la software-ul de gestionare a sistemelor, în zilele noastre este destul de bine. Dar, totuși, te uiți la linii care urcă și coboară și te uiți la reprezentări ale realității, va lua o persoană care știe ce se întâmplă pentru a se potrivi cu indicii pe care ai putea să le privești cu instrumente optime pentru a putea înțelegeți ce funcționează și ce nu este și este o mulțime de încercări și erori, doar pentru a fi neclar. Cu asta, o voi înmâna lui Dez Blanchfield și apoi vom auzi de la Bill Ellis de la IDERA, care ne va pune în rușine cu cunoștințele sale. Cu asta, Dez, ia-o.

Dez Blanchfield: Hei, mulțumesc Eric. Mulțumesc. M-am dus frumos în mica mea continuare. Titlul meu, „Performance Art”, cred că este extrem de apt în contextul în care discutăm astăzi, deoarece, în multe privințe, când ne gândim la arta performanței, ne gândim la dans și muzică și la alte lucruri creative. Și sincer, mai des, dacă rezolvăm probleme și în medii IT și sisteme de afaceri la scară foarte mare, există într-adevăr un element de artă și de multe ori art negru, deoarece situația din experiența mea în aproximativ 25 de ani este că stivele moderne de aplicații, cresc foarte rapid complexitatea într-un ritm pe care nu l-am văzut niciodată. Și ne străduim sincer să ne menținem și există organizații precum Uber, de exemplu, și orice altceva, și echipa de dezvoltare Pokémon Go, vreau să spun că se confruntă cu creștere și complexitate și creștere a complexității la rate care sunt doar astronomice. Nu există nici măcar cărți scrise despre asta pentru că nu am conceput acel nivel de creștere. Părerea mea este că definiția de bază a unei stive de aplicații s-a transformat exponențial și voi explica de ce cred că acesta este cazul, și apoi să conduc la provocarea la îndemână, ca prietenii mei buni de la IDERA par să aibă o soluție de rezolvat. .

Foarte pe scurt, toate le știm, dar doar să le recapitulăm, știți, în primele zile am avut ceea ce numesc eu, arhitectură de aplicații, versiunea 1.0. Era un computer server, în acest caz, mainframe-ul cu o grămadă de terminale atașate, era relativ ușor să diagnosticăm probleme dacă nu vedeai lucrurile pe terminal - poți urmări cablul dintre terminal și apoi computerul server. și a fost fie un cablu zero, fie un conector sau o problemă dacă nu are legătură cu terminalul și vedeți lucruri pe ecran, a fost destul de ușor să vă dați seama că lucrurile care au cauzat problemele sunt în mașina în sine. Și puteți diagnostica lent încotro se află în stiva care se afla de la hardware până la stratul de software și interfața de utilizator. În ceea ce numesc versiunea 1.1, am făcut-o un pic mai complexă. Punem dispozitive la mijloc, astfel încât să putem pune mai multe terminale pe loc. Și erau un fel de dispozitiv de comunicații și deseori erau mux-uri sau multiplexori și urmau să treacă peste o linie dedicată sau o linie dial-up și deci aveai un mainframe într-o locație îndepărtată - poate fi interstatal sau internațional - și un dispozitiv conectate printr-o legătură SMA sau un fel de conectivitate WAN și acele terminale funcționează în același mod. Însă aveai un pic mai multă complexitate, deoarece trebuia să îți dai seama dacă problema era între terminale și dispozitivul de comutare sau dispozitivul de comutare și mainframe. Dar stiva a rămas relativ similară în cadrul mainframe-ului.

Versiunea 1.2, un pic mai complexă din nou, deoarece acum am adăugat mai multe dispozitive, am adăugat imprimante și alte lucruri și am grupat aceste lucruri și mă gândesc la un procesor front-end care să se ocupe de toate problemele dispozitivelor la nivel local, imprimante și terminale și așa mai departe cu mainframe-ul care se află la capătul îndepărtat. Un pic mai mult de complexitate. Dar, din nou, tema consistentă a mainframe-ului au fost aplicațiile care rulau la nivel local, astfel încât rezolvarea problemelor a rămas destul de similară în cadrul stivei de aplicații. Și atunci am avut oameni cu abilități care rezolvau problemele cu terminalele, imprimantele și controlerele de cluster. Dar apoi am complicat lucrurile și am construit rețele și, dintr-o dată, același fel de arhitectură introduce un strat de rețea. Brusc, am avut un comutator de rețea, iar stațiile de lucru au fost mult mai complexe. Și această versiune de arhitectură aveam adesea aplicații grafice de interfață de utilizator la stația de lucru. Nu numai că am avut un server care rulează stiva de aplicații, dar am avut și un alt teanc de aplicații care rulează local și, desigur, același model de bază de dispozitive care se conectează la un server. Apoi am făcut un salt cuantic către modelul mai recent al ceea ce numesc 2.1, care este locul în care am luat acea stivă de aplicații și am făcut-o mult mai complexă, mult mai greu de diagnosticat. Și am introdus mult mai multe dispozitive la front-end, pe browsere web și PC-uri și dispozitive mobile, etc. Și aici stiva de aplicații a început apoi să se scufunde puțin mai adânc în integrare ca sistem de operare și ipervizor.

Această imagine aici, pe partea dreaptă, avem în fața dreaptă întregul teanc, inclusiv infrastructura de rețea, serverele de stocare, mașinile virtuale, sistemul de operare și apoi tradiționalele trei niveluri ale aplicațiilor de bază de date metalice etc. Diagnosticarea problemelor de aplicare și a performanței pe acest model au devenit mult mai dificile. Există atât de multe piese în mișcare, iar încercarea de a explora această grămadă a fost doar, știți, a devenit un coșmar și a trebuit să implicați seturi de competențe suplimentare și organizație pentru a face față. Nu mai era doar echipa ta de aplicații, dintr-o dată acum ai avut oameni de infrastructură, aveți specialiști în baze de date, lucrau pur și simplu pe baze de date și nimic altceva - spre deosebire de un programator de sisteme care știa în jurul bazelor de date. Acum avem un scenariu în care departamentele IT trebuie să se ocupe de o complexitate semnificativ mai largă a „ca serviciu” și acest lucru în care lumea tocmai a explodat și au devenit provocările noastre de rezolvare a problemelor, de la a fi un coșmar la doar ceva care este aproape intolerabil. în unele moduri.

Și aceasta s-a produs pe o scară rezolvabilă, în care încercăm să furnizăm servicii la. Versiunea 3 a ceea ce consider stiva de aplicații - a introdus acest lucru ca un model de serviciu, în care modelul tradițional din partea stângă, stiva IT a întreprinderii, unde totul trebuia gestionat la sfârșitul nostru în calitate de consumator și furnizor de servicii - din baza de date de securitate a aplicațiilor, sisteme de operare, stocare servicii de virtualizare, centre de date în rețea - a trebuit să le gestionăm pe toate, dar am avut acces la toate acestea, astfel încât să putem extinde capabilitățile și seturile noastre de abilități tehnice și am putea perfora drumul prin stiva respectivă și am putea găsi lucruri. Dar, pe măsură ce serviciul de infrastructură și serviciul de platformă și modelul de servicii software au venit, dintr-o dată, accesul nostru la infrastructura de back-end, accesul nostru la platforme și la instrumentul de la care am furnizat serviciile, au fost cam retrase de la noi. Pe măsură ce am început să consumăm servicii de infrastructură, am avut la dispoziție doar primele patru piese din sistemul de operare, baza de date, stiva aplicațiilor de mediu de securitate și mai sus. Totul sub asta era magie neagră. Și devine și mai interesant atunci când treceți la serviciul platformei, deoarece, de asemenea, gestionați doar stiva de aplicații.

Când ajungeți la software ca serviciu și un model tradițional al acestuia este serviciul de e-mail sau internet banking, tot ce aveți este accesul la un browser web, astfel încât să încercați să diagnosticați ceea ce este în spatele acestuia este intolerabil, cu siguranță. Și am împărțit acest lucru în zone orare, în spații de timp sau zone de timp dacă doriți sau generații, în aceea de la stânga la dreapta, am plecat de la un fel de anii 2000 înainte și stiva tradițională unde aveam acces la întregul mediu și am putea explora acest lucru. Dar în timp a devenit din ce în ce mai complex. La începutul anilor 2000 până la mijlocul anului 2000, până la sfârșitul anului 2000 până în zilele noastre actuale, unde am trecut de la servicii de infrastructură, servicii de platformă, servicii software, până acum ne referim esențial la un serviciu de afaceri. Iar complexitatea a crescut dramatic. Există atât de multe piese în mișcare. Dar disponibilitatea competențelor devine din ce în ce mai grea și din ce în ce mai dificil să ne folosim. Găsirea persoanelor cu seturi de abilități potrivite, cu accesul corect la instrumentele potrivite pentru a intra și a vă cufunda în această stivă și a afla, unde este ceva care rulează lent. Este laptopul sau desktopul meu, este telefonul sau tableta mea, este conectivitatea mea peste 3 sau 4G, sau legătura mea dedicată cu ADSL sau ISDN, ce ar fi? Sau chiar dial-up, deși acest lucru este din ce în ce mai puțin în aceste zile. Este sfârșitul serverului web, este ceva din interiorul serverului web? Este serverul de aplicații? Este ceva în jurul memoriei și al discului performanței procesorului și rețelei din serverul de aplicații? Baza de date funcționează acolo?

Și vă puteți imagina, trageți foarte repede această imagine a complexității care începe să se extindă ca o imagine de tip big bang, a acestei bule în continuă creștere în care încercăm să ne învârtim și să avem abilitățile de a ne cufunda în și cunoștințele și de ce să se disecă și să se desprindă. Și suntem foarte mult acum în epoca în care, știți, ființele umane nu pot face față cu scara fizică, chiar dacă aveți capacitatea de a distrage mediul bazei de date și de a distruge acea bază de date și de a vă cufunda în detaliu din baza de date. Numărul de baze de date pe care trebuie să le gestionați acum crește rapid. Totul este acum alimentat de o bază de date. Foarte puține aplicații în aceste zile nu sunt alimentate de o bază de date. Și tipurile de baze de date sunt în creștere rapidă. Nu mai sunt doar bazele de date tradiționale SQL, uneori SQL, alteori non-SQL, alteori este o bază de date grafică, alteori este o bază de date de documente. Și există toate aceste tipuri diferite de funcții pe care le au aceste tipuri diferite de baze de date și, ca urmare, fiecare dintre ele are provocări diferite de performanță și criterii diferite de performanță. Înregistrarea bazelor de date și a bazelor de date cu documente efectuează foarte, foarte diferit și îndeplinesc o funcție diferită de o bază de date tradițională conformă cu ACID, ANSI 92-compatibilă cu ACSI. Și tipurile de lucruri pe care le-am depozitat acolo.

Într-un moment, în mintea mea, unde - și cred că Eric a făcut aluzie la asta - că ființele umane se luptă să țină pasul cu complexitatea a ceea ce construim și cu viteza cu care construim, iar noi Acum suntem la punctul în care singura modalitate de a gestiona această infrastructură și singura modalitate de a monitoriza și de a aborda problemele cu care ne confruntăm sunt instrumentele și tipurile de instrumente potrivite. Și apoi invariabil, generația potrivită de instrumente. Instrumente care înțeleg de fapt infrastructura de back-end. Nu mai este OK doar să aruncați un monitor SQL sau un instrument de interogare SQL la ceva și să începeți să separați o interogare și să vedeți ce o face. Avem nevoie, de fapt, de un instrument care să înțeleagă formarea de interogări și modalitatea adecvată de a forma interogări și modalitățile adecvate pentru căutările de a vorbi cu infrastructura în partea din spate și modul în care acestea funcționează așa cum fac acestea. Și să analizeze sincronizarea acelor interacțiuni și ordinea în care au loc.

Și asta este o provocare mult mai complexă și asta mă conduce către punctul meu de întrebare, și este că, pe măsură ce complexitatea stivelor de aplicații pe care le dezvoltăm crește, instrumentele de performanță și instrumentele pe care le folosim pentru a le gestiona, necesită în mod necesar să devină din ce în ce mai inteligent și mult mai capabil să privească mai multe lucruri. Însă, de asemenea, este mult mai inteligent în ceea ce privește ceea ce se desfășoară în partea din spate și ce pot descoperi despre asta și, eventual, chiar și un fel de analize care sunt efectuate peste asta pentru a înțelege că interacțiunile și performanța sunt livrate și de ce este mai lent sau mai rapid.

Și atunci cu asta voi trece la dragul nostru prieten de la IDERA, Bill Ellis, și voi vedea ce are de spus astăzi despre cum rezolvă această problemă. Bill, te-a dat.

Bill Ellis: Bine. Numele meu este Bill Ellis și vă mulțumesc foarte mult. Vom vorbi despre faptul că aplicația mea rulează încet, este timpul să obținem precizie. Să vedem ce poate face Precise, un produs IDERA, și cum vă poate ajuta. De multe ori aflați doar că a existat o problemă de performanță, deoarece un utilizator final v-a sunat și aceasta este într-adevăr o mare problemă în sine. Din toată lumea din IT, nimeni nu știa până când sună telefonul. Acum, următoarea mare problemă este cum ajutăm acest individ și nu este o problemă banală. Din aceasta se poate lua un singur lucru. Aceasta este deasupra și dincolo de acest diapozitiv, este deasupra și dincolo de celelalte. Și vreau să vedeți dacă puteți obține ce este. Dar, așa cum am menționat, o aplicație necesită, se bazează pe o mulțime de tehnologii diferite, stiva de aplicații este înaltă și în creștere. Și mulți oameni accesează o aplicație printr-un browser și, în mod surprinzător, se întâmplă tot mai multe prelucrări care se întâmplă în browser cu scripturi etc. Și, desigur, ai rețeaua, serverul web, codul logicii de afaceri și baza de date. Ce vreau să luați în considerare este faptul că fiecare tranzacție comercială semnificativă interacționează cu baza de date, indiferent dacă este vorba despre raportarea cardurilor-timp, căutarea inventarului, o comandă de cumpărare, baza de date este actualizată. Și astfel, baza de date devine într-adevăr fundamentul performanței. Și, desigur, baza de date se poate porni sau se bazează pe stoc în aval. Fiecare dintre aceste tehnologii este strâns cuplată și poate vedea ce se întâmplă. Trebuie să știi ce se întâmplă pentru a putea măsura este esențial.

Acum, un lucru pe care îl găsim este că mulți dintre clienții noștri au un instrument și au un instrument pentru fiecare tehnologie, dar ceea ce nu au este contextul. Și contextul este practic capacitatea de a conecta punctele între fiecare nivel din stiva de aplicații, iar acest lucru este de fapt relativ simplu. Am avut o limitare de douăsprezece niveluri, dar practic am schimbat-o, avem niveluri nelimitate și sprijinim medii mixte, astfel încât, practic, ne putem complica extrem de mult cu o soluție precisă.

Acum, la un nivel înalt, așa rezolvăm problema și se concentrează asupra tranzacției, tranzacția utilizatorului final de la clic pe disc, ne spune care dintre acestea rulează lent, care consumă resurse, dar cheia este aceasta - vă permitem să ridicați și să identificați utilizatorul locația lor și nu numai întregul timp al tranzacției, ci cât timp este petrecut la fiecare pas în parte. Timpul este moneda performanței și apare, de asemenea, unde se consumă resursele. Nu știm în prealabil unde va fi problema, așa că trebuie să avem metricile și analitica adecvate la fiecare nivel de nivel pentru a putea diagnostica care este problema, unde ar putea fi problema.

Acum, în prezentarea de astăzi mă voi concentra în acest domeniu, vreau să vă asigurați că, practic, oferim același nivel de vizibilitate la fiecare nivel din stiva de aplicații și aspectul crucial, aceasta ne va spune cine, ce, unde și apoi această parte, aceasta ne va spune de ce. Și chiar este motivul pentru care este absolut esențial pentru rezolvarea problemelor, nu doar cunoașterea acestora. Acum, celălalt lucru care a ieșit foarte clar în prezentare a fost că este imposibil să faci acest lucru. Ai nevoie de automatizare. Iar automatizarea înseamnă că aveți alertă, că aveți ceva care vă spune, cu speranță, în fața comunității utilizatorilor finali, că aveți tendință continuă, abatere construită de la alertarea tendințelor. Și atunci oferim și o linie în nisip, de fapt încălcați SLA. Acum oferiți o mulțime de informații diferite - nu toată lumea trebuie să consume bufetul, unii doresc doar să aibă o gustare ușoară, aceasta este salată și, prin urmare, oferim un portal putem încărca informații, are nevoie doar de un anumit utilizator sau informațiile unei anumite comunități au nevoie de performanță. Aplicația rulează lent, este timpul să obțineți precizie. Ne vom concentra cu adevărat pe patru lucruri. Una este locația, introducând utilizatorul final. Încă o dată, acel context care leagă punctele și a treia parte a cercetării arată că aproape 90 la sută probleme de aplicații se află în baza de date și deci este într-adevăr un tip de travestie că majoritatea soluțiilor de performanță vă pot spune o declarație SQL. Dar nu vă spun de ce acea instrucțiune SQL funcționează lent.

Și deci, motivul pentru care este întotdeauna esențialul și Precise este excelent pentru a arăta de ce, pentru fiecare nivel și în special baza de date, și doar pentru a împărtăși un pic despre matricea noastră de asistență cu dvs., pe care o susținem SQL Server, Sybase, DB2 și / sau Bulk. Aspectul soluției este foarte asemănător, așa că dacă te uiți la mai multe aplicații, dar arhitecturi ușor diferite. Informațiile pe care le împărtășesc aici au aspectul și senzația, abordarea, este aceeași indiferent de tehnologiile care stau la baza utilizării. Precis este activat web. Intrăm, autentificăm Precis și, prin aceasta, intrăm și primul lucru la care am putea dori să analizăm este performanța în funcție de locație. Și astfel puteți vedea aici diferitele locații în care oamenii accesează de fapt execuțiile lor. Puteți vedea dacă cineva a abandonat o pagină înainte de a fi redată complet sau dacă există erori.

Acum, un lucru cu aceste aplicații, este rețeaua sau distanța față de serverul de aplicații face diferit. Este foarte ușor să vezi aici că există un anumit nivel de rețea. Pot vedea când oamenii s-au ocupat și apoi un alt lucru interesant, am vorbit despre cum există procesare în cadrul browserului, ei observă de fapt că unele dintre diferitele tipuri de browser oferă un mediu mai bun pentru procesarea rapidă. Și deci știind dacă oamenii accesează Chrome sau IE, sau orice s-ar întâmpla, puteți afla foarte des că inversarea unui browser este de fapt superioară alteia. Acum, uneori aveți o vedere publică, nu controlați browserul, alteori aplicațiile sunt orientate spre interior, unde puteți recomanda oamenilor un tip de browser comunității utilizatorilor finali și astfel sunt tipurile de vizibilitate profundă și analitice care Precis este capabil să furnizeze. Acum, ne uităm la o aplicație.

Nu sunt sigur dacă voi puteți vedea indicatorul meu, dar am vrut să vă descriu graficul de sus. Axa y indică un timp mediu de răspuns. Axa x este timpul pe parcursul unei zile. Și există de fapt un grafic de bare stivuit și acel grafic de bare stivuit, totalul vă arată care este performanța și apoi arată un nivel al timpului petrecut în fiecare etapă individuală sau în fiecare nivel individual al aplicației. De la client, prin serverul web, verde este Java, acest loc îl folosim pe Tuxedo și jos în baza de date. Acum jumătatea inferioară a ecranului arată diferitele meniuri web accesate și apoi am asortat doar o mică săgeată verde orientată în jos. Este în ordine descrescătoare și se balonează până în partea de sus, meniul web începe să-l afișeze. Arătăm de fapt timpul de execuție, timpul de răspuns al fiecărei tehnologii individuale și apoi există de fapt un grafic de bare pentru fiecare din acele meniuri web, astfel încât să începem să ne facem o idee despre ce se întâmplă. Acum amintiți-vă că am sortat toate acestea cu un apel final, dar cum pot găsi utilizatorul final? Vin aici, deschid un meniu, care îmi permite să filtrez pe un anumit utilizator, așa că l-am setat pe Alex Net, faceți clic pe OK, apoi suntem concentrați doar pe activitatea de la Alex Net. Acum, ceea ce face acest lucru, este faptul că permite gestionarea IT și IT să răspundă direct la un utilizator final și în special că se uită la gestionarea conținutului care a avut șase execuții cu un timp de răspuns de puțin peste trei secunde. Ei bine, trei secunde este destul de bun, nu este groaznic, dar, poate, este mai lent.

Ce pot face cu acest lucru, este să pot tăia și reda aceste informații în moduri diferite. Aș putea spune, bine, tranzacția este lentă pentru toată lumea? Este mai lent astăzi pentru Alex decât fusese ieri? Este lent pentru fiecare utilizator dintr-o anumită locație? Sau, ceea ce face este că îmi permite să fel de felii și zaruri și să îmi fac o idee despre ce se întâmplă, cât de universal este problema și este foarte important să pot identifica utilizatorul final, pentru că nu este vorba doar de software, infrastructura, este vorba și despre modul în care utilizatorii finali exercită aplicația. De multe ori este posibil să aveți un angajat nou sau cineva care are o funcție nouă de muncă și nu sunt familiarizați cu anumite ecrane SAP sau cu anumite panouri PeopleSoft și au nevoie de un pic de indicator, poate că lasă câmpurile goale sau le introduc în wildcards și ei ” forțând rezultate mari să fie returnate din baza de date. Însă având ID-ul de utilizator, îi puteți efectiv suna înainte să vă sune. Celălalt lucru pe care îl găsim este că, odată ce comunitatea de utilizatori este conștientă de faptul că IT-ul știe ce fac, de multe ori acestea se comportă mai bine și o mulțime de probleme, o mulțime de lucruri care au fost probleme, doar un fel de se evaporă, deoarece oamenii se comportă, operează doar mai atent. Ei folosesc sistemul cu mai mare grijă.

Identificarea utilizatorului final este esențială. În final, este esențial ca IT-ul să poată ajuta un anumit utilizator final. Acum, ceea ce am terminat aici este că am trecut pe fila „Flux”. Puteți vedea asta în colțul din stânga sus. Și ne-am concentrat asupra unei componente particulare a meniului web. Și în partea dreaptă este o analiză a acelei tranzacții anume, și deci, în partea de sus, este de fapt browserul și apoi View, doar pentru a vă familiariza cu puțin pictogramele din GUI este pentru serverul web, deci putem vedea punctul atributului. Și atunci „J” este pentru Java și „T” este pentru Tuxedo și în mod natural „Q” este SQL. Ei bine, această valoare a numerarului identifică practic o declarație SQL particulară. Luați în considerare ce face acest lucru. Am identificat un utilizator la o tranzacție, la codul aplicației de bază, inclusiv instrucțiunile SQL individuale. Acum, când mă uit la acele declarații SQL individuale, pot vedea că din timpul total de răspuns, fiecare dintre ele este responsabilă de aproximativ șase la sută, iar când adaugă primele patru declarații SQL, au luat aproximativ un sfert din tranzacție. timp.

De multe ori, baza de date este cea mai ușor de manipulat. De obicei este cel mai ușor să obții o performanță ieftină, mult superioară. Acum trebuie să merg un pic mai adânc pentru a afla ce se întâmplă și ce, vreau ca exemplul să poată face este să dezvălui de fapt instrucțiunea SQL individuală și știi că vă pot garanta aproape doar cu fiecare fotografie pe linie. a avut un fel de instrument de bază de date și ceea ce face instrumentul de bază de date, ci doar să privești o tehnologie în mod izolat, este că te uiți la, să te concentrezi asupra sănătății acelei tehnologii. Și de multe ori oamenii se uită la lista primilor zece. Acum această declarație SQL este destul de rapidă, nu va fi în top zece listă, ci este declarația SQL pe care se bazează această tranzacție. Și deci, ceea ce pot face înapoi la acel cuvânt, context, este acum pot aduce acest lucru în atenția privirii profunde, dar în contextul instrucțiunii SQL individuale.

Acum, persoana respectivă poate deschide Precis în contextul instrucțiunii SQL individuale, iar Precise surprinde planul de execuție real pe care îl folosește, timpul de execuție este chestii importante pentru DBA, se va arăta, puteți vedea că 50 la sută din timpul este petrecut în așteptarea depozitării. Cincizeci la sută din timp este folosit în procesor, astfel încât să începeți să vă faceți idei despre locul în care este petrecut timpul, cum aș putea să pierd acest timp, iar ideea este să ofer oamenilor opțiuni, deoarece răspunsurile diferite au costuri diferite și riscuri asociate. . În mod ideal, suntem după soluția la o problemă cu risc redus și cu costuri reduse. Acum, că instrucțiunea SQL este urmărită de o valoare hash și există, în partea stângă, mijlocul ecranului, există acest mic buton „Tune”, iar ceea ce va face este să te ducă la o sarcină SQL. Și această sarcină SQL este un fel de banc de lucru pre-construit și ceea ce face acest lucru, îmi permite să analizez în mod specific ce are impact instrucțiunea SQL începând cu planul de execuție. Planul de execuție este ales de optimizator atunci când instrucțiunea este analizată, ea - înapoi la analogia alimentară, este rețeta care este urmată pentru a rezolva instrucțiunea SQL.

Și unele rețete sunt mai complicate decât altele, și astfel oferim concluzii. Și va arăta de fapt aici, hei, de mult timp face I / O secvențiale pe un anumit indice. Și vezi acum, când, revenind la oxigen, urmează acest indice. A fost defragmentat recent acel index, care este sănătatea? În ce spațiu de masă locuiește? Este separat spațiul tabelelor din tabelul la care face referire? Așadar, începe să vă ofere tot felul de idei despre cum puteți rezolva problema. În mod evident, știți, construim într-un index. Este un risc mult mai mic, mult mai ușor decât poate muta un index dintr-un spațiu de masă într-un alt spațiu de masă, deci ceea ce dorim să facem este un fel de opțiuni de construire, astfel încât să putem implementa opțiunea cu cel mai mic cost, cu cel mai mic risc pentru a rezolva problema.

Precis poate face, de asemenea, lucruri precum variabilele de legare a capturilor care sunt aruncate la o instrucțiune SQL. Evident, variabilele aruncate vor controla dimensiunea setului de rezultate. Și va controla cât timp durează executarea instrucțiunii SQL și cât de multe date trebuie transmise și procesate de către aplicație prin Java, prin .NET, în distribuția serverului web plus rețeaua, în cele din urmă redate în browserul utilizatorului final . Ceea ce se întâmplă în baza de date are un impact direct asupra timpului browserului. Și, astfel, va fi crucial să avem acest nivel de vizibilitate, astfel încât să putem ști exact ce se întâmplă și să oferim DBA cele mai multe opțiuni, astfel încât să poată alege care are cel mai mult sens, având în vedere o anumită situație.

Acum, acestea sunt câteva dintre ghilimele și acestea se întâmplă dintr-un magazin PeopleSoft care are implementare globală. Suportul precis acceptă aplicațiile PeopleSoft și SAP, Siebel, Oracle, E-Business Suite, aplicații Java și .NET. Sprijinim, astfel încât dacă efectuați apeluri de servicii web la mai multe JVM-uri, de la Java la .NET înapoi la Java, putem urmări toate acestea. Ar putea fi on-prem, ar putea fi în nor. Lucrul crucial este că lucrurile trebuie instrumentate.

Și deci, doar câteva citate de la unul dintre clienții noștri. „Înainte de precizie, DBA-urile noastre foloseau OEM” - acesta este un instrument bazat doar pe baze de date și, practic, au spus: „Hei, instanțele arată grozav.” Dar ar putea ajutați să spuneți sau să adresați o problemă cu o anumită tranzacție. Precis a oferit vizibilitatea pentru a face acest lucru. Așadar, faptul că informațiile despre instrucțiunile SQL au fost esențiale pentru a le oferi DBA-urilor vizibilitatea pentru a reduce la maxim performanțele din baza de date. Și așa a fost foarte drăguț. Un fel de mai sus și dincolo de unele instrumente la care s-ar putea să te uiți.

Și atunci conducerea IT a iubit cu adevărat faptul că Precise a putut să traducă o adresă URL complexă într-un nume de panou. Și în acest fel dacă un utilizator final sună și spune: „Hei am probleme cu asta”, puteți izola și vedea cine este acel utilizator, ce execută ei, ce fel de performanță, ei măsoară efectiv randarea timp în browserul utilizatorului final. Este o adevărată măsură a experienței utilizatorului final. Și, de asemenea, deținerea acestui ID de utilizator este absolut esențială pentru a ajuta o anumită persoană care apelează.

Cum face Precise acest lucru? Și deci am dori să împărtășim arhitectura noastră. Precis trebuie să locuiască în propriul server și să trăiască într-o mașină virtuală, poate trăi în cloud. În partea frontală, Precise este activat web, indiferent dacă utilizați tablouri de bord, interfața de alertă sau GUI expert. În ceea ce privește colectarea de date, putem efectua fără agent pentru mai multe tehnologii diferite. Cu toate acestea, de multe ori, vom avea nevoie de un agent și există plusuri și minusuri pentru a avea un agent. Un mare avantaj este acesta, este că datele colectate pot fi preprocesate înainte de a fi trimise prin LAN. Și, astfel, înseamnă că putem minimiza impactul total al soluției de monitorizare asupra mediului țintă.

Acum luați în considerare ca o alternativă, dacă aveți „agent fără”, există încă un colector de date, este doar o problemă de unde locuiește și face apeluri și trece date brute despre aplicația țintă din LAN. Și este de fapt destul de scump. Și astfel, prin preprocesare, putem reduce la minimum amprenta. Veți putea monitoriza atât fizic, cât și virtual. Și un lucru pe care am vrut să-l spun despre tehnologia virtuală este faptul că se concentrează cu adevărat pe utilizarea. Pe ce se concentrează Precise este contenția. Când tehnologia VMware minimizează de fapt resursele pentru VM-ul oaspete? Și astfel devine cu adevărat ușor. Dacă te uiți doar la un VM invitat, ai doar o parte din imagine. Fiind capabil să detectați și să alertați automat cu privire la contenție, este într-adevăr esențial.

Precisele pot monitoriza până la 500 de instanțe, astfel încât implementările foarte mari au, practic, mai multe servere precise. Și pentru o implementare globală, de obicei, va fi un server precis în fiecare centru de date. De altfel, pentru cele mai mari implementări, le puteți federa cu adevărat pe acestea împreună, astfel încât să puteți privi la larg ceea ce se întâmplă și să puteți oferi raportări, etc. Acum, așa cum am menționat, avem o mulțime de analize tehnice. Nu toată lumea trebuie să intre în GUI-ul expert, așa că oferim un tablou de bord personalizabil. Și fiecare dintre aceste portlet-uri sau widget-uri, toate sunt opționale. Și cineva poate dorește doar să meargă: „Hei, cum poți atinge o alertă pe orice nivel din mediul nostru? Cum fac grupurile de utilizare finală din perspectiva performanței? ”Sau poate că aveți o întrebare despre infrastructură, ajungând chiar la performanța Tuxedo. Sau chiar echilibrarea sarcinii. Este interesant aici în această parte de echilibrare a sarcinii. Mă uit la portletul din mijloc, în partea stângă. Puteți vedea că numărul de execuții este foarte similar între fiecare servere web. Dar timpul de răspuns este foarte diferit pe cel de sus. Puteți efectua dezactivarea și afla exact motivul pentru care timpul de răspuns pe serverul respectiv a fost mult mai lent decât celelalte.

Un lucru despre echilibrarea sarcinii, acest lucru este foarte important, iar politicile de echilibrare a sarcinii, știți, nu fiecare politică de echilibrare a sarcinii este potrivită pentru fiecare aplicație. Este de fapt util să vă validați politica de echilibrare a sarcinilor. Ne vedem de fapt cu unele aplicații, cum ar fi noua GUI Fluid PeopleSoft, unde de fapt unele servere web vor fi deconectate. Și deci este ceva care este într-adevăr critic. Dacă utilizați GUI pentru Fluid PeopleSoft, vă rugăm să ne contactați. Vă putem oferi o mulțime de cunoștințe și o mulțime de cunoștințe despre ceea ce s-au confruntat alți clienți. Fiecare portlet poate fi destul de detaliat. La fel ca la mijlocul drept, cu albastru și verde, arată de fapt modelul vârfului sabiei, arată un fel de colectare a gunoiului din cadrul nivelului WebLogic funcționează așa cum vă așteptați. Fiecare dintre aceste portlet-uri poate fi puternic concentrat sau poate fi la un nivel foarte ridicat. Și motivul pentru care acest lucru este important sau ar putea fi important, este de multe ori nu este suficient de bun pentru a avea doar aceste informații în cadrul IT, uneori trebuie să împărtășești aceste informații cu proprietarii de aplicații și uneori cu managementul superior, despre ceea ce se întâmplă .

Am vrut să împărtășesc cu voi câteva povești, genul de „Succes în Datacenter”. Și acestea sunt axate pe baza de date și am alte povești care sunt concentrate pe nivel intermediar. Dar astăzi vreau foarte mult să mă concentrez asupra nivelului bazelor de date. Să aruncăm o privire la înghețurile ecranului. Acum, ceea ce s-a întâmplat aici este că acest magazin special avea un SLA de afaceri, că dacă o comandă este primită până la 15:00, comanda expediază în acea zi. Astfel depozitul este extrem de ocupat în acest interval de timp. Și apoi, odată cu obținerea înghețării ecranului, a fost foarte frustrant. Și deci supraveghetorul - aceasta este o companie mai mică - supraveghetorul a intrat de fapt în IT și, desigur, merge până la DBA și spune: „Acum, ce se întâmplă?” Și, deci, ce am făcut, am putut să arătăm exact ce s-a intamplat. Acum este JD Edwards, o aplicație cu mai multe niveluri, acesta este ecranul comenzilor de vânzare. Vă puteți face o idee despre ceea ce a fost afacerea, practic un inventar just în timp și, astfel, te uiți la aplicațiile din depozit. Și acum, practic, trimiteți la o serie de diverse site-uri pentru clienți, magazine diferite. Și ceea ce am făcut este să deschidem Precis.

Acum, în acest caz, înainte de a ne uita la Oracle, aici ne uităm la SQL Server, iar acum jumătatea de sus ne arată un grafic de bare stivuit în care instrucțiunile SQL își petrec timpul în timpul executării. Fiecare stare slabă este contabilizată în axa y. Axa X, dacă este bineînțeles de-a lungul timpului și puteți vedea că graficul de bare stivuit se schimbă de la secțiunea de timp, în funcție de ce se execută și cum folosește sistemul. Acum, în acest caz particular, ne-am concentrat pe a treia secvență SQL din partea de sus. Are textul SELECT DE PS_PROD și puteți vedea în acea coloană că am capturat planul de execuție real. Și puteți vedea de-a lungul numărului de execuții. Faptul că respectiva declarație SQL a fost responsabilă pentru 9, 77 la sută din consumul de resurse în acest interval de timp pe care îl analizăm - și acesta este un punct important, intervalul de timp, Precise păstrează un istoric continuu - și aș putea, practic, să apelez și aflați ce s-a întâmplat la un moment dat sau în timp. Sunt capabil să văd trending.

Acum această afirmație SQL, vedeți graficul de bare stivuit acolo, este albastru închis. Asta spune că folosim tot procesorul. Haideți să mergem mai departe și să ne concentrăm făcând clic pe acest buton „TUNE” din respectiva instrucțiune SQL. Ce facem este să îl luăm în acel atelier, atelier pre-construit, care este conceput să spună: „Păi ce va ști DBA despre această afirmație SQL specială?” Și puteți vedea pe partea dreaptă, o filă numită „ Istoric ”care a fost selectat. Iar ceea ce mi-ar plăcea să faci acum este un fel de mutare spre partea stângă, unde se spune „Modificări în raport cu durata medie”, durata medie. Și fiecare dintre aceste baruri reprezintă evenimente pe zi.

Puteți vedea miercuri, joi, vineri, timpul de execuție a fost, urmează să mă rotunjesc la punctul doi. Axa y indică punctul patru secunde, deci punctul doi. Foarte puține blocuri de ecran, operațiunile merg excelent, în SLA. Din păcate, pe 27 februarie s- a schimbat planul de execuție și asta a provocat o schimbare imediată a timpului de execuție. Tot timpul brusc de execuție este în creștere, patru X, poate cinci X, iar lucrurile merg foarte prost. Acum Precise, în depozitul său, de fapt, jurnalează toate modificările care ar putea afecta comportamentul. Și puteți vedea aici că am capturat efectiv modificările planului axei. Cel din mijloc spune „Volumul tabelului schimbat”. Deci, tabelele sunt în creștere și avem dreptate pe cusp, când instrucțiunea SQL este analizată, optimizatorul alege un plan de execuție sau un alt plan de execuție.

Acum, din fericire, în această săptămână, aici luni, a răsturnat, așa că a fost la un moment bun. Din păcate, este din nou flip-flops, și știi ce, utilizatorii finali încep să anticipeze înghețarea ecranului și încep să retrimită acel ecran și împing numărul de execuție în sus și în sus. Avem o cantitate foarte mare de detalii, dar pentru a rezolva această problemă și apoi a o evita în viitor, avem nevoie de o informație suplimentară. Și asta mi-a fost arătat prin compararea acelor planuri de execuție. Pe 5 martie, când a fost rapid și eficient, în partea stângă arată planul de execuție. Când a fost lent și ineficient pe 12 martie, puteți vedea că face o îmbinare de filtru. Unirea filtrului forțează doar mult mai mult consum de procesor, făcând mult mai multă muncă. Rezultatul este identic, doar lucrează mult mai mult. Este ca și cum ai merge să-ți faci aprovizionarea cu un singur ingredient, mai degrabă decât să mergi la cămară și să obții toate ingredientele simultan. Și deci există un fel de mod mai eficient de a face acest lucru. Acum, de obicei, știind acest lucru, DBA a fost capabil să folosească planul de interogare pentru a evita acest plan lent de execuție și a bloca performanțe rapide și ridicate.

Acum, următorul tip de poveste de război a fost „Rapoartele sunt târzii”. Cred că o mulțime de oameni se pot identifica cu acest scenariu. Este posibil să aveți raportări ad hoc, puteți utiliza un instrument precum NVISION, puteți avea un instrument de raportare de la terți. Și ceea ce se întâmplă este că instrumentul dezvoltă SQL. Și, de multe ori, SQL nu este într-adevăr bine codat. Și acest lucru s-ar putea aplica și într-o situație în care, știți, aveți o aplicație terță parte, corect, în care SQL nu a fost scris în casă, și deci ca DBA, „Nu controlez SQL, ce Am de gând să fac despre asta? ”Ei bine, Precise oferă ceva care nu sunt conștient de niciun alt instrument de bază de date furnizat și care este o vizualizare obiect. Combinat cu recomandări și modelare. Și deci ceea ce putem face este să transformăm vizibilitatea pe capul său. Mai degrabă decât să ne uităm la activitate, să investigăm, ce obiect este cel mai greu din sistem? Și în felul părții inferioare a ecranului puteți vedea linia de comandă SQL și puteți vedea coloana „în MS-SQL”. Iar masa de linie a comenzilor este de zece ori mai ocupată decât oricare altă masă din sistem. Cred că ceea ce veți observa și în jumătatea de sus, alocarea spațiului este în creștere și puteți privi, de asemenea, specificațiile de pe server ce versiune de software rulăm. Precis va verifica efectiv modificările urmărite la setările principale. Încă o dată, cauza și efectul.

Acum, concentrându-mă pe tabelul de linii de comandă, ceea ce pot face cu depozitul meu istoric detaliat este că pot corela de fapt instrucțiunile SQL care merg împotriva tabelului de linii de comandă. Și puteți începe să priviți clauza unde în acele instrucțiuni SQL. Și începeți să observați că clauza unde este destul de similară între diferitele instrucțiuni SQL. Și v-aș sugera că în sistemul dvs. de înregistrare veți găsi același lucru. Deoarece utilizatorii de afaceri, analiștii de afaceri vor dori să facă lucruri precum activitatea de activitate cumulată în ultima zi, ultima săptămână, ultima lună, ultimul trimestru, ultimul an. Veți vedea foarte similare în cazul în care clauzele, ordonate, grupate după, și asta înseamnă că vor exista anumite indexuri care să aibă sens pentru acele instrucțiuni SQL.

Și deci Precise are un motor de recomandare, puteți vedea asta în colțul din dreapta sus, iar ceea ce putem face este să obținem de fapt recomandări. Spune: „Hei, eu rulez toate instrucțiunile SQL, ce indici le-ar fi adresate?” Indexurile îți sunt prezentate și puteți vedea efectiv DBL. Acum Precise este doar citit, nu oferă posibilitatea de a face clic pe un buton și de a crea indexul, dar este destul de ușor de făcut în afara Precis. Dar iată ce este crucial, este că Precisă vă permite să evaluați și să modelați modificările, deci există acest buton Evaluare în colțul din stânga jos al ecranului. Și ceea ce face este să arate instrucțiunile SQL din înainte și după.

Să ne uităm la aceste declarații SQL. Puteți vedea această coloană aici care spune „în MS-SQL” și care spune o oră, patru minute? Aceste declarații SQL de top execută sau consumă resurse în valoare de aproximativ 64 de minute. Și îmbunătățirea proiectată este de 98 la sută. Aceste modificări vor economisi o valoare de ore de procesare. Următoarea declarație SQL este de 27 de minute și va salva practic o treime. Adică aproximativ zece minute de procesare. Rezumat împreună, de fapt, veți economisi ore și ore de procesare prin aceste modificări propuse. Și, astfel, să știi acest lucru în față, să fii capabil să modelezi acest lucru. Puteți utiliza, de asemenea, capacitatea „ce-dacă” pentru a spune: „Ei bine, nu vreau să fac acel index sau ce se întâmplă dacă modific ordinea coloanei?” Și aș putea folosi această capacitate de modelare. pentru a afla exact ce se va întâmpla.

Celălalt lucru care este crucial este că atunci când fac modificarea pot măsura efectiv o instrucțiune SQL individuală. Ați văzut istoricul declarațiilor SQL în exemplul precedent și pot verifica de fapt dacă am realizat economiile care au fost modelate. Și astfel încât feedback-ul, completarea buclei de feedback este absolut crucială.

Bine, iată ultimul exemplu pe care aveam să-l am pentru tine. Acesta este un magazin SAP și, știți, au apelat la o actualizare majoră, făceau niște chestii cu tranzacții personalizate și, practic, un utilizator final nu a fost mulțumit de performanță. Și deci, ceea ce am făcut este că am putut să ne concentrăm pe ceea ce a experimentat acel utilizator final. Și puteți vedea în partea de sus a listei, „CHOUSE”, iar timpul de răspuns este puțin peste 61 de secunde. Acest lucru durează un minut pentru a executa. Acum puteți vedea că avem un grafic de bare stivuit, orientat către SAP. În partea dreaptă arată timpul clientului, timpul de așteptare. Albastrul este timpul de aplicare și într-un mediu SAP, adică cod ABAP, apoi baza de date. Și deci baza de date, știți, ar putea fi Oracle, ar putea fi SQL, ar putea fi HANA. Practic suntem capabili să arătăm asta.

Acum, ceea ce facem cu Precise este să concentrăm, pentru acea tranzacție și acel utilizator, ceea ce au apărut instrucțiunile SQL. Încă o dată, acel context pentru conectarea punctelor. Acum această afirmație SQL de sus, puteți vedea că este încercuită, se execută în două milisecunde. Chiar nu poți acuza baza de date dacă se execută atât de repede. Numărul de execuție este foarte mare. De fapt, putem reveni la codificatorul ABAP și să spunem: „Hei, ce se întâmplă?” Am descoperit de fapt că codul din baza de date a fost pus în locul greșit, a fost cuibat în locul greșit în buclă, a făcut schimbă și apoi putem măsura după. Puteți vedea care este performanța după. Nu numai la nivel de declarație SQL, ci și la nivel de cod personalizat. Și astfel au putut trăi cu un timp de execuție de patru și jumătate de secundă. Așadar, acestea sunt doar câteva exemple despre modul în care ar putea fi exploatate Precizia, este posibil să o utilizați. La fel ca o recapitulare rapidă, Precise arată performanța în funcție de locație, prin ID-ul utilizatorului final, furnizează contextul prin intermediul stivei de aplicații. Puteți perfecționa din cauza rădăcinii. Și cred că unul dintre marii diferențiatori este să poți cunoaște, nu doar instrucțiunea SQL, ci de ce instrucțiunea SQL rulează încet și să poată identifica conținutul și să ofere practic mai multe opțiuni pentru rezolvarea problemelor. Acest lucru este oferit de Precise și ne puteți consuma, știți, într-un mod ușor sau dacă aveți probleme foarte profunde, foarte provocatoare, ne place să le luăm și pe acestea.

Eric Kavanagh: Bine, trebuie să spun că a fost o mulțime de detalii fantastice, Bill. Vă mulțumim că ați arătat toate capturile de ecran. Și din perspectiva mea ai într-adevăr îndeplinit ceea ce am fost un fel de a explica la începutul orei, care este, numărul unu, trebuie să ai instrumentul potrivit. Trebuie să aveți un instrument care vă permite cantitatea de context necesară pentru a identifica toate elementele din ecuație, așa cum a spus cineva într-un film o dată, a fost cam amuzant. Dar permite-mi să merg mai departe și să-l predau lui Dez pentru că pun pariu că are câteva întrebări pentru tine și vreau să împing încă unul din aceste diapozitive doar pentru bomboane vizuale, dacă vrei. Sunt de fapt, stai, lasă-mă să iau asta înapoi. Dar Dez, sunt sigur că ai câteva întrebări, ia-o.

Dez Blanchfield: Da, o fac, uau. Acest instrument a parcurs mult timp de când îl știam inițial și nu eram conștient că acum ai ajuns într-adevăr atât de adânc în teanc. Este destul de neplăcut. Chiar repede, câteva lucruri. Modelul de desfășurare, puteți contura foarte repede într-un minut sau două, doar să conturați modelul de implementare tradițional sau tipic. Ai menționat că este disponibil ca o mașină virtuală. Poate fi rulat în cloud. Și cred că una dintre întrebările care va apărea probabil și cred că au fost câteva întrebări care au apărut în secțiunea Q&A. Doar să le recapitulăm în rezumat, deci modelul normal de desfășurare și tipul de axă necesară, este, în mod tradițional, desfășurat la fața locului sau găzduit sau în cloud? Care sunt tipurile de modele de implementare pe care le vedeți în mod normal? Și ce tip de axă este necesară pentru a obține acel lucru? Trebuie să schimbăm lucrurile la nivel de securitate în jurul accesului la rețea și așa mai departe? Sau se poate comporta doar ca utilizator final?

Bill Ellis: Da, deci, în prezent, majoritatea instalațiilor sunt în premiere. Din ce în ce mai mulți oameni introduc componente din stiva aplicației în cloud și, astfel, ne putem ocupa și de asta. Implementarea pe care avem nevoie de un server pe care să o executăm, va îndeplini anumite specificații. Trebuie să avem o bază de date care să stocheze depozitul istoric, așa că îndeplinirea acestor condiții preliminare este un fel de prim pas. Următorul lucru este că, cu siguranță, trebuie să avem cunoștințe despre aplicația în sine, iar instalarea este condusă de vrăjitor și completăm, practic, semifabricatele. Din cauza profunzimii informațiilor pe care le primim, știți, de la un nivel de proces web până la codul care se execută, trebuie să avem anumite privilegii. Avem un model securizat de date sau un model de securitate, trebuie să spun, pentru că agenții se execută cu date de acreditare care sunt complet separate de persoanele care folosesc metadatele despre tranzacții etc.? Comunicare precisă prin TCP prin IP și astfel avem nevoie de anumite porturi deschise. Ca un exemplu rapid, cum ar fi portul nostru implicit este 2702. Acest tip de lucruri detaliate este ceva dacă oamenii sunt interesați, am putea intra în el mai detaliat. Dar, de obicei, suntem foarte repede în timp. Dacă cineva se confruntă cu o mare problemă, adesea putem să instalăm lucrul și să strălucească o lumină puternică asupra unei situații în câteva ore.

Dez Blanchfield: Da, cu siguranță am și eu acest sens. În modelul de implementare ați vorbit despre o scară foarte mare și până la 500 de instanțe și despre modul în care acest lucru ar putea fi federat. La nivel de intrare, cum arată dacă vrea cineva - pentru că știu că IDERA este foarte mare în ceea ce privește accesul la încercări gratuite, demo-uri gratuite și îmi amintesc că am văzut pe site aproape că se poate juca. Pentru oamenii de aici și cred că mi-a lipsit mai devreme, dar cred că a apărut o întrebare despre cum arată un site tipic și cum accesează oamenii la acest lucru și încep să se joace cu acesta și să obțină acel tip. experiență în care pot vedea dacă au o modalitate de a aborda unele probleme de performanță? Își pot descărca un ODS și îl pot roti pe hipervizorul lor, Hyper-V sau laptop sau au nevoie de o mașină dedicată pentru a o folosi? Ați conturat arhitectura înainte, dar foarte pe scurt, într-un minut sau două, cum arată asta pentru implementarea nivelului de intrare doar pentru a face o dovadă a conceptului, de exemplu?

Bill Ellis: Da, deci modelul nostru este puțin diferit de instrumentele IDERA. Ne încadrăm mai mult în scenariul Embarcadero unde doriți să contactați una dintre reprezentanțele noastre de vânzări. Am dori să discutăm doar cu voi care sunt provocările și apoi, în mod obișnuit, să știm, unul dintre SE ar fi atribuit și practic ar lucra prin instalare cu cineva. De obicei, nu rulați Precis pe laptop. Ați dori să aveți o mașină virtuală sau un server în centrul de date unde locuiește aplicația, pentru a realiza colecțiile. Dar te-am ajuta să treci la fiecare pas. Dacă cineva este interesat să urmărească asta, cu siguranță doriți să contactați IDERA.

Dez Blanchfield: Unul dintre celelalte lucruri care m-au lovit a fost că, adică, multe din cele pe care le-am acoperit astăzi sunt în jurul reacției la problemele de performanță. Dar mi s-a părut că, și în mediile live, pe măsură ce oamenii le folosesc așa, la prima prezentare de diapozitive, cineva ridică telefonul și îmi spune: „Aplicația funcționează lent, ajutor”. Dar m-a părut că în timpul prerelegerii aplicațiilor sau upgrade-uri sau corecții și corecții noi, puteți parcurge o grămadă de planificare a capacității și testare a stresului și să vă uitați cu precizie la întregul mediu și să găsiți de fapt probleme înainte de a pune utilizatorii finali în mediul înconjurător. Este un caz de utilizare pe care l-ați văzut anterior sau oamenii fac acest lucru, sau nu este un caz de utilizare tipic?

Bill Ellis: Absolut, am dori să folosim Precis pe parcursul întregului ciclu de viață de dezvoltare a aplicației sau a ciclului de viață de actualizare. Precis oferă o vizualizare scalabilă, va afișa numărul de execuții suprapuse cu timpul de răspuns. Evident, dacă atât numărul de execuții, cât și timpul de răspuns cresc împreună, nu te scalzi și trebuie să faci ceva. Acest lucru a ajutat imens. Cred că este puțin mai puțin adevărat acum, dar atunci când oamenii au început să pună aplicații de producție pe VMware, au fost puțin șovăitori și a fost ca, în primul rând, să fie așa: „Oh, trebuie să trecem la asta fizic. ”Și ceea ce putem face de fapt este să arătăm care este consumul de resurse, astfel încât să poți face aplicația mai eficientă. La fiecare pas al ciclului de viață al aplicației, doriți cu siguranță să utilizați Precise. Dar ar trebui să spun că producția este într-adevăr acolo unde performanța contează cel mai mult, iar Precise este orientată către monitorizarea producției 24/7 și deci nu doriți să rulați aplicațiile de producție fără vizibilitate.

Dez Blanchfield: Absolut. O altă întrebare rapidă doar pe acea specificație - test de profunzime, imigrare, UAT și așa mai departe - Adică, este minunat să ai acest instrument și îmi imaginez că dezvoltatorii de aplicații ar adora absolut acest lucru prin ciclurile de viață ale ciclului de viață de dezvoltare. . Cu arhitecturile mai complexe pe care le vedeți acum, așa că am trecut de la serviciul dedicat la virtualizări și virtualizare, acum trecem la un fel de adoptare a externalizării la cloud hosting și vedem și o tranziție la containerizare. Ați văzut multe persoane care desfășoară acest lucru și modelează tipul de regiuni sau zone, așa că cineva ar putea avea - și în Australia avem o problemă foarte mare în privința vieții private și știu că în Europa este același lucru și cred că devine mai mult un caz în SUA, unde datele care mă pot identifica personal trebuie să fie adesea într-un mediu mai sigur cu stratul de aplicație real pentru stratul web. Și astfel avem acum aceste implementări în care oamenii ar putea să își păstreze baza de date și aplicațiile lor în interior, dar își pot pune stratul web și livrarea și sfârșitul aplicației și așa mai departe într-un furnizor de cloud precum Azure sau, sau Amazon Web Services și software. . Cum funcționează asta cu implementarea dvs. normală? Este cazul în care tocmai ai un alt set de colecționari din regiune și doar au adăugat altele? Cum arată asta în lumea precisă în abordarea bimodală de azi de a gestiona IT-ul vechilor lucruri vechi într-un singur loc, iar bunurile dvs. sunt uneori în cloud?

Bill Ellis: Da, așa că susținem un mediu mixt. Un lucru de luat în considerare este faptul că există contracte diferite cu furnizorii de cloud. Unele dintre ele nu vor permite niciun fel de agent sau niciun fel de monitorizare exterioară în cloud. Pentru a instala și monitoriza cu Precise, trebuie să aveți un tip de contract care să permită acel tip de acces. Cu siguranță, există anumite restricții pe care uneori trebuie să le îndeplinim, astfel încât acestea sunt un tip important de criterii pe care le luați în considerare atunci când sunteți, cred, mai întâi semnarea contractelor respective și apoi și / sau dacă aveți nevoie să implementați Precise.

Dez Blanchfield: Da, am văzut o serie de cazuri în care chiar și cu mediul de bază tradițional al bazelor de date, dacă achiziționați acest lucru ca parte a serviciului, în special cu cele ale Azure, în timp ce obțineți like-urile HDInsight sau SQL ca serviciul, ca platformă, instrumentele dvs. obișnuite nu se pot scufunda atât de adânc, pentru că nu sunt chiar atât de dornici să vă uitați la ceea ce este sub capotă. Și deci ajungeți cu un anumit nivel sau adâncime pe care îl puteți monitoriza și, dintr-o dată, pe care pur și simplu nu îl puteți vedea în spatele cortinei magice. Autoservirea este un lucru? Este, în mod tradițional, ceva care ar rula în interiorul unui centru de operații de rețea în care echipa tehnică, cei de la CIO vor avea acces doar la, sau este și ceva pe care îl puteți oferi un nivel de acces utilizatorilor finali? Poate că nu neapărat recepția și oamenii tradiționali de resurse umane și finanțe, ci utilizatori mai experimentați care fac, știți, de exemplu, oamenii de știință de date, actuarii, statisticienii, oamenii care realizează sarcini de muncă cu adevărat mari. Este cazul să poată avea acces la un fel de acces de autoservire pentru a vedea ce se întâmplă atunci când se execută aceste interogări grele și unde se întâmplă durerea, astfel încât să poată să regleze modul în care se desfășoară volumul lor de muncă?

Bill Ellis: Există o securitate destul de bună în Precise, astfel încât să puteți configura utilizatori care au niveluri diferite de acces. La niveluri foarte de bază, doar tablourile de bord oferă supraveghere. Și apoi în cadrul, știți, dacă cineva a vrut să intre în GUI-ul Expert, puteți să restricționați ceea ce pot vedea și ce pot face. Și un fel de a ne întoarce la întrebarea anterioară pe care o știți, în asistența medicală aveți toate legile HIPAA și, deci, există cu siguranță câteva considerente și există de fapt câteva opțiuni de implementare, astfel încât să putem lucra cu acesta în ambele medii. Un lucru de luat în considerare cu datele pe care le-ați văzut în această prezentare este că este vorba despre toate metadatele legate de performanță, nu de conținutul tabelelor, știți și, deci, nu va intra în tipurile de tipuri de preocupări de confidențialitate

Dez Blanchfield: Da, mi-a plăcut așa. Am avut un moment eureka despre al patrulea sau al cincilea diapozitiv al clipurilor de ecran și mi-am dat seama că trageți doar performanță, nu numai, dar trageți date de performanță, trageți lucruri, cum spuneți, metadate din diferitele niveluri ale stivei, nu te uiți la conținut. Și cred că acesta este un lucru interesant, deoarece este unul dintre aceste instrumente în care îl puteți disloca pe termen scurt și puteți privi ce se întâmplă în mediu, dar nu trebuie să aveți acces la datele în sine. Puteți chiar privi modul în care sunt echipate echipajele. Ultimul lucru, cred, doar repede, și apoi o să-i înapoiez lui Eric așa că dacă ai o întrebare, atunci o vei face pe Rebecca să se învețe, ai menționat înainte că aerul general este nominal, este un caz că este chiar și o depășire vizibilă din partea monitorizării lucrurilor și doar urmărește fundalul sau este o cantitate neglijabilă de cheltuieli aeriene încât nu merită să fie luată în considerare?

Bill Ellis: Da, așa că cred că pe baza de date, știți, fiecare tehnologie este puțin diferită. Pe baza de date nivelul precis este destul de bine cunoscut pentru a învinge cel mai mic nivel general. Pe nivelul intermediar există, știți, există un fel de act de echilibrare, știți, nu este doar precis, se aplică tuturor, din punct de vedere al vizibilității și al aerului. Și, astfel, unul dintre lucruri este să oferim o serie de instrumente sofisticate pentru a controla ceea ce este deasupra capului. Suntem proiectate pentru producție și, știți, este cu siguranță util să încercați cât mai multe probleme în creșterea dezvoltării și a QA, dar, știți, nu există nimic ca să știți ce se întâmplă în producție.

Dez Blanchfield: Eric, în fața ta, ai întrebări finale?

Eric Kavanagh: Da, am să spun doar că cred că ai făcut o treabă excelentă de a sublinia faptul că contextul este într-adevăr cheia și este aproape ca și dacă ne îndreptăm spre această epocă a internetului lucrurilor, vrei totul instrumentat. Și cred că standardul de acum în producție este să faci asta, ceea ce este o veste bună, nu? Pentru că doriți să puteți trage informații din toate aceste medii diferite și să le coaseți împreună. Și cred că o să-ți predau doar pentru câteva comentarii. Pe asta vă concentrați este furnizarea unei interfețe vizuale prin care un analist, un analist IT, în esență, poate monitoriza și analiza ce se întâmplă în acest mediu complex și apoi să-și dea seama ce să se schimbe. Pentru că nu este doar un instrument. Trebuie să aveți instrumentul, dar aveți nevoie de acea persoană care va săpa în acel detaliu și va găsi răspunsurile, nu?

Bill Ellis: Da, o văd ca fierbând până în vârf și prioritizând unde este cel mai rambursabil, știi? Dacă se dovedește că este o situație diferită, deoarece nu toate problemele sunt în baza de date. Dacă baza de date este, știți, lucrurile se execută într-o zecime de secundă, dar pe nivelul aplicației lucrurile durează trei secunde, acolo este cea mai mare răscumpărare. Și deci un fel de a putea izola nivelul problemei și apoi ceea ce se întâmplă în interiorul nivelului pentru a vă concentra cu adevărat pe locul unde se află răscumpărarea. Acest lucru accelerează într-adevăr rezoluția și optimizarea aplicației și este mult mai rapid și mult mai bun și mult mai distractiv decât oamenii adunați într-o sală de conferințe care merge: „Ei bine, nu sunt eu, trebuie să fie altcineva”.

Eric Kavanagh: Așa este. Am văzut o memorie grozavă a doua zi care spunea ceva de genul: „Fii informat, nu doar opinat.” Intri într-o ședință, ai informații, poți îndrepta spre date. Aceasta este cheia și ajungem acolo, mulțumesc bunătate. Bine, oamenii o să mergem înainte și să ne încheiem, dar arhivăm toate aceste transmisiuni web pentru vizualizare ulterioară. Nu ezitați să o verificați oricând. Listăm acum toate transmisiile noastre web, seria Hot Tech și seria Briefing Room de la Techopedia.com, deci saltați online și verificați aceste persoane. Cu asta vom lua rămas bun. Mulțumesc pentru timpul petrecut astăzi, Bill. Mulțumesc ție și tuturor muncii tale grele, Dez. Și vom vorbi data viitoare, oameni buni. Ai grijă. Pa! Pa.

Aplicația rulează încet? timpul pentru a fi precise