Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
PublisertLinn Hanssen Endret for 5 år siden
1
Progress ytelsesoptimalisering ”The need for SPEED” Bent Olsby
2
Hvem er vi Største Progress konsulenthuset i Norge
9 Progress konsulenter Til sammen 130+ år med Progress erfaring Erfaring fra Progress V2 1986 5 .NET konsulenter med god sertifisering , Side 2
3
Database med Type II Storage Areas Antall samtidige klienter
Hvem er dere ? Erfaring Roller Databasestørrelse Antall databaser Database med Type II Storage Areas Antall samtidige klienter , Side 3
4
Agenda Sikkerhet Behov for økt ytelse Identifisere flaskehalsene
Effektive tiltak – kost / nytte Optimalisere eksisterende ressurser Ny maskinvare Databasetuning Oppgradere Progress Applikasjonstuning Verktøy Index Kodeoptimalisering Sikkerhet Store og forretningskritiske systemer har ofte ytelsesutfordringer og behov for å økt ytelse.
5
Behov for økt ytelse 24 timers tilgjengelighet
Vekst - økt bruk, nye oppgaver Applikasjonen oppleves som treg av brukerne Økt effektivitet hos medarbeidere Applikasjonen tilgjengeliggjøres på Web Ny rapportmodul settes i drift, Uttrekk til datavarehus Callsenter med brukere med behov for rask respons Besparesle med rask respons, motiverte medarbeidere
6
Identifisere flaskehalsene
Finnes det tydelige flaskehalser? Disk CPU Minne Nettverk Programmene… (flaskehals eller ueffektive) For mange oppgaver som skal utføres
7
Optimalisere eksisterende ressurser
Disk / database Bruke tilgjengelige disker AI, BI, DB (.st) Checkpoints, APW, AI / BI blocksize Type II Storage Areas, Database BlockSize (1, 4, 8K), ClusterSize, 64-Bit CPU Flere CPUer / tråder (Enterprise lisens) –spin, apw, aiw, biw Shared Memory Tilgjengelig minne –B (anbefalt ca. 10% av databasestørrelsen), –B2 Batch / bakgrunnsrutiner, WebSpeed, Appserver - komprimering Klient Temp Directory, Størrelsen på nettverkspakkene, Buffers for Temp-Table, Temp-Table BlockSize
8
Ny maskinvare CPU ytelse øker med ca. 60% i år
Minne ytelse øker med < 10% i år DISK ytelse øker med ca. x% hvert 10 år. Flere spindler (disker) gir økt ytelse Lokale disker DAS – Direct Attached Storage SAN – Storage Area Nettwork SSD – Solid State Drive RAID (1+0 for databaser pleier å være best for ytelse)
9
DatabaseTuning Beregne Records pr. Block (RPB) for alle tabeller
Beregne Blocks pr. Cluster (BPC) på hver tabell Flytte alle tabeller og indexer til tilpassede Type II Storage Area basert på RPB og BPC (- ikke etter ’logisk’ innhold ex. OrdreData, KundeData osv.) Index legges i Area med 1 RPB, og tilpasset BPC Vurdere å sette Create / Toss limits (pr. tabell) (endret ca. i 10.0B?) ODBC – Update STATISTICS, Husk Comit Type II SA gir % ytelsesøkning RPB gir X faktor, og ytelsesøkning er relativt varig. Dump / Reload gir god ytelsesøkning, men er ikke varig
10
Database struktur #ProDbMagic 2.16 ( ), Copyright ProVentus - Bent Olsby, # *** Structure file for the New Unsized DB m3_info # Use this to add the new areas to existing database - without setting a size on the area # # b . # a . # d "Schema Area":6,32 . d "Data_004_512":25,4;512 . d "Data_016_008":27,16;8 . d "Data_032_064":29,32;64 . d "Data_032_512":31,32;512 . d "Data_064_008":33,64;8 . d "Data_064_064":35,64;64 . d "Data_064_512":37,64;512 . d "Data_128_008":39,128;8 . d "Data_128_512":41,128;512 . d "Data_UnOptimized":43,256;1 . d "Data_Unused":45,256;1 . d "Index_008":85,1;8 . d "Index_064":86,1;64 . d "Index_512":87,1;512 . d "Index_UnOptimized":88,1;1 . d "Index_Unused":89,1;1 . , Side 10
11
Sammenlikning - databasetuning
, Side 11
12
Ytelse før/etter databasetuning
Databaseserver , Side 12
13
Ytelse før/etter databasetuning
Klient , Side 13
14
Ytelse før/etter databasetuning
Nettverk , Side 14
15
Promon Activity - Sampled at 01/27/10 11:34 for 0:30:27.
Event Total Per Sec Event Total Per Sec Commits 27243 14.9 Undos 0 0.0 Record Updates 32542 17.8 Record Reads Record Creates 25177 13.8 Record Deletes 1069 0.6 DB Writes 7969 4.4 DB Reads 959.8 BI Writes 6843 3.7 BI Reads 9 0.0 AI Writes 5548 3.0 Record Locks 192.2 Record Waits 0 0.0 Checkpoints 3 0.0 Buffs Flushed 0 0.0 Rec Lock Waits 0 % BI Buf Waits 0 % AI Buf Waits 0 % Writes by APW 90 % Writes by BIW 50 % Writes by AIW 91 % Buffer Hits 99 % DB Size 69 GB BI Size 400 MB AI Size 134 MB FR chain blocks RM chain 20 blocks Shared Memory 13680M Segments 1 4 Servers, 104 Users (48 Local, 56 Remote, 40 Batch),5 Apws , Side 15
16
Oppgradere Progress Progress optimaliserer programkoden - som gjør at eksisterende applikasjon kjøres raskere De fleste nye databaserfunksjoner kommer KUN for Type II Storage Areas (Clusters, BufferPool B, 64bit RowId) Ta i bruk tilgjengelig / ny funksjonalitet Type II Storage Areas 32 / 64 bit Progress –B, –B2 Online Index Compact After Image Archiver Replication Plus – avlaste queries, rapporter, backup Enterprise lisens Alle nye forbedringer ifbm. Databasen kommer kun ifbm. Type II Storage Areas
17
Applikasjonstuning - Verktøy
Profiler (udokumentert) $DLC/src/samples/profiler Profiler.PPT Start via .pf -OUTFILE C:\profiler\perfmon.out -LISTINGS C:\profiler -DESCRIBE "Index evaluation“ ABL Assign profiler:description = ”Index Eval " + wUser profiler:directory = ”d:\temp\profiler” profiler:file-name = profiler:directory + "pd-" + string(today)," ”) + ".out” profiler:coverage = false profiler:listings = false /*true*/ profiler:enabled = true profiler:profiling = true.
18
Applikasjonstuning - Teknikk
Loggfiler – måle tidsforbruk på kall AppServer WebSpeed PROVENTUS LogAnalyzer - OO Oppstartsparametre -NL (eneste parameter som forandrer syntax) –zqil… , Side 18
19
Applikasjonstuning – Teknikk
XREF – Compile time logging Dynamiske queries og Matches vises ikke korrekt –zqil FOR EACH customer WHERE custnum = 15. DISPLAY customer EXCEPT comments. END. Viser følgende i databaseloggen (db.lg) : 23:13:11 Usr 5: ==INTERNAL Compiled Query Resolution Method: Query No. 3== (6135) 23:38:17 Usr 5: LEAF (1848)FGE (1848)INDEX EQUALITY (6154) This is classified as a Find Greater than or Equal to (FGE) query. Index 12 is used (Custnum) 1 component was used to match the low end 1 component was used to match the high end of the query This is an EQUALITY query.
20
VST _Connect - Cache (10.1c)
_Connect-CacheInfo Contains tracing information; this field includes: * A — Extent 1 contains the fully qualified ABL program. * R — Each extent contains a fully qualified ABL program name. Only the most current 32 program names are returned. _Connect-CacheLineNumber Contains line numbers; this field includes: * A — Extent 1 contains the line number of the current ABL program. * R — Each extent contains the line number of the fully qualified ABL program name. Only the most current 32 program names are returned.
21
Skrive Optimal ABL programkode
Applikasjonstuning Skrive Optimal ABL programkode Index Plukk data med rett index Kodeoptimalisering For Each / Find No-Lock / Share-Lock FieldList ifbm. LOB Delete Transaksjonsstørrelser No-Undo Temp-tables, variabler Bruke Schema-cache filer (på klient) Vurdere Procedure Library
22
Sikkerhet Ta i bruk After Image!!! Lett å sette opp
Lav kostnad i drift Kostnad i ytelse 2-3 % = Stor grad av sikkerhet Prostrct add sports sports_AI.st Proutil sports enable ai, Backup / marked backup eller Probkup online sports enable AI AI Archiver kopiere/arkivere til ”DropZone” Backup + AI (+.st) = 100% oppdatert database
23
Ytelsesoptimalisering
Tuning og ytelsesoptimalisering er en kontinuerlig prosess, og ikke en oppgave som en gjør ferdig ”en gang for alle”. , Side 23
24
Spørsmål ?
25
Presentert av BENT OLSBY konsulent / consultant Progress utvikler og konsulent siden Februar 1986 Progress V2 Proventus AS Storgaten 33 B, N-0184 Oslo, , Side 25
26
, Side 26 Teknologi for optimale prosesser
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.