Huis databases Applicatie draait langzaam? tijd om precies te worden

Applicatie draait langzaam? tijd om precies te worden

Anonim

Door Techopedia Staff, 31 augustus 2016

Afhaalmaaltijden: Host Rebecca Jozwiak bespreekt problemen met databaseproblemen en efficiëntie met analisten Eric Kavanagh en Dez Blanchfield en Bill Ellis van IDERA.

Je bent momenteel niet ingelogd. Log in of meld je aan om de video te bekijken.

Rebecca Jozwiak: Dames en heren, hallo en welkom bij Hot Technologies van 2016. Het onderwerp van vandaag: "Toepassing loopt langzaam? Tijd om nauwkeurig te worden." En weten we niet allemaal zo goed welke problemen er kunnen gebeuren als dingen langzaam lopen? Dit is Rebecca Jozwiak, ik vul het in voor Eric, die hier vandaag een nieuwe rol speelt. Ja, dit jaar is hot en, weet je, als het gaat om technologie, zoals ik al zei, is het enige dat je echt niet wilt een trage werking, alles, een deel van je systeem. En om een ​​voorbeeld van een consument te gebruiken, ik bedoel, als je een restaurant hebt, maakt het niet uit hoe geweldig het eten is, als de service traag is, zul je waarschijnlijk niet terug gaan. Nu is het gemakkelijk, soort van, in een restaurant om erachter te komen waarom iets langzaam loopt. Misschien is de keuken kort bemand of was er een storing in sommige apparatuur, of misschien is het bedienend personeel een beetje lui, en het is een beetje gemakkelijk te identificeren en zo te repareren.

Maar als u aan een datacenter denkt, is het een heel ander verhaal. Het kan een netwerkprobleem zijn, een slechte query die dingen blokkeert, applicatieprestaties of een defecte kabel kunnen zelfs problemen veroorzaken. En het oplossen van problemen met dat soort complexiteit kan op zijn best moeilijk zijn. Daar gaan we het vandaag over hebben. En we hebben, zoals ik al zei, Eric Kavanagh vandaag analist. We hebben Dez Blanchfield onze datawetenschapper, en we hebben Bill Ellis van IDERA, die gaat praten over de oplossing van zijn bedrijf die helpt bij het beheer van applicatieprestaties. En daarmee geef ik de bal door aan Eric. Eric, de vloer is van jou.

Eric Kavanagh: Alrighty, klinkt goed, mensen. En dat was eigenlijk een goede analogie, omdat je sprak over de moeilijkheden of het gemak waarmee probleemoplossing kan worden bereikt en je komt er meteen aan toe. Prestatieproblemen zijn altijd het gevolg van een probleem in het netwerk. Ik bedoel, het kan zo simpel zijn als bijvoorbeeld oude hardware, maar het komt erop neer dat elke situatie als deze het oplossen van problemen vereist. Daar ga ik het vandaag over hebben. En laten we doorgaan en hier op de dia's springen.

Hier komen problemen. Problemen oplossen - het is leuk voor mensen die het leuk vinden, dat is het leuke. Als je iemand vindt die het leuk vindt om problemen op te lossen, houd die persoon dan vast, zorg dat ze wat hulpmiddelen krijgen om de klus te klaren, want echt goed spul als je iemand kunt vinden die iets doorgrondt en dingen voor elkaar krijgt. Maar het komt erop neer dat probleemoplossing problematisch is en altijd is geweest en altijd zal zijn, en als je begint te praten over probleemoplossing, dan kom je echt op de oorzaakanalyse. Wat veroorzaakt het probleem?

Nou, als je even achterover leunt en even nadenkt over zelfs de mainframedagen, kunnen er allerlei problemen optreden. En toen moest je mensen hebben die echt hun dingen wisten omdat er niet eens goede tools waren om problemen op te lossen, dus je moest echt je opdrachtprompt kennen, en daar zullen we het zo over hebben. En ik vergat eigenlijk om een ​​van mijn favoriete dia's in te stoppen, ik zal er naar zoeken terwijl we vandaag op de show zijn, misschien tijdens de presentatie van Dez. Maar ik wilde, voor iedereen die het niet heeft gezien, een van de grappigste Britse tv-shows ooit laten zien, het heet "The IT Crowd". En in termen van probleemoplossing, de Ierse man, die een van de twee IT-mensen in het hele bedrijf zegt altijd hetzelfde wanneer een telefoongesprek begint: "Heb je geprobeerd het uit en weer aan te zetten?" Dus probeer het uit en weer in te schakelen. Je zou versteld staan ​​hoe vaak dat simpele ding sommige problemen kan oplossen.

Degenen onder u die thuis problemen hebben opgelost, misschien met uw ouders of vrienden, waarschijnlijk niet met uw kinderen, omdat ze de neiging hebben om te weten wat ze moeten doen, het uit en weer inschakelen. Maar hoe dan ook, probleemoplossing is niet eenvoudig, het zal nooit gemakkelijk zijn, maar we gaan het vandaag hebben over enkele dingen die u kunt doen om het gemakkelijker te maken. Dus de opdrachtprompt - ja, inderdaad, ik ben oud genoeg om de vroege dagen van het computergebruik te onthouden, terwijl je alleen de opdrachtprompt had om DIR, Enter te doen. Dat is wat dat zou zien, map met bestanden en het gevoel hebben dat het daadwerkelijk een opdracht heeft uitgevoerd, toch? Dez, natuurlijk, onze datawetenschapper, hij weet hoe hij de opdrachtprompt moet gebruiken. En als je de opdrachtprompt kunt gebruiken, is dat geweldig omdat de meeste van ons stervelingen een soort van een GUI, een grafische gebruikersinterface gebruiken, maar er is altijd iets, er is altijd wat loskoppeling tussen de GUI en de opdrachtregel eronder. En om je een willekeurig voorbeeld te geven, als je wilt weten hoeveel code sommige van de basisprogramma's tegenwoordig in documenten verwerken, ga naar de nieuwste versie van Microsoft Word, typ "hallo wereld" en voer dan "opslaan als HTML. 'En open dat resulterende document vervolgens in een teksteditor, en u zult waarschijnlijk pagina's en pagina's met tags zien. Dat wordt code bloat genoemd, en code bloat is niet echt goed voor het oplossen van problemen, gewoon om bot te zijn.

Natuurlijk kwam de client-server langs en dat was geweldig. En in zekere zin gaan we een beetje terug in die richting, maar denk eens aan de complexiteit die de situatie met zich meebracht, nu waar is het probleem, ligt het op de client, is het op de server, is het het netwerk? Waar is het? Deze sites die alleen maar denken aan virussen, en wat kan er gebeuren als een virus er een op een netwerk kan binnendringen? Het kan overal heen. Datalekken zijn tegenwoordig gek. Ze veroorzaken prestatieproblemen. We hebben Russische hackers gehad die we kunnen herkennen aan het IP-adres. We zijn er vrij zeker van dat ze Russisch zijn, of ze zijn heel dichtbij, of ze zijn heel slimme Oekraïners of Polen of zelfs Amerikanen, met behulp van proxy's. Maar we hebben in de loop der jaren hackers onze kleine oude site, Inside Analysis, laten binnenkomen en allerlei problemen veroorzaken. Dingen stoppen gewoon met werken, je kunt dingen niet voor elkaar krijgen. Dingen die vroeger werkten, werken niet. Hoe weet je dat? Hoe weet je wat het is? Net zoals een ander voorbeeld hier, is een zeer complexe omgeving, het is erg moeilijk om in het onkruid te komen en echt te begrijpen hoe dingen voor ons gebeuren en werken, vooral als je een hele reeks plug-ins krijgt. Dingen kunnen behoorlijk snel gek worden. Ik loop mezelf een beetje voor.

Ik gooide hier, wees altijd voorzichtig met de upgrade. Upgrades maken me altijd bang. Zeker besturingssystemen. Ik herinner me de dagen dat Microsoft eigenlijk zou suggereren dat, ja, je je besturingssysteem zou kunnen upgraden van deze versie naar die versie. Nou, ik heb het een paar keer geprobeerd, en dat heeft nooit gewerkt. Vergeet niet dat hoe groter, hoe complexer een omgeving is, des te onhandelbaarder de situatie zal worden. En dan is er virtualisatie. Denk na over wat VMware met IT heeft gedaan. Het bracht een revolutie teweeg in de IT, maar creëerde ook deze abstractielaag. Als je op dat basisniveau een laagabstractie hebt, is dat een heel nieuw balspel, dat is een hele nieuwe bal van was en je moet echt opnieuw beoordelen wat je doet, en alle oude gereedschappen moesten veranderen. En nu is het natuurlijk de cloud, toch? Voor de klant is de cloud geweldig, omdat het heel eenvoudig is, de gebruikersinterface is vrij eenvoudig, maar je hebt natuurlijk niet echt veel controle over de cloud. Maar voor de mensen die achter de schermen zijn, zijn er tegenwoordig een heleboel dingen die ze moeten weten en begrijpen. De omgeving is veel, veel complexer geworden. En zeker met e-commerce, en je denkt aan al het geld dat tegenwoordig wordt verhandeld. Daarom zul je me niet snel vinden in het voordeel van een maatschappij zonder contanten. Het komt erop neer dat de situatie met de dag problematischer wordt.

