Konsten att lyckas med prestandatester

Slides:



Advertisements
Liknande presentationer
Varför är det viktigt att mäta?
Advertisements

Kvalitetssäkrad leverans i Maximoprojekt
Ncg | sweden om | navigator xlreport Oskar Kristiansen
Domarassistenten.com - en introduktion för domare
Migrera befintliga system till Windows Azure
Kvalitetssäkring av grunddata
© 2013 IBM Corporation Pure Data for Analytics (Netezza) David Rådberg BigData Sales SWE.
Anders Månson David Danielsson
Frågor Allmän IT-kunskap avsnitt 1 kapitel 1 Repetition 4
Smartare administration i Quality Center HUGS 3 april 2008 Jan Czajkowski
”Ett sätt att distribuera Business Objects via webben”
Översikt av operativsystem (kap 1 & 2)
2I1070 Lektion 2 KTH-MI Peter Mozelius Servlets och databaskopplingar.
Kort beskrivning av ftp-arkivet Nuvarande ftp-arkiv Edge server SAN Volume Controller SANFS Trafiksiffror Ftp över IPv
Bo Linde Solution Specialist EPM Microsoft AB Project Server.
receptbok coriq Allt du behöver för att lyckas
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev Värnamo Tel: Epost: Databasteknik 2.
Examensarbete En central telefonitjänst för talaradaption med lagring och nedladdning till olika applikationer.
NETinfo 2009–10-09 Magnus Persson Epost: Telefon: 046 –
MOM - HUR DU FÅR FULL KONTROLL MED PROAKTIV ÖVERVAKNING Nicklas Axelsson Konsult Qbranch.
Next previous Lite mer om CGI-programmering Innehåll Vad är CGI? Vad är Forms? Vad är Perl? Forms, CGI och Perl Internetprogrammering F 14 Läs också: Kursboken.
Introföreläsning CS Om publiceringssystem, lektion ett.
Lojalitetssystem för Hallunda Centrum
Distribuerade filsystem
En introduktion till Datakommunikation och Säkerhetstänkande
Databaser i B2KUNO Johan Eklund. Hur går jag vidare? Avancerade tillämpningar:  Analysera data  Generera information Utveckla följande färdigheter:
InterSession hos H&M. Utöver det vanliga... -Inbyggd TN3270 server / klient -Inbyggd web server (3270 i webläsaren) -IP printer support -Sysplex support.
WEBMASTER DAG 13 Mahmud Al Hakim
Praktisk databasdesign (kap 12)
i olika programmeringsspråk
Stora IT-dagen E-post Nytt e-postsystem för LU-anställda.
Framsteg AB Plenum 2 Framsteg breddar Maximoerbjudandet med hjälp av molntjänster Henrik Nyström Affärsområdesansvarig Underhållssystem Framsteg.
Användning av IBM Tivoli-produkter
1 Windows Azure Mikael ÖstbergTorkel Ödegaard. 2.
ASP.NET MVC4 + NoSQL = Major Awesomness. IoC Container.
APM APPLICATION PERFORMANCE MONITORING En översikt och några komma igång produkter på marknaden idag. Christian Gerdes LIGHTS IN LINE AB.
Att lyckas med produktionssättning av Ladok3
Dalsland DATUM UTBILDNING I E-TJÄNSTBYGGAREN.
Folksams resa mot en centraliserad övervakning
Business Intelligence
1 Geoteknisk sektorsportal - datainfrastruktur för tillgång till geotekniska undersökningar Huvudstudie Bengt Rydell och Mats Öberg, SGI SKL referensgrupp.
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Operating Systems Networking for Home and Small Businesses – Chapter.
FRÅGEUTVECKLING INOM MSSQL Marcus Medina. Dagens visdomsord ” Det är inte vad som händer dig som räknas – utan hur du reagerar på det. ” - Epiktetos.
Mottagning och produktionssättning av nya Ladok
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord “Det verkar alltid omöjligt tills dess att det är gjort” Nelson Mandela.
FRÅGEUTVECKLING INOM MSSQL Marcus Medina. Dagens visdomsord ” Exercitatio artem parat ” (Övning ger färdighet) - Tacitus, Germania 24.
Java servlets och databaskopplingar
Föreläsning 11 J-uppgiften. Nästa period ägnas åt J-uppgiften. Den är individuell, dvs man jobbar på egen hand med uppgiften (inte tillsammans med labbkompisen).
Microsoft Small Business Specialist. Microsoft har lanserat ett initiativ för partners som arbetar med småföretag. Fördelar för dig som partner är att.
FRÅGEUTVECKLING INOM MSSQL Marcus Medina. Dagens visdomsord ”Kunskap kan vara tung att inhämta men är sedan lätt att bära.” - Okänd.
Pass 3 Allmän IT Mjukvara IT-samhället Datasäkerhet Ergonomi
Microsoft Visual Studio och.NET Framework, idag och imorgon! Robert Folkesson
Vad är GeoBas? Intergraphs svensk-utvecklade system för
F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare.
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord ” Oavsett om du tror att du kan, eller om du tror att du inte kan, har du helt rätt. ” -
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( )‏ Innehåll:  Introduktion till Java EE (Enterprise Edition)  Enterprise Java Beans.
Windows Vista: Administration Maria Johansson 10 nyheter som gör livet som administratör lättare.
Moderna affärssystem - Systemutvecklarens roll -
Testdatahantering Utvärdering och införande av verktygsstöd.
I NFÖR PRODUKTIONSSÄTTNING AV NYA L ADOK Malin Zingmark 4 juni 2015.
THE START OF THE ERP STORY
Öppen frågestund Den 29 mars 2017.
Öppen frågestund Den 4 maj 2017.
Helhet och allsidighet
IT Databas Göran Wiréen
Om publiceringssystem, lektion ett
Om publiceringssystem, lektion ett
Välkommen Presentation av tillståndskontrollsystem
Presentationens avskrift:

Konsten att lyckas med prestandatester Jan-Ove Holmqvist jove@validate.se 08-5900 45 88 Arbetat med prestanda tester sedan 1995 Som konsult sedan 2000, Validate 2005 Med LoadRunner sedan 1996 Bakgrund datakommunikation och protokoll Programmering och databaser

Presentation Workflow (Hur lång tid tar det) Vad är Loadrunner bra på Vad kan verktyget användas till Vilka problem kan upptäckas och hur Workflow detaljerat Vanligaste problem när du testar Vanligaste prestandaproblemen Små enkla tips

Workflow ny applikation / system Systemtest Acceptanstest Start Produktionsverifiering Stopp Prestandatest Kartläggning Förberedelser Produktion Analys/Rapport Tumregel Tidsåtgång 4 veckor

Workflow befintlig applikation / system Tumregel Tidsåtgång 3 veckor

Vad är LoadRunner bra på ? Mäta svarstider Mäta transaktioner per tidsenhet Generera verklighetstrogna simuleringar av ”trafik” Stöd för många olika protokoll Många monitorer Analyshjälp Diagnostics j2ee, dotNet och SAP Wan-simuleringar

Widest Application Support ERP/CRM SAP Oracle Siebel PeopleSoft WEB HTTP(S) XML Citrix ICA SOAP WAP MIDDLEWARE EJBs CORBA COM RMI MQSeries DATABASES Oracle MS SQLServer DB2 ODBC LEGACY 3270 5250 VT100 PROTOCOLS Clients Internet/Intranet Web Server App. Server Database Use for a LR Sale for Why LoadRunner? LoadRunner has the widest application support of any automated performance testing solution in the market. Not only do we support web solutions and ERP/CRM, but we also support all the common databases, middleware and legacy solutions out there. LoadRunner can monitor the entire system from the OS to the Network, the custom or packaged application itself and even the database. PERFORMANCE MONITORS Windows Unix Linux OPERATING SYSTEMS NETWORK SNMP WAN Emulation WEB SERVERS MS IIS iPlanet Apache APP SERVERS BEA WebLogic IBM WebSphere ATG Dynamo iPlanet App Server JAVA EJB JDBC JSP Sitraka JMonitor Databases Oracle MSSQL Server DB2

Transaction Breakdown Total Transaction Response time Diagnostics Transaction Breakdown (J2EE, Oracle, Siebel) Transaction Breakdown DB Breakdown Web Server App. Server Database The Transaction Breakdown module is one of the holy grails of LoadTesting. Because it takes an end to end transaction response time and breaks it down in to the various areas the transaction time was spent. For example we can tell you exactly how much time was spent in the network, in the database and the application server. Further, within the application server, we can drill down and split the response time across EJBs, JSPs, JNDI and JDBC and down to a method level. The reason this is so valuable that previously a load tester could simply tell a developer or architect that the application was slow. Now they can pinpoint the particular method that is causing the application slowness in the context of a particular business transaction. It eliminates guesswork and accelerates time to resolution. Whenever you sell to a WebLogic or WebSphere environment, you should look to sell this additional module. Total Transaction Response time Web Server Time App Server Time Database Time JSP SWE Scripts Workflow Objects Beans Methods Connection SQL Execution

Vad mer kan vi använda LR till ? Generera testdata Bakgrundslast vid funktionstester Simulera nättrafik Regressionstester Prestandatesta hårdvara och nätkomponenter Testautomation utan GUI (Enkelt GUI kommer) Till BAC (Business Availability Center)

Vad kan vi upptäcka med LR Samtidighetsproblem ”Flaskhalsar” Applikationer som kraschar, stannar eller delvis slutar fungera Minnesläckor Skalbarhetsproblem