En om de prestaties optimaal te houden, is er altijd een probleemoplossing nodig. Het kan me niet schelen wat iemand je vertelt, er is geen perfect hulpmiddel, er is geen zilveren kogel en dat zal er nooit zijn omdat - in een ander interessant perspectief hier - we nog steeds siliconen leren spreken. We leren nog steeds te begrijpen hoe zelfs netwerken op het korrelige niveau werkt. Als je kijkt naar systeembeheersoftware, wordt het tegenwoordig behoorlijk goed. Maar toch, je kijkt naar lijnen die op en neer gaan en je kijkt naar representaties van de realiteit, er is een persoon voor nodig die weet wat er aan de hand is om de aanwijzingen te vinden die je zou kunnen staren naar optimale tools om te kunnen begrijp wat werkt en wat niet en het is veel vallen en opstaan, gewoon om bot te zijn. Daarmee ga ik het overhandigen aan Dez Blanchfield en dan horen we van Bill Ellis van IDERA, die ons met zijn kennis zal beschamen. Daarmee, Dez, haal het weg.

Dez Blanchfield: Hey, bedankt Eric. Dank je. Mooi geleid in mijn kleine segue. Mijn titel, 'Performance Art', vind ik heel toepasselijk in de context van waar we vandaag over praten, omdat we in veel opzichten denken aan dans, muziek en andere creatieve dingen. En eerlijk gezegd vaker wel dan niet, als we problemen oplossen en in zeer grootschalige IT-omgevingen en bedrijfssystemen is er inderdaad een element van kunst en vaak zwarte kunst, omdat de situatie in mijn ervaring in meer dan 25 jaar is dat de moderne app-stacks zijn zeer snel aan het toenemen met een snelheid die we nog nooit eerder hebben gezien. En we worstelen eerlijk gezegd met het bijhouden en er zijn organisaties zoals Uber bijvoorbeeld, en wat dan ook, en het Pokémon Go-ontwikkelingsteam, ik bedoel dat ze groei en complexiteit ervaren en een toename van complexiteit met snelheden die gewoon astronomisch zijn. Er zijn zelfs geen boeken over geschreven omdat we dat niveau van groei niet hadden bedacht. Mijn mening is dat de kerndefinitie van een applicatiestack exponentieel is veranderd en ik ga uitleggen waarom ik denk dat dit het geval is, en vervolgens de uitdaging aangaan, dat mijn goede vrienden bij IDERA een oplossing lijken te hebben om op te lossen .

Heel kort kennen we deze allemaal, maar om ze samen te vatten, weet je, in het begin hadden we wat ik noem, applicatiearchitectuur, versie 1.0. Het was een servercomputer, in dit geval het mainframe met een aantal aangesloten terminals, het was relatief eenvoudig om problemen te diagnosticeren als je geen dingen op de terminal zag - je kon de kabel opsporen tussen de terminal en vervolgens de servercomputer, en het was een nulkabel of een connector of een probleem als het geen verband hield met de terminal, en je ziet dingen op het scherm, het was vrij eenvoudig om erachter te komen dat de dingen die de problemen veroorzaakten in de machine zelf. En je kon langzaam diagnosticeren waar in de stapel die zich van de hardware tot de softwarelaag en de gebruikersinterface bevond. In wat ik versie 1.1 noem, hebben we het iets complexer gemaakt. We plaatsen apparaten in het midden, zodat we meer terminals kunnen plaatsen. En ze waren een soort communicatie-apparaat en vaak waren het muxes of multiplexers en ze liepen ofwel over een speciale lijn of een inbellijn en dus had je een mainframe op een verre locatie - het kon interstate of internationaal zijn - en een apparaat verbonden via een SMA-link of een soort WAN-connectiviteit en die terminals werken nog steeds op dezelfde manier. Maar je had een beetje meer complexiteit omdat je moest uitzoeken of het probleem tussen de terminals en het communicatieapparaat lag of het communicatieapparaat en het mainframe. Maar de stapel bleef relatief vergelijkbaar in het mainframe.

Versie 1.2, weer een beetje complexer omdat we nu meer apparaten hebben toegevoegd, printers en andere dingen hebben toegevoegd en deze dingen hebben geclusterd, en ik denk aan een front-end processor die alle problemen van de apparaten lokaal, printers, zou behandelen en terminals enzovoort met het mainframe dat verre einde. Een beetje meer complexiteit. Maar nogmaals, het consistente thema van het mainframe waren de apps die lokaal werden uitgevoerd, dus de probleemoplossing bleef redelijk vergelijkbaar in de applicatiestack. En toen hadden we mensen met vaardigheden die problemen met terminals en printers en clustercontrollers oplosten. Maar toen maakten we dingen ingewikkeld en bouwden we netwerken en opeens introduceerde dezelfde soort architectuur een netwerklaag. Plots hadden we een netwerkswitch en werkstations waren een stuk complexer. En deze versie van architectuur hadden we vaak grafische gebruikersinterface-apps op het werkstation. We hadden niet alleen een server met de app-stack, maar we hadden ook een andere stapel applicaties die lokaal werden uitgevoerd, en natuurlijk hetzelfde basismodel van apparaten die verbinding maken met een server. Toen namen we een enorme sprong voorwaarts naar het recentere model van wat ik 2.1 noem, dat is waar we die app-stack hebben genomen en we hebben het een stuk complexer gemaakt, een stuk moeilijker te diagnosticeren. En we hebben veel meer apparaten aan de voorkant geïntroduceerd, op webbrowsers en pc's en mobiele apparaten, enzovoort. En hier begon de applicatiestack een beetje dieper in de integratie te duiken als het besturingssysteem en hypervisor.

Deze afbeelding hier aan de rechterkant, we hebben de hele stapel inclusief netwerkinfrastructuur, opslagservers, virtuele machines, het besturingssysteem en dan de traditionele drie lagen van databasemetaaltoepassingen, enz., Vooraan rechts. Het diagnosticeren van applicatieproblemen en prestatieproblemen op dit model is een stuk moeilijker geworden. Er zijn zoveel meer bewegende delen en proberen door die stapel te boren was gewoon, je weet wel, een nachtmerrie geworden en je moest extra vaardigheden en organisatie betrekken om dat aan te pakken. Het was niet meer alleen je applicatieteam, nu had je infrastructuurmensen, je had databasespecialisten, die alleen maar aan databases werkten en niets anders - in tegenstelling tot een systeemprogrammeur die de weg wist in databases. Nu hebben we een scenario waarin IT-afdelingen te maken hebben met een aanzienlijk bredere complexiteit van "als een service" en dit waar de wereld net explodeerde en onze probleemoplossende uitdagingen werden, ging van een nachtmerrie naar iets dat bijna ondraaglijk is in sommige opzichten.

En dit kwam tot stand als oplosbare schaal, we proberen services te leveren op. Versie 3 van wat ik de applicatiestack beschouw - het heeft dit geïntroduceerd als een servicemodel, waarbij het traditionele model aan de linkerkant, de enterprise IT-stack, waar alles aan onze kant moest worden beheerd als de consument en de leverancier van services - van applicatiebeveiligingsdatabase, besturingssystemen, virtualisatieservicesopslag, netwerkdatacenters - we moesten het allemaal beheren, maar we hadden toegang tot alles en dus konden we onze capaciteiten en technische vaardigheden uitbreiden en konden we naar beneden gaan door die stapel en we konden dingen vinden. Maar toen de infrastructuurdienst en platformservice en het softwareservicemodel langskwamen, werden onze toegang tot de back-endinfrastructuur, onze toegang tot de platforms en de tool waaruit we diensten leverden, ons een beetje ontnomen. Toen we begonnen met het consumeren van infrastructuurdienst, hadden we eigenlijk alleen de vier belangrijkste onderdelen van het besturingssysteem, de database, de stapel beveiligingsapplicaties en hoger voor ons beschikbaar. Alles daaronder was zwarte magie. En het wordt nog interessanter wanneer u overstapt op platformservice omdat u ook alleen de applicatiestack beheert.

Als je software als een service gebruikt, en een traditioneel model daarvan is webmail of internetbankieren, heb je alleen toegang tot een webbrowser, dus proberen te achterhalen wat daarachter zit, is absoluut ondraaglijk. En ik heb dit opgedeeld in tijdzones, in tijdsleuven of tijdsdelen als je wilt of generaties, in die zin dat we van links naar rechts zijn gegaan van een soort pre-2000s en de traditionele stapel waar we toegang toe hadden naar de hele omgeving en daar kunnen we doorheen gaan. Maar na verloop van tijd werd het steeds complexer. Van begin 2000 tot midden 2000, tot eind 2000 tot heden, waar we zijn overgegaan van infrastructuurdienst, platformdienst, softwareservice, tot nu verwijzen we in wezen naar een zakelijke dienst. En de complexiteit is dramatisch toegenomen. Er zijn zoveel meer bewegende delen. Maar de beschikbaarheid van vaardigheden wordt steeds moeilijker en steeds moeilijker om er gebruik van te maken. Mensen vinden met de juiste vaardigheden met de juiste toegang tot de juiste tools om deze stapel te pakken te krijgen en erachter te komen waar iets traag loopt. Is het mijn laptop of desktop, is het mijn telefoon of tablet, is het mijn connectiviteit via 3 of 4G, of mijn speciale link met ADSL of ISDN, wat het ook is? Of zelfs dial-up, hoewel dat tegenwoordig steeds minder het geval is. Is de webserver afgelopen, zit er iets in de webserver? Is het de app-server? Is het iets rond het geheugen en de schijf van CPU en netwerkprestaties in de applicatieserver? Wordt de database daar uitgevoerd?

En je kunt je voorstellen, je maakt deze foto heel snel van de complexiteit die begint uit te breiden als een oerknalbeeld, van deze steeds groter wordende bubbel waar we onze armen omheen proberen te krijgen en de vaardigheden hebben om erin te duiken en de kennis en middelen om te ontleden en uit elkaar te trekken. En we zijn nu heel erg in het tijdperk waarin, weet je, de mensen de fysieke schaal niet aankunnen, zelfs als je de mogelijkheid hebt om de databaseomgeving uit elkaar te halen en die database uit elkaar te halen en in de duik te duiken detail in die database. Het aantal databases dat u nu moet beheren, groeit snel. Alles wordt nu aangedreven door een database. Tegenwoordig worden maar weinig applicaties niet door een database aangedreven. En het soort databases groeit ook snel. Het is niet alleen de traditionele SQL-database meer, soms de SQL, soms de niet-SQL, soms is het een grafische database, soms is het een documentdatabase. En er zijn al deze verschillende soorten functies die deze verschillende soorten databases hebben en bijgevolg hebben elk van hen verschillende prestatie-uitdagingen en verschillende prestatiecriteria. Logboekdatabases en documentdatabases presteren heel, heel anders en hebben een andere functie dan een traditionele ACID-compatibele, ANSI 92-compatibele SQL-database. En de soorten dingen die we daar hebben opgeslagen.

We zijn op een punt, in mijn gedachten, waar - en ik denk dat Eric hier op heeft gezinspeeld - dat mensen worstelen om de complexiteit van wat we bouwen en de snelheid waarmee we bouwen bij te houden. zijn nu op het punt waar de enige manier voor ons om deze infrastructuur te beheren, en de enige manier om de problemen waarmee we worden geconfronteerd, te monitoren en te onderzoeken, is met tools en de juiste soorten tools. En dan steevast de juiste generatie tools. Tools die de back-end infrastructuur echt begrijpen. Het is niet meer OK om gewoon een SQL-monitor of een SQL-querytool naar iets te gooien en een query uit elkaar te halen en te zien wat de oplossing werkt. We hebben eigenlijk een tool nodig die de vorming van vragen begrijpt en de juiste manier om vragen te vormen, en de juiste manieren voor vragen om met de infrastructuur aan de achterkant te praten, en hoe ze presteren terwijl ze dat doen. En om te kijken naar de timing van die interacties en de volgorde waarin ze plaatsvinden.

En dat is een veel complexere uitdaging en dat brengt me bij mijn roundup-vraagpunt, en dat is dat naarmate de complexiteit van de app-stacks die we ontwikkelen toeneemt, de prestatiehulpmiddelen en de hulpmiddelen die we gebruiken om deze te beheren, noodzakelijkerwijs nodig zijn om steeds slimmer te worden en veel beter in staat om naar meer dingen te kijken. Maar ook veel slimmer in hoe ze zich verdiepen in wat er aan de back-end draait en wat ze erover kunnen ontdekken en mogelijk zelfs een soort van analyse die daarop wordt uitgevoerd om te begrijpen dat de interacties en de prestaties worden geleverd, en waarom het langzamer of sneller presteert.

En dan ga ik daarmee doorgeven aan onze lieve vriend van IDERA, Bill Ellis, en zien wat hij vandaag te zeggen heeft over hoe ze dit probleem oplossen. Bill, aan jou.

Bill Ellis: Oké. Mijn naam is Bill Ellis en heel erg bedankt. We gaan het hebben over mijn applicatie die langzaam draait, tijd om Precise te krijgen. Laten we eens kijken wat Precise, een IDERA-product, kan doen en hoe het u kan helpen. Vaak kom je er alleen achter dat er een prestatieprobleem is geweest omdat een eindgebruiker je heeft gebeld, en dat is echt een groot probleem op zich. Van iedereen in IT wist niemand het totdat de telefoon ging. Het volgende grote probleem is hoe we dit specifieke individu kunnen helpen, en het is echt geen triviaal probleem. Hier is één afhaalmaaltijden. Dat is boven en buiten deze dia, het is boven en voorbij de anderen. En ik wil dat je kijkt of je het kunt krijgen wat het is. Maar zoals gezegd, een applicatie vereist, is afhankelijk van veel verschillende technologieën, de applicatiestack is lang en groeit. En veel mensen hebben toegang tot een applicatie via een browser, en verrassend genoeg gebeurt er steeds meer verwerking in de browser met scripting, enz., En dan heb je natuurlijk het netwerk, de webserver, de business logic code en de database. Wat ik wil dat u in overweging neemt, is dat elke belangrijke zakelijke transactie interactie heeft met de database, of het nu tijdkaartrapportage is, inventaris opzoeken, een inkooporder, de database wordt bijgewerkt. En zo wordt de database echt het fundament van de prestaties. En de database kan natuurlijk worden ingeschakeld of is afhankelijk van de downstream voor opslag. Elk van deze technologieën is nauw gekoppeld en kan zien wat er gebeurt. Je moet weten wat er gaande is om te kunnen meten.

Nu is een ding dat we vinden dat veel van onze klanten een tool hebben, en ze hebben een tool voor elke technologie, maar wat ze niet hebben is context. En context is in feite de mogelijkheid om de punten tussen elke laag in de applicatiestapel te verbinden, en dit is eigenlijk relatief eenvoudig. Vroeger hadden we een beperking van twaalf niveaus, maar hebben deze in principe gewijzigd, we hebben onbeperkte niveaus en we ondersteunen gemengde omgevingen, zodat we in principe extreem ingewikkeld kunnen worden met een Precise-oplossing.

Nu, op een hoog niveau, dit is hoe we het probleem oplossen en het concentreert zich op de transactie, de eindgebruikerstransactie van klik naar schijf, vertelt ons welke langzaam lopen, welke middelen verbruiken, maar de sleutel is dit - we stellen u in staat om hun locatie op te halen en te identificeren en niet alleen de volledige transactietijd, maar ook hoeveel tijd wordt besteed aan elke afzonderlijke stap. Tijd is de valuta van de prestaties en het laat ook zien waar middelen worden verbruikt. We weten niet van tevoren waar het probleem zal zijn, dus we moeten over de juiste statistieken en analyses op elk niveau beschikken om te kunnen diagnosticeren wat het probleem is, waar het probleem zou kunnen zijn.

Nu, in de presentatie van vandaag ga ik me op dit gebied concentreren, ik wil dat je er zeker van kunt zijn dat we in principe hetzelfde niveau van zichtbaarheid bieden op elk niveau in de applicatiestack en het cruciale punt, gaat dit ons vertellen wie, wat, waar en dan dit deel, dit gaat ons vertellen waarom. En het is echt de reden waarom dat absoluut cruciaal is om problemen op te lossen, niet alleen om ervan te weten. Het andere dat heel duidelijk naar voren kwam in de presentatie was dat het onmogelijk is om dit te doen. U heeft automatisering nodig. En automatisering betekent dat je alert bent, je hebt iets dat je, hopelijk voor de eindgebruikersgemeenschap, vertelt dat je een voortdurende trend hebt, afwijking hebt opgebouwd van trendalarming. En dan bieden we ook een lijn in het zand, je overtreedt eigenlijk de SLA. Nu biedt u veel verschillende informatie - niet iedereen hoeft het buffet te consumeren, sommige mensen willen gewoon een lichte snack, dit is salade, en dus met dat we een portal aanbieden kunnen we informatie uploaden, het heeft alleen een bepaalde gebruiker nodig of de informatiebehoeften van een bepaalde gemeenschap over prestaties. De applicatie draait langzaam, het is tijd om Precise te krijgen. We gaan ons echt concentreren op vier dingen. Een daarvan is de locatie die de eindgebruiker invoert. Nogmaals, die context die de punten met elkaar verbindt, en het derde deel van onderzoek toont aan dat bijna 90 procent toepassingsproblemen in de database zitten en dus is het echt een soort travestie dat de meeste prestatieoplossingen je misschien één SQL-verklaring kunnen vertellen. Maar ze vertellen je niet waarom die SQL-instructie langzaam wordt uitgevoerd.

En dus is het waarom altijd cruciaal en Precise is uitstekend in het tonen van waarom, voor elke laag en in het bijzonder de database, en gewoon om een ​​klein beetje over onze ondersteuningsmatrix met u te delen, die we ondersteunen SQL Server, Sybase, DB2 en / of bulk. Het uiterlijk van de oplossing lijkt erg op elkaar, dus als u naar meerdere toepassingen kijkt, maar naar iets andere architecturen. De informatie die ik hier deel heeft de look en feel, de aanpak, het is hetzelfde, ongeacht de onderliggende technologieën die worden gebruikt. Nauwkeurig is web ingeschakeld. We komen binnen, we verifiëren Precise, en daarmee gaan we naar binnen en het eerste waar we naar zouden willen kijken, zijn prestaties per locatie. En dus kunt u hier de verschillende locaties zien waar mensen daadwerkelijk toegang hebben tot hun executies. U kunt zien of iemand een pagina heeft verlaten voordat deze volledig is weergegeven of dat er fouten zijn.

Een ding met deze applicaties is het netwerk of de afstand tot de applicatieserver maakt echt anders. Het is heel gemakkelijk om hier te zien dat er een bepaald netwerkniveau is. Ik kan zien wanneer mensen druk werden, en nog iets interessants, we hebben het gehad over hoe er verwerking is in de browser, ze merken eigenlijk dat sommige van de verschillende browsertypen een betere omgeving bieden voor snelle verwerking. En dus als je weet of mensen toegang hebben via Chrome of IE, of wat het ook is, kun je eigenlijk heel vaak zien dat de ene type inversie van de browser eigenlijk beter is dan de andere. Nu, soms heb je publiekelijk geconfronteerd, heb je geen controle over de browser, soms zijn de applicaties intern gericht waar je mensen een browsertype kunt aanbevelen aan je eindgebruikersgemeenschap, en dit zijn dus de soorten diepe duikzichtbaarheid en analyses die Precieze kan bieden. Nu gaan we een toepassing bekijken.

Ik weet niet zeker of jullie mijn aanwijzer kunnen zien, maar ik wilde je de bovenste grafiek beschrijven. De y-as geeft de gemiddelde responstijd weer. De x-as is de tijd over een dag. En er is eigenlijk een gestapeld staafdiagram en dat gestapelde staafdiagram, het totaal laat je zien wat de prestaties zijn en vervolgens toont het een tiering van hoeveel tijd wordt besteed in elke individuele stap of elke afzonderlijke laag van de applicatie. Van de client, via de webserver, is de green de Java, deze plaats gebruiken we Tuxedo en omlaag in de database. Nu toont de onderste helft van het scherm de verschillende webmenu's waartoe toegang wordt verkregen en we hebben vervolgens een assortiment samengesteld met slechts een kleine groene pijl die naar beneden wijst. Het is in afnemende volgorde, en het borrelt naar boven, het webmenu begint het te tonen. We tonen eigenlijk de uitvoeringstijd, de responstijd van elke afzonderlijke technologie en dan is er eigenlijk een staafdiagram voor elk van die webmenu's en krijgen we dus een idee van wat er aan de hand is. Onthoud nu dat we dit allemaal hebben gesorteerd met een eindgebruiker zou bellen, maar hoe vind ik de eindgebruiker? Ik kom hier binnen, ik open een menu, waarmee ik op een bepaalde gebruiker kan filteren, dus ik stel die gebruiker in op Alex Net, klik op OK en dan zijn we gericht op alleen de activiteit van Alex Net. Wat dit nu doet, is dat IT en IT-beheer direct kunnen reageren op een eindgebruiker en met name dat ze naar contentbeheer keken dat zes uitvoeringen had met een responstijd van iets meer dan drie seconden. Nou, drie seconden is behoorlijk goed, het is niet verschrikkelijk, maar het is misschien langzamer.

Wat ik hiermee kan doen, is dat ik deze informatie op verschillende manieren kan snijden. Ik zou kunnen zeggen, is deze transactie voor iedereen langzaam? Is het vandaag langzamer voor Alex dan gisteren? Is het langzaam voor elke gebruiker op een bepaalde locatie? Of, en wat dat doet, is dat het me in staat stelt om een ​​beetje te snijden en een idee te krijgen van wat er gebeurt, hoe universeel het probleem is en het is erg belangrijk om de eindgebruiker te kunnen identificeren, omdat het niet alleen om de software gaat, de infrastructuur, het gaat ook over hoe de eindgebruikers de applicatie uitoefenen. Vaak heb je een nieuwe medewerker of iemand met een nieuwe functie en zijn ze niet bekend met bepaalde SAP-schermen of bepaalde PeopleSoft-panelen en hebben ze een kleine wijzer nodig, misschien laten ze velden leeg of plaatsen ze jokertekens en ze ' waardoor grote resultaten moeten worden geretourneerd uit de database. Maar met de gebruikers-ID kunt u ze daadwerkelijk bellen voordat ze u bellen. Het andere dat we ontdekken, is dat als de gebruikersgemeenschap eenmaal beseft dat IT weet wat ze doen, het vaak gebeurt dat ze zich beter gedragen en veel problemen veroorzaken, veel dingen die problemen waren, gewoon een soort verdampen, omdat mensen zich gedragen, gewoon een beetje voorzichtiger werken. Ze gebruiken het systeem met meer zorg.

De identificatie van de eindgebruiker is essentieel. Uiteindelijk is het essentieel dat IT een bepaalde eindgebruiker kan helpen. Wat we hier hebben gedaan, is dat we naar het tabblad 'Flow' zijn gegaan. Je kunt dat in de linkerbovenhoek zien. En we hebben ons gericht op één specifiek onderdeel van het webmenu. En aan de rechterkant is een analyse van die specifieke transactie, en dus bovenaan is het eigenlijk de browser en vervolgens de weergave, alleen om een ​​beetje van de pictogrammen in de GUI te leren kennen, is voor de webserver, dus we kunnen het attribuutpunt zien. En dan is de "J" voor Java en de "T" is voor Tuxedo en natuurlijk is de "Q" SQL. Welnu, die contante waarde is in feite een bepaald SQL-statement. Overweeg wat dit doet. We hebben een gebruiker geïdentificeerd voor een transactie, voor de onderliggende applicatiecode, inclusief de afzonderlijke SQL-instructies. Als ik nu naar die individuele SQL-instructies kijk, zie ik dat van de totale responstijd, elk van hen verantwoordelijk is voor ongeveer zes procent, en wanneer ze de vier belangrijkste SQL-instructies optellen, namen ze ongeveer een kwart van de transactie in beslag tijd.

Nu is de database vaak het gemakkelijkst te manipuleren. Het is meestal het gemakkelijkst om een ​​goedkope, veel superieure prestatie te krijgen. Nu moet ik een beetje dieper gaan om te ontdekken wat er aan de hand is en wat ik wil dat het voorbeeld kan doen, is de individuele SQL-instructie onthullen, en weet je, ik kan je bijna garanderen bij elke afzonderlijke opname op de regel had een soort database-tool en wat de database-tool doet, maar alleen kijken naar één technologie op zichzelf, is dat je kijkt naar de focus op de gezondheid van die technologie. En vaak kijken mensen naar een top tien-lijst. Nu is deze SQL-instructie behoorlijk snel, het staat niet in de top tien-lijst, maar het is de SQL-instructie waarop deze transactie vertrouwt. En dus wat ik terug kan doen naar dat woord, context, is nu dat ik dit onder de aandacht kan brengen, maar in de context van de individuele SQL-instructie.

Nu kan die persoon Precise openen in de context van de individuele SQL-instructie, en Precise legt het daadwerkelijke uitvoeringsplan dat het gebruikt, de uitvoeringstijd die dit belangrijk is voor de DBA, zal echt blijken, je kunt zien dat 50 procent van de tijd wordt besteed aan wachten op opslag. Vijftig procent van de tijd wordt gebruikt in de CPU, dus je begint ideeën te krijgen over waar de tijd wordt doorgebracht, hoe ik die tijd zou kunnen slingeren, en het idee is om mensen opties te geven, omdat verschillende antwoorden verschillende kosten en risico's met zich meebrengen . Idealiter zoeken we de oplossing met een laag risico en een goedkope oplossing voor een probleem. Nu dat SQL-statement wordt gevolgd door een hash-waarde en er is aan de linkerkant een soort van "Tune" -knop, en wat dat gaat doen, is dat het je naar een SQL-taak brengt. En deze SQL-taak is een soort vooraf gebouwde workbench en wat dit doet, is het me in staat stelt om echt specifiek te analyseren wat de SQL-instructie beïnvloedt, beginnend met het uitvoeringsplan. Het uitvoeringsplan wordt door de optimizer gekozen wanneer de instructie wordt ontleed, dit - terug naar de voedselanalogie, het is het recept dat wordt gevolgd om de SQL-instructie op te lossen.

En sommige recepten zijn ingewikkelder dan andere, en daarom geven we bevindingen. En het zal hier feitelijk veel laten zien, hey, het doet opeenvolgende I / O op een bepaalde index. En zie nu, wanneer u teruggaat naar zuurstof, deze index volgt. Is die index onlangs gedefragmenteerd, wat is de gezondheid van als? In welke tabelruimte woont het? Is de tabelruimte gescheiden van de tabel waarnaar deze verwijst? En dus begint het je allerlei ideeën te geven over hoe je het probleem zou kunnen oplossen. Weet je, we bouwen duidelijk aan een index. Het is een stuk lager risico, een stuk eenvoudiger dan misschien een index van de ene tabelruimte naar de andere tabelruimte verplaatsen, dus wat we willen doen is een soort opbouwopties, zodat we de goedkoopste, laagste risico-optie kunnen inzetten het probleem oplossen.

Nauwkeurig kan ook dingen doen zoals het vastleggen van bindende variabelen die worden gegoten naar een SQL-instructie. Het is duidelijk dat de variabelen die worden gegoten de grootte van de ingestelde resultaten zullen bepalen. En het bepaalt hoe lang het duurt om die SQL-instructie uit te voeren en hoeveel gegevens door de toepassing via de Java, via .NET, moeten worden doorgegeven en verwerkt in de cast van de webserver plus het netwerk, uiteindelijk weergegeven in de browser van de eindgebruiker . Wat er in de database gebeurt, heeft direct invloed op die browsertijd. En dus is het cruciaal om dit niveau van zichtbaarheid te hebben, zodat we precies kunnen weten wat er aan de hand is en de DBA de meeste opties kunnen geven, zodat ze kunnen kiezen welke het meest logisch is, gegeven een bepaalde situatie.

Dit zijn enkele van de quotes en deze zijn toevallig afkomstig van een PeopleSoft-winkel die wereldwijd wordt geïmplementeerd. Precise ondersteunt PeopleSoft en SAP, Siebel, Oracle, E-Business Suite, Java en .NET-applicaties van eigen bodem. We ondersteunen dus als u webservice-oproepen doet naar meerdere JVM's, van Java tot .NET terug naar Java, kunnen we dat allemaal volgen. Het kan op locatie zijn, het kan in de cloud zijn. Het cruciale punt is dat dingen moeten worden geïnstrumenteerd.

En dus slechts een paar citaten van een van onze klanten: "Voor Precise gebruikten onze DBA's OEM, " - dat is een tool voor alleen databases en ze zeiden in feite: "Hé, de instanties zien er geweldig uit." Maar ze konden helpen een probleem met een bepaalde transactie te vertellen of aan te pakken. Nauwkeurig bood de zichtbaarheid om dat te doen. Het was dus van cruciaal belang dat de informatie over de SQL-instructies de DBA's de zichtbaarheid gaf om de prestaties volledig uit de database te persen. En dat was echt heel leuk. Soort boven en verder dan enkele van de tools die u mogelijk bekijkt.

En toen was IT-management echt dol op het feit dat Precise een complexe URL kon vertalen naar een paneelnaam. En op die manier, als een eindgebruiker oproept en zegt: "Hé, ik heb hier problemen mee", kun je isoleren en zien wie die gebruiker is, wat ze uitvoeren, wat voor soort prestaties, ze meten de weergave tijd in de browser van de eindgebruiker. Het is een echte maat voor de eindgebruikerservaring. En dus is het hebben van die gebruikers-ID absoluut essentieel om een ​​bepaalde persoon te helpen die belt.

Hoe doet Precise dit? En dus willen we onze architectuur graag delen. Nauwkeurig zou op zijn eigen server moeten leven, en live in een VM, het kan in de cloud leven. Aan de voorkant is Precise web-enabled, of u nu dashboards, de waarschuwingsinterface of de GUI van Expert gebruikt. Aan de kant van gegevensverzameling kunnen we eigenlijk agentless doen voor verschillende technologieën. Vaak hebben we echter een agent nodig, en er zijn plussen en minnen aan het hebben van een agent. Een groot pluspunt is dat de verzamelde gegevens kunnen worden verwerkt voordat deze via uw LAN worden verzonden. En dat betekent dat we de totale impact van de monitoringoplossing op de doelomgeving kunnen minimaliseren.

Overweeg nu gewoon als alternatief, als u "agentloos" bent, is er nog steeds een gegevensverzamelaar, het is gewoon een kwestie van waar het leeft, en het belt en geeft onbewerkte gegevens over de doeltoepassing via uw LAN. En het is eigenlijk best duur. En dus kunnen we door de voorbewerking de footprint daadwerkelijk minimaliseren. U kunt zowel fysiek als virtueel controleren. En een ding dat ik wilde zeggen over virtuele technologie, is dat het gebruik echt centraal staat. Waar Precise zich op richt is stelling. Wanneer minimaliseert de VMware-technologie de middelen voor uw gast-VM? En zo wordt het echt gemakkelijk. Als je alleen naar de VM binnen een gast kijkt, heb je maar een deel van de foto. In staat zijn om automatisch contentie te detecteren en te waarschuwen, is het echt essentieel.

Precise kan tot 500 exemplaren controleren, dus zeer grote implementaties hebben in principe meerdere Precise-servers. En voor een wereldwijde implementatie is het meestal een Precise-server in elk datacenter. Overigens, voor de grootste implementaties kunt u deze eigenlijk samenvoegen, zodat u bedrijfsbreed kunt kijken naar wat er aan de hand is en rapportage kan bieden, enz. Nu, zoals ik al zei, hebben we veel technische analyses. Niet iedereen hoeft de expert GUI in te gaan, dus we bieden een aanpasbaar dashboard. En elk van deze portlets of widgets, ze zijn allemaal optioneel. En iemand wil misschien gewoon gaan: “Hé, hoe kun je een waarschuwing geven op elke laag in onze omgeving? Hoe doen de eindgebruikgroepen het vanuit een prestatieperspectief? ”Of misschien heb je een vraag over de infrastructuur, misschien zelfs over Tuxedo-prestaties. Of zelfs load balancing. Het is een beetje interessant hier in dit load-balancing-gedeelte. Ik kijk naar de portlet in het midden aan de linkerkant. U kunt zien dat het aantal uitvoeringen zeer vergelijkbaar is tussen elk van de webservers. Maar de responstijd is heel anders op de bovenste. U kunt daadwerkelijk inzoomen en precies de reden achterhalen waarom de responstijd op die webserver veel langzamer was dan de andere.

Eén ding over taakverdeling, dit is erg belangrijk, en het beleid voor taakverdeling, weet u, niet elk beleid voor taakverdeling is geschikt voor elke toepassing. Het is eigenlijk heel nuttig om uw load-balancing-beleid te valideren. We zien eigenlijk met sommige applicaties zoals de nieuwe PeopleSoft Fluid GUI, waar eigenlijk sommige webservers offline gaan. En dat is iets dat echt kritisch is. Neem contact met ons op als u PeopleSoft Fluid GUI implementeert. We kunnen u veel inzicht en veel kennis bieden over wat andere klanten er mee te maken hebben gehad. Elk van deze portlets kan behoorlijk gedetailleerd zijn. Zoals midden rechts, met blauw en groen, eigenlijk het patroon van de punt van het zwaard laat zien, toont het een beetje aan dat je afvalverzameling in de WebLogic-laag loopt zoals je verwacht. Elk van deze portlets kan zeer gericht zijn of kan een zeer hoog niveau hebben. En de reden dat dat belangrijk is of belangrijk kan zijn, is vaak dat het niet goed genoeg is om deze informatie alleen binnen IT te hebben, soms moet je deze informatie delen met de eigenaren van applicaties en soms met senior management, over wat er gaande is .

Ik wilde een paar verhalen met je delen, soort van "Succes in het Datacenter." En deze zijn database gericht en ik heb andere verhalen die op de middelste laag zijn gericht. Maar vandaag wil ik me echt concentreren op de databaselaag. Laten we eens kijken naar bevriezing van het scherm. Wat hier is gebeurd, is dat deze specifieke winkel een zakelijke SLA had, dat als een bestelling vóór 15.00 uur wordt ontvangen, de bestelling die dag wordt verzonden. En dus is het magazijn in die periode extreem druk. En toen het scherm vastliep, was het erg frustrerend. En dus de supervisor - dit is een kleiner bedrijf - de supervisor kwam IT binnen en ging natuurlijk naar de DBA en zei: "Nu, wat is er aan de hand?" En wat we deden, konden we precies laten zien wat was er aan de hand. Nu is dit JD Edwards, een toepassing met meerdere lagen, dit is het scherm met de verkooporder. U kunt een idee krijgen van wat het bedrijf was, eigenlijk een just-in-time inventaris, en dus kijkt u in feite naar magazijntoepassingen. En nu verzend je in principe naar een aantal verschillende klantensites, verschillende winkels. En wat we deden is dat we Precise hebben geopend.

Nu in dit geval, voordat we naar Oracle keken, kijken we hier naar SQL Server, en nu toont de bovenste helft ons een gestapeld staafdiagram van waar de SQL-instructies hun tijd doorbrengen tijdens het uitvoeren. Elke zwakke toestand wordt op de y-as verklaard. De x-as is natuurlijk in de loop van de tijd en je kunt zien dat de gestapelde staafdiagram van het tijdsbestek verandert, afhankelijk van wat er wordt uitgevoerd en hoe het systeem wordt gebruikt. Nu hebben we ons in dit specifieke geval gericht op de derde SQL-reeks van boven. Het heeft de tekst SELECTEER VAN PS_PROD en je kunt in die kolom zien dat we het daadwerkelijke uitvoeringsplan hebben vastgelegd. En u kunt het hele aantal uitvoeringen zien. Het feit dat die specifieke SQL-instructie verantwoordelijk was voor 9, 77 procent van het bronverbruik tijdens dit tijdsbestek waar we naar kijken - en dat is een belangrijk punt, het tijdsbestek, Precise houdt een doorlopende geschiedenis - en dus kan ik in principe inbellen en ontdek wat er op een bepaald tijdstip of in de tijd is gebeurd. Ik kan trending bekijken.

Nu deze SQL-instructie, zie je die gestapelde staafgrafiek daar, het is donkerblauw. Dat zegt dat we alle CPU's gebruiken. Laten we doorgaan en ons concentreren door op deze knop "TUNE" te klikken op die specifieke SQL-instructie. Wat we doen, is dat we het meenemen naar die workshop, een vooraf gebouwde workshop die is ontworpen om te zeggen: "Wel, wat gaat de DBA weten over deze specifieke SQL-instructie?" En u ziet aan de rechterkant een tabblad met de naam " Geschiedenis 'die is geselecteerd. En wat ik graag zou willen dat je nu doet, is een soort verschuiving naar de linkerkant waar staat "Veranderingen versus duur gemiddeld", gemiddelde duur. En elk van die balken vertegenwoordigt gebeurtenissen per dag.

U kunt zien op woensdag, donderdag, vrijdag, de uitvoeringstijd was, ik ga naar punt twee afronden. De y-as toont punt vier seconden, dus punt twee. Zeer weinig scherm loopt vast, bewerkingen verlopen prima, in de SLA. Helaas veranderde op 27 februari het uitvoeringsplan en dat veroorzaakte een onmiddellijke verandering in de uitvoeringstijd. Plots gaat de uitvoeringstijd omhoog, vier X, misschien vijf X, en dingen lopen echt slecht. Nu Precieze, in zijn repository worden in feite alle veranderingen bijgehouden die van invloed kunnen zijn op het gedrag. En u kunt hier zien dat we eigenlijk veranderingen in het asvlak hebben vastgelegd. De middelste zegt "Tabelvolume gewijzigd." En dus groeien de tabellen en staan ​​we precies op het punt, wanneer de SQL-instructie wordt geparseerd, kiest de optimizer één uitvoeringsplan of een ander uitvoeringsplan.

Gelukkig is het deze week hier op maandag flip-flop, dus het was op een goed moment. Helaas draait het weer om, en weet je, de eindgebruikers verwachten dat het scherm bevriest en ze beginnen dat scherm opnieuw in te dienen en ze voeren de uitvoering steeds verder op. We hebben een enorme hoeveelheid details, maar om dit probleem op te lossen en het in de toekomst te voorkomen, hebben we nog een stukje informatie nodig. En dat wordt mij getoond onder de vergelijking van die uitvoeringsplannen. Op 5 maart, toen het snel en efficiënt was, toont het aan de linkerkant het uitvoeringsplan. Toen het op 12 maart langzaam en inefficiënt was, kun je zien dat het een filter-join uitvoert. De filterkoppeling dwingt gewoon veel meer CPU-verbruik af en doet veel meer werk. Het resultaat is identiek, het doet gewoon veel meer werk. Het is alsof je je voorraden één ingrediënt tegelijk krijgt, in plaats van naar de voorraadkast te gaan en alle ingrediënten tegelijk te krijgen. En dus is er een efficiëntere manier om dit te doen. Nu dit meestal bekend was, was de DBA in staat om het queryplan te gebruiken om dit trage uitvoeringsplan te vermijden en snelle, hoge prestaties vast te leggen.

Het volgende soort oorlogsverhaal was 'Rapporten zijn laat'. Ik denk dat veel mensen zich met dit scenario kunnen identificeren. Je hebt misschien ad hoc rapportage, je zou een tool zoals NVISION kunnen gebruiken, je zou een rapportagetool van derden kunnen hebben. En wat er gebeurt is dat de tool de SQL ontwikkelt. En vaak is de SQL niet zo goed gecodeerd. En dit kan ook van toepassing zijn op een situatie waarin, weet je, een toepassing van derden is, juist, waar de SQL niet in-house is geschreven, en dus als een DBA: "Ik heb geen controle over de SQL, wat ga ik er iets aan doen? ”Nou Precise biedt iets dat ik niet ken van een ander database-tool en dat is een objectweergave. Gecombineerd met aanbevelingen en modellering. En dus kunnen we het zicht eigenlijk op zijn kop zetten. Laten we niet alleen kijken naar activiteit, maar onderzoeken, welk object is het zwaarst op het systeem? En in het onderste gedeelte van het scherm ziet u de orderregel SQL en ziet u de kolom 'in MS-SQL'. En de orderregelentabel is tien keer drukker dan elke andere tafel in het systeem. Ik denk dat wat je ook zult zien in de bovenste helft, de ruimtetoewijzing groeit en je kunt ook naar de specificaties op de server kijken welke versie van software we gebruiken. Nauwkeurig controleert feitelijk bijgehouden wijzigingen in de primaire instellingen. Nogmaals, oorzaak en gevolg.

Nu ik me op de orderregelentabel concentreer, kan ik met mijn gedetailleerde historische repository de SQL-instructies die tegen de orderregelentabel ingaan, daadwerkelijk correleren. En u kunt beginnen met het kijken naar de waar-clausule in die SQL-instructies. En je begint op te merken dat de Where-clausule vrij vergelijkbaar is tussen de verschillende SQL-instructies. En ik zou je willen voorstellen dat je in je opnamesysteem hetzelfde zult vinden. Omdat de zakelijke gebruikers, de bedrijfsanalisten dingen willen gaan doen zoals geaggregeerde bedrijfsactiviteit gedurende de laatste dag, de laatste week, de laatste maand, het laatste kwartaal, het laatste jaar. Je zult zeer vergelijkbaar zien waar clausules, gesorteerd op, gesorteerd op, en dat betekent dat er bepaalde indexen zullen zijn die logisch zijn voor die SQL-instructies.

En dus heeft Precise een aanbevelingsengine, dat zie je in de rechterbovenhoek, en wat we kunnen doen is eigenlijk aanbevelingen krijgen. Zeg: "Hé, ik gebruik alle SQL-instructies, welke indexen zouden deze kunnen adresseren?" De indexen worden aan u gepresenteerd en u kunt de DBL zien. Nu is Precise alleen-lezen, het biedt niet de mogelijkheid om op een knop te klikken en de index te maken, maar dat is gemakkelijk genoeg om te doen buiten Precise. Maar hier is het cruciale punt, met Precise kunt u de wijzigingen evalueren en modelleren, dus er is deze knop Evalueren in de linkerbenedenhoek van het scherm. En wat dat doet, is het toont de SQL-instructies in de voor en na.

Laten we deze SQL-instructies eens bekijken. Ziet u deze kolom hier met de tekst 'in MS-SQL' en een uur, vier minuten? Die top-SQL-instructies voeren ongeveer 64 minuten aan bronnen uit. En de verwachte verbetering is 98 procent. Met deze wijzigingen wordt de verwerkingstijd bespaard. De volgende SQL-instructie is 27 minuten en bespaart in principe een derde. Dat is ongeveer tien minuten verwerken. Samengevat gaat u feitelijk uren en uren verwerking besparen door deze voorgestelde wijzigingen. En dus dit van tevoren kunnen weten, dit kunnen modelleren. Je kunt ook de "what-if" -mogelijkheid gebruiken om te zeggen: "Wel, ik wil die index niet maken, of wat gebeurt er als ik de volgorde van de kolom verander?" En dus kan ik deze modelleringsmogelijkheid gebruiken om erachter te komen wat er precies gaat gebeuren.

Het andere dat van cruciaal belang is, is dat ik bij het aanbrengen van de wijziging daadwerkelijk een individuele SQL-instructie kan meten. U zag de SQL-instructiehistorie in het vorige voorbeeld en ik kan daadwerkelijk controleren of ik de besparingen heb gerealiseerd die zijn gemodelleerd. En zodat feedback, het voltooien van de feedbacklus, absoluut cruciaal is.

Oké, hier is het laatste voorbeeld dat ik voor je zou krijgen. Dit is een SAP-winkel en, weet je, ze waren voor een grote upgrade gegaan, ze deden wat dingen met aangepaste transacties en in feite was een eindgebruiker niet tevreden met de prestaties. En dus hebben we ons kunnen concentreren op wat die eindgebruiker heeft ervaren. En u kunt bovenaan de lijst "KIES" zien en de responstijd is iets meer dan 61 seconden. Dit ding duurt een minuut om uit te voeren. Nu kunt u zien dat we een gestapeld staafdiagram hebben dat is afgestemd op SAP. Aan de rechterkant toont het de tijd van de klant, de wachttijd. Het blauw is de applicatietijd en in een SAP-omgeving, dat is ABAP-code en vervolgens de database. En dus, de database, weet je, het kan Oracle zijn, het kan SQL zijn, het kan HANA zijn. Dat kunnen we in principe laten zien.