Kartläggning Insamling Se till att få Krav (svarstider, samtidiga användare framtidsplaner) Funktionskarta Miljökarta test och produktionsmiljö Intervjua (utvecklare, arkitekter, driftpersonal m.fl.) Användningsfall och/eller affärsprocesser (BPT) Krav på testdata (Volymer) BAC beteenden och tider från produktion Analyser från loggbearbetning produktion Systemloggar (volymer) Se till att få Godkänd uppdragsbeskrivning (BeslutsPunkt)

Förberedelser Att göra Se till att Testspecifikation och planering (förväntat utfall) Kontrollera miljö och nätverk (bandbredd loggdisk) Användarflöden (max 3 per applikation i systemet) Synkronisera klockorna på inblandade komponenter Provkör script:en (pre tester 1,10vu i minst 15min) Koda utskrifter till vu loggen och controllern (status) Verifiera monitorer Ta fram godkännande parametrar för varje körning (tex. Antal sidbyten, antal SQL, antal flöden per sekund och loggvolymer m.fl.) Se till att få godkänd testspecifikation (BP) få ”fryst” kod innan prestandatesterna börjar boka ev hjälp att monitorera delar av miljön

Prestanda Test Att göra under test Efter godkänd körning Monitorera så många ingående komponenter som möjligt Kontrollera svarstider, flöden per sekund under körning Kontrollera loggar Kontrollera utfört arbete (t.ex. antal genomförda köp) Kontrollera minnesutnyttjande Efter godkänd körning Spara undan alla loggar och testen Verifiera att testen genomfördes på rätt sätt Efterarbeta tex. Accessloggar och jämför med förväntat utfall Se till att få Godkända körningar

Rapport Att dokumentera Att utföra Resultat av varje godkänd körning Hur väl kraven uppfylls De resultat som kan användas som jämförande punkter nästa gång Referenser till insamlat materiel Kommentarer till avvikelser Att utföra Avrapportering av del- eller testresultat Ev. uppföljning av produktionssättning

Workflow ny applikation / system Systemtest Acceptanstest Start Produktionsverifiering Stopp Prestandatest Kartläggning Förberedelser Produktion Analys/Rapport Tumregel Tidsåtgång 4 veckor

Vanliga problem Försök att anpassa testerna eller eliminera problemen Överlast eller sned last För klen testmiljö Brist på testdata (både funktionellt och databas) För små volymer i systemet som ska testas Funktioner kan bara användas en gång Alla komponenter finns inte i testmiljön Beroenden till externa system Felinställda nätverksportar (full/halvduplex) Delar nätverk/servrar med andra system Kodändringar under testperioden Säkerhetslösningar och brandväggar Försök att anpassa testerna eller eliminera problemen

Prestandaproblem Databaser Skapar nya connections hela tiden (pool) Använder inte bindvariabler (parsning av SQL) För små volymer i databasen Saknar index ”Glömmer bort vad jag frågade” (cache om möjligt) Full tabel scan ( inte select * from) Object to SQL mappning (mapping tools is that they provide an abstraction of the underlying database engine) MS storedprocedure ska inte börja på ”sp” (systemprocedure) Titta på ”waits”, SQL och ”connections” i databasen Använd storedprocedure för frekventa SQL:er

Prestandaproblem (forts.) Nät Brandväggar (regler) Lastdelare SSLacceleratorer och contentswitchar (tappade sessioner) WebbCache:ar (gamla sidor visas)

Prestandaproblem (forts.) Applikation Sessionshantering för systemet (blir utslängd) Cache mekanismer i systemet (vid uppdatering eller visar gammal information) System och applikations pooler (”Flaskhalsar”) Synkronisering i kod (”Flaskhalsar”) Inbyggda skyddsmekanismer. (dos attacker m.fl.) Minneshantering java (GC) Transaktionsmekanismer (MessageQueueing) De ger ofta långa svarstider

Tips Försök att efterlikna verkligheten, en användaren gör inte alltid rätt Göra fel i scripten (ex logga inte ut) Testa felsituationer i redundant miljö Fokusera test och script mot den funktion/komponent du vill testa Använd userdefined datapoint Försök att skapa ”egna” titthål (be utvecklarna att skriva ut interna poler, svarstider mm på htmlsidan. Du kan tex. skapa räknare (storedprocedure) i databasen som LR kan anropa direkt eller via en webbserver Du kan göra egna logfiler som LR kan accessa via en webbserver

Tips (forts.) VUgen Använd ett mallscript Använd Zipfiler för scripten då kan du versionshantera dessa. Använd lr_vuser_status_message och lr_output_message i scripten. Använd lr_get_attrib_string för att använda parametrar ifrån runtime settings. Använd web_global_verification för tex. error felmeddelande m.fl. Använd siffror i början av transaktionsnamn för att lättare sortera dessa i flödesordning Använda VirtualTableServer (VTS), för att under körning kunna förändra vissa värden

Exempel från ”the real life” En normal test av IB Ett fel upptäckt med Diagnostics

Frågor ? Ett mall script finns att få