Wat we nu met Precise doen, is dat we ons voor die transactie en die gebruiker concentreren op welke SQL-instructies er uitkwamen. Nogmaals, die context om de punten te verbinden. Nu deze SQL-instructie, je kunt zien dat het omcirkeld is, het wordt uitgevoerd in twee milliseconden. Je kunt de database echt niet de schuld geven als deze zo snel wordt uitgevoerd. Aantal executies is erg hoog. Eigenlijk kunnen we teruggaan naar de ABAP-coder en zeggen: "Hé, wat is er aan de hand?" We ontdekten eigenlijk dat de code in de database op de verkeerde plaats was geplaatst, zich op de verkeerde plaats in de lus nestelde, maakte de veranderen en daarna kunnen we meten. Je kunt echt zien waar de voorstelling naar op zoek is. Niet alleen op het niveau van de SQL-instructies, maar ook op het niveau van de aangepaste code. En dus konden ze leven met een executietijd van vier en een halve seconde. En dus zijn dit slechts een paar voorbeelden van hoe Precise mogelijk wordt gebruikt, u kunt het gebruiken. Net als een snelle samenvatting, toont Precise de prestaties op locatie, op basis van de eindgebruikers-ID, en biedt context door de applicatiestack. Je kunt inzoomen op de hoofdoorzaak. En ik denk dat een van de grote onderscheidende factoren is om te weten, niet alleen de SQL-instructie, maar ook waarom de SQL-instructie traag is, de stelling te identificeren en in feite meer opties te bieden voor het oplossen van problemen. Dit is wat Precise te bieden heeft en u kunt ons consumeren, weet u, op een lichtgewicht manier of als u zeer diepe, zeer uitdagende problemen hebt, wij nemen deze ook graag op.

Eric Kavanagh: Oké, ik moet zeggen dat dat veel fantastische details was, Bill. Bedankt voor het tonen van al die screenshots. En vanuit mijn perspectief heb je echt voldaan aan wat ik aan het begin van het uur uitlegde, namelijk nummer één dat je het juiste gereedschap nodig hebt. Je moet een tool hebben die je de hoeveelheid context geeft die nodig is om alle elementen in de vergelijking te identificeren, zoals iemand ooit in een film zei, dat was best grappig. Maar laat me doorgaan en het overhandigen aan Dez omdat ik wed dat hij wat vragen voor je heeft en ik wil nog een van deze dia's pushen alleen voor visuele snoep, als je wilt. Ik ben eigenlijk, wacht even, laat me dit terugnemen. Maar Dez, ik weet zeker dat je wat vragen hebt, haal het weg.

Dez Blanchfield: Ja, dat doe ik, wauw. Deze tool heeft een lange weg afgelegd sinds ik hem oorspronkelijk kende en ik wist niet dat je nu echt zo diep in de stapel kwam. Het is gewoon verbijsterend. Gewoon heel snel, een paar dingen. Met het implementatiemodel kunt u gewoon heel snel, in een paar minuten, gewoon het traditionele of typische implementatiemodel schetsen. U zei dat het beschikbaar was als een virtuele machine. Het kan in de cloud worden uitgevoerd. En ik denk dat een van de vragen die waarschijnlijk zal opkomen, en ik denk dat er een paar vragen zijn doorgekomen in de Q & A-sectie. Om ze samengevat samen te vatten, dus het normale implementatiemodel en het type as dat nodig is, wordt het traditioneel lokaal geïmplementeerd of gehost of in de cloud? Wat zijn de typen implementatiemodellen die u normaal ziet? En welk type as is nodig om dat soort dingen te laten werken? Moeten we dingen veranderen op beveiligingsniveau rond netwerktoegang, enzovoort? Of kan dit zich gewoon als eindgebruiker gedragen?

Bill Ellis: Ja, dus de meeste installaties zijn op locatie. Meer en meer mensen plaatsen componenten van de applicatiestack in de cloud en dus kunnen we dat ook aan. De implementatie waar we een server voor nodig hebben, deze zal aan bepaalde specificaties voldoen. We hebben een database nodig om de historische repository op te slaan, dus het voldoen aan die vereisten is een soort van de eerste stap. Het volgende is dat we absoluut enige kennis van de toepassing zelf moeten hebben en dat de installatie door een wizard wordt aangestuurd en in feite de lege plekken opvult. Vanwege de diepgaande informatie die we krijgen, weet u, van een webprocesniveau tot de code die wordt uitgevoerd, moeten we enkele privileges hebben. We hebben een veilig datamodel, oftewel een beveiligingsmodel, moet ik zeggen, omdat de agenten werken met referenties die volledig gescheiden zijn van mensen die de metagegevens over de transacties gebruiken, enz.? Nauwkeurig communiceert via TCP via IP en daarom moeten bepaalde poorten open zijn. Als een snel voorbeeld, zoals onze standaardpoort 2702. Dat soort gedetailleerde dingen is iets als mensen geïnteresseerd zijn, we kunnen hier meer in detail op ingaan. Maar meestal zijn we erg snel in waarde. Als iemand met een groot probleem wordt geconfronteerd, kunnen we het ding vaak geïnstalleerd krijgen en binnen een paar uur een helder licht schijnen op een situatie.

Dez Blanchfield: Ja, dat gevoel heb ik zeker ook. In het implementatiemodel sprak u over een zeer grote schaal en maximaal 500 exemplaren en hoe dat zou kunnen worden gefedereerd. Op het allereerste instapniveau, hoe ziet het eruit als iemand dat wil - omdat ik weet dat IDERA erg groot is in het geven van toegang tot gratis proefversies, gratis demo's, en ik herinner me dat ik op de website met bijna alles kon worden gespeeld. Voor mensen hier, en ik denk dat ik het eerder heb gemist, maar ik denk dat er een vraag is ontstaan ​​over hoe een typische site eruit ziet en hoe mensen hier toegang toe krijgen en ermee beginnen te spelen en dat type krijgen van ervaring waar ze kunnen zien of ze een manier hebben om sommige prestatieproblemen aan te pakken? Kunnen ze een ODS downloaden en draaien op hun hypervisor, Hyper-V of laptop of hebben ze een speciale machine nodig om het te laten draaien? Je hebt eerder de architectuur geschetst, maar heel kort, in een minuut of twee, hoe ziet dat eruit voor de inzet op instapniveau om bijvoorbeeld een proof of concept te doen?

Bill Ellis: Ja, dus ons model is een beetje anders dan de IDERA-tools. We passen meer in het Embarcadero-scenario waar u contact wilt opnemen met een van onze verkopers. We willen gewoon met u bespreken wat de uitdagingen zijn en dan zouden we, meestal, een van de SE's toegewezen krijgen en in principe de installatie met iemand doornemen. Normaal gesproken zou u Precise niet op uw laptop uitvoeren. U wilt een VM of een server in het datacenter waar de applicatie staat, om de collecties te doen. Maar we helpen u bij elke stap daarvan. Als iemand hierin geïnteresseerd is, wil je absoluut contact opnemen met IDERA.

Dez Blanchfield: Een van de andere dingen die me opviel was dat, ik bedoel, veel van wat we vandaag hebben besproken, gaat over het reageren op prestatieproblemen. Maar het leek me dat, en in live omgevingen zoals mensen ze gebruiken, dus, als je eerste diavoorstelling, iemand de telefoon oppakt en zegt: "Applicatie is traag, help." Maar het viel me op dat tijdens het uitbrengen van applicaties of upgrades of nieuwe patches en fixes, u zou een hele reeks capaciteitsplanning en stresstests kunnen doorlopen en Precision de hele omgeving kunnen bekijken en daadwerkelijk problemen vinden voordat u zelfs eindgebruikers in de omgeving plaatst. Is dat een use case die je eerder hebt gezien of doen mensen dat ook zo, of is dat geen typische use case?

Bill Ellis: Absoluut, we zouden ook Precise willen gebruiken tijdens de hele ontwikkelingscyclus van de applicatie of de upgrade levenscyclus. Nauwkeurig biedt een schaalbaarheidsweergave, het toont het aantal uitvoeringen bedekt met de responstijd. Het is duidelijk dat als zowel het aantal uitvoeringen als de responstijd samen groeien, je niet schaalt en je iets moet doen. Dat soort dingen heeft enorm geholpen. Ik denk dat het nu iets minder waar is, maar toen mensen productie-applicaties op VMware begonnen te zetten, waren ze een beetje terughoudend en het was alsof je in eerste instantie zou zeggen: "Oh we moeten dit verplaatsen naar fysiek. ”En wat we eigenlijk kunnen doen, is laten zien wat het bronverbruik is, zodat u de applicatie efficiënter kunt maken. Bij elke stap van de levenscyclus van de applicatie wilt u absoluut Precise gebruiken. Maar ik zou moeten zeggen dat productie echt is waar prestaties het belangrijkst zijn en Precise is gericht op 24/7 productiebewaking en dus wilt u uw productietoepassingen echt niet zonder zichtbaarheid uitvoeren.

Dez Blanchfield: Absoluut. Nog een andere snelle vraag alleen over die specificatie - dieptetest, immigratie, UAT enzovoort - ik bedoel, het is geweldig om deze tool te hebben en ik stel me voor dat app-ontwikkelaars hier absoluut toegang toe zouden willen hebben tijdens de levenscycli van de ontwikkelingscyclus . Met de meer complexe architecturen die u nu ziet, zijn we overgestapt van toegewijde service naar virtualisaties en virtualisatie, we gaan nu over naar het soort, u weet wel, adoptie van outsource naar cloud hosting en we zien ook een overgang naar containerisatie. Heb je veel mensen dit zien inzetten en het soort regio's of zones modelleren, dus iemand misschien - en in Australië hebben we een heel groot probleem rond privacy en ik weet dat het in Europa hetzelfde is en ik denk dat het meer een zaak wordt in de VS, waar gegevens die me persoonlijk kunnen identificeren, vaak in een veiligere omgeving moeten zijn dan de daadwerkelijke applicatielaag naar de weblaag. En dus hebben we deze implementaties nu waar mensen hun database en hun applicatiespullen intern kunnen houden, maar ze kunnen hun weblaag en hun bezorging einde en applicatie enzovoort in een cloudprovider zoals Azure of, of Amazon Web Services en software plaatsen . Hoe werkt dat met uw normale implementatie? Is dat een geval dat je net een andere verzameling verzamelaars in de regio hebt en ze verzamelen gewoon wat meer? Hoe ziet dat eruit in de Precise-wereld in de hedendaagse bimodale benadering van IT-beheer van oude legacy-zaken op één plek en uw goederen bevinden zich soms in de cloud?

Bill Ellis: Ja, dus we ondersteunen een gemengde omgeving. Een ding om te overwegen is dat er verschillende contracten zijn met de cloudproviders. Sommigen van hen staan ​​geen enkele agent of externe controle binnen de cloud toe. Om met Precise te installeren en te bewaken, moet u een type contract hebben dat dat soort toegang mogelijk maakt. Er zijn zeker een aantal beperkingen waar we ons soms doorheen moeten werken en dat zijn dus belangrijke criteria waaraan u moet denken als u, denk ik, eerst die contracten tekent en vervolgens en / of als u Precise moet inzetten.

Dez Blanchfield: Ja, ik heb een aantal gevallen gezien dat zelfs met een traditionele databaseomgeving als je dat als onderdeel van de service aanbrengt, met name met Azure, zoals je HDInsight of SQL als een aanschaft dienst, als platform, kunnen je gebruikelijke tools alleen zo diep duiken omdat ze niet echt zo graag willen dat je kijkt naar wat er onder de motorkap ligt. En dus krijg je een soort niveau of diepte waar je naar kunt kijken en ineens kun je gewoon niet zien achter het magische gordijn. Is zelfbediening iets? Is dit van oudsher iets dat zou lopen in een netwerkverwerkingscentrum waar het technische team, de mensen onder de CIO alleen toegang tot zouden krijgen, of is dit ook iets waar u eindgebruikers toegang toe kunt geven? Misschien niet noodzakelijkerwijs de receptie en traditionele HR- en financiële mensen, maar meer slimme gebruikers die bezig zijn, weet je, zoals bijvoorbeeld datawetenschappers, actuarissen, statistici, mensen die echt zware werklasten doen. Is het een geval dat ze toegang kunnen krijgen tot een soort selfservicetoegang om te zien wat er gebeurt als ze deze zware vragen uitvoeren en waar de pijn opkomt, zodat ze een beetje kunnen afstemmen hoe hun werklast verloopt?

Bill Ellis: Er is een behoorlijk goede beveiliging binnen Precise, zodat je gebruikers kunt instellen met verschillende toegangsniveaus. Op zeer eenvoudige niveaus bieden alleen de dashboards overzicht. En dan, binnen de, weet je, als iemand de Expert GUI wilde ingaan, kun je een beetje beperken wat ze kunnen zien en wat ze kunnen doen. En terugkerend naar je vorige vraag dat, weet je, in de gezondheidszorg je alle HIPAA-wetten hebt en dus zijn er zeker enkele overwegingen en er zijn eigenlijk enkele implementatie-opties zodat we ermee kunnen werken in beide omgevingen. Een ding om te overwegen met de gegevens die je in deze presentatie hebt gezien, is dat het allemaal metagegevens over prestaties zijn, niet de inhoud van de tabellen, weet je, en dus het gaat echt niet om, soort van, dat soort van privacybezorgdheden.

Dez Blanchfield: Ja, dat vond ik wel leuk. Ik had een eureka-moment over je vierde of vijfde dia van het scherm en ik realiseerde me dat je alleen prestaties trekt, niet alleen, maar je trekt prestatiegegevens, je haalt dingen, zoals je zei, metadata uit de verschillende niveaus van de stapel, je kijkt eigenlijk niet naar de inhoud. En ik denk dat dit interessant is, omdat het een van die tools is waarmee je het voor een korte periode kunt inzetten en kijken naar wat er in de omgeving gebeurt, maar je hoeft geen toegang te hebben tot de gegevens zelf. Je kunt zelfs kijken naar de manier waarop de bemanningen worden bestuurd. Het laatste, denk ik, gewoon snel, en dan geef ik het terug aan Eric, dus als je een vraag hebt, laat dan Rebecca afronden, je zei eerder dat de overhead nominaal is, het is een geval dat het zelfs een opvallende overhead van de controle van dingen en alleen maar kijken naar de achtergrond of is het zo'n verwaarloosbare hoeveelheid overhead dat het gewoon niet de moeite waard is om te overwegen?

Bill Ellis: Ja, dus ik denk dat op de databaselaag, weet je, elke technologie een beetje anders is. Op de databaselaag staat Precise erom bekend dat het de laagste overhead verslaat. Op de middelste laag is er, weet je, er is een soort evenwichtsoefening, weet je, het is niet alleen precies, het gold voor iedereen, in termen van zichtbaarheid en overhead. En dus is een van de dingen die we bieden een aantal geavanceerde tools om te controleren wat de overhead is. We zijn ontworpen voor productie en, weet je, het is absoluut nuttig om zoveel problemen in de wieg te leggen wat betreft ontwikkeling en QA, maar weet je, er gaat niets boven weten wat er gebeurt in de productie.

Dez Blanchfield: Eric, tegenover jou, heb je nog laatste vragen?

Eric Kavanagh: Ja, ik zal alleen maar zeggen dat ik denk dat je goed hebt aangegeven dat context echt de sleutel is en het is bijna alsof we op weg zijn naar dit tijdperk van het internet der dingen, je wilt alles geïnstrumenteerd. En ik denk dat de standaard in de productie nu is om dat te doen, wat goed nieuws is, toch? Omdat u informatie uit al deze verschillende omgevingen wilt kunnen verzamelen en aan elkaar wilt plakken. En ik denk dat ik het gewoon aan u zal overgeven voor enkele vervolgopmerkingen. Dat is waar jullie op gefocust zijn, het bieden van een visuele interface waardoor een analist, in wezen een IT-analist, kan volgen en analyseren wat er in deze complexe omgeving gebeurt en vervolgens uitzoeken wat er moet veranderen. Omdat het niet alleen een hulpmiddel is. Je moet de tool hebben, maar je hebt die persoon nodig die in dat detail gaat duiken en de antwoorden vindt, toch?

Bill Ellis: Ja, ik zie het eigenlijk als boven aan de top en prioriteit geven aan waar de meeste terugkoop is, weet je? Als het blijkt is het een andere situatie omdat niet elk probleem in de database zit. Als de database, weet je, dingen in een tiende van een seconde worden uitgevoerd, maar op de applicatielaag duurt het drie seconden, dat is waar de meeste terugkoop is. En dus soort van het kunnen isoleren van de probleemlaag en dan wat er binnen de laag gebeurt om echt te focussen op waar de terugkoop is. Dat versnelt echt de resolutie en de optimalisatie van de applicatie en het is zo veel sneller en zo veel beter en zo veel leuker dan mensen die in een vergaderruimte bijeenkwamen en zeiden: "Ik ben het niet, het moet iemand anders zijn."

Eric Kavanagh: Dat klopt. Ik zag laatst een geweldige meme die zoiets zei als: "Wees geïnformeerd, niet alleen eigenzinnig." Je loopt een vergadering binnen, je hebt de informatie, je kunt naar de gegevens wijzen. Dat is de sleutel en we komen er, godzijdank. Oké mensen, we gaan door en sluiten af, maar we archiveren al deze webcasts om ze later te bekijken. Voel je vrij om het op elk moment te bekijken. We vermelden nu al onze webcasts, de Hot Tech-serie en de Briefing Room-serie op Techopedia.com, dus spring online en bekijk die mensen. Daarmee gaan we u vaarwel zeggen. Bedankt voor je tijd vandaag, Bill. Dank aan jou en al je harde werk, Dez. En we zullen de volgende keer met je praten, mensen. Wees voorzichtig. Tot ziens.

Applicatie draait langzaam? tijd om precies te worden