Applicatieplatform congres 12 & 13 maart

Slides:



Advertisements
Verwante presentaties
Defining a standard JSON-based exchange format for learning metadata Manon Haartsen.
Advertisements

Update on EduStandard: public-private platform in Dutch education Henk Nijstad, Kennisnet / november 2013.
HM-ES-th1 Les 9 Hardware/Software Codesign with SystemC.
Waitstats 2005/ april Wat gaan we doen? • Even voorstellen • Performance problemen • Een veel gebruikte aanvliegroute • Wat zijn waitstats.
Hoe SQL injection werkt
Een alternatief voorstel Naar aanleiding van bestudering van de IAASB voorstellen denkt de NBA na over een alternatief. Dit alternatief zal 26 september.
Social Technographics Hoe ontwikkel je een succesvolle social media strategie? Reineke Reitsma Director, Consumer Technographics Forrester Research 11.
Internet College 2 Architecturen. Architectuur van netwerktoepassingen •Peer to peer –Windows werkgroep •File- en printer sharing •Internet connection.
Datawarehousing in het groot
Smart Style on the Semantic Web Lynda Hardman CWI, Multimedia and Human-Computer Interaction TU/e, Multimedia and Internet Technology.
1 Co-Design at Chess-iT Guus Bosman. 2 Afstuderen bij Chess Net.Footworks tot augustus 2003 Afstuderen augustus 2003 tot maart 2004 Chess full-time vanaf.
Service Coordination Protocols ● Noodzaak (Eddy) ● Coordination protocols (Eddy) ● Infra-structuur (Eddy) ● WS-Coordination (Eddy) ● WS-Transaction (Pepijn)
Oracle Exadata Migraties.
Mario Broodbakker SQL Server Wait Events Mario Broodbakker
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 8(1): Het Operating.
QAD Reporting & Analytics
Lucene/SOLR 1: inleiding + indexering
SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.
Biml en Data Vault.
SQL Server 2012 Top 10 new features.
Vaardig? Een spectrum aan vaardigheden! Van informatie- naar media- naar exploratievaardig? Of e-Research & e-learning literate? Collaboration literate??
Nieuwe wegen in ontwerpen met CAD
Use Case Modelling Summary
Faculteit Ingenieurswetenschappen & Wetenschappen Software Engineering Publicatie Management Systeem Groep se1 Software Engineering Thierry Coppens.
SQL injections en meer... PERU. web application vulnerabilities Cross Site Scripting (21.5%) SQL Injection (14%) PHP includes (9.5%) Buffer overflows.
Inleiding Databanken: oefeningen
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Basis 4.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen.
1 FLOWer Referenties Functionaliteit: Componenten Role model Data handling model Demonstratie Studio en Beheeromgeving Architectuur en integratie UWV architectuur.
Enterprise Application Integration Walter Moerkerken Ilona Wilmont Integratie Software Systemen 8 mei 2006.
Algoritmiek Arrays: wat zijn dat en wat kun je ermee? Loops: hoe hou je ze in bedwang? Hoorcollege 6 - Ma. 9 okt L.M. Bosveld-de Smet.
DSpace-gebruikersdag 9 maart 2006 WildFire ● WildFire is ontwikkeld door Henk Druiven, Rijksuniversiteit Groningen Met dank aan Johannes Nicolai en al.
1Ben Bruidegom A Harvard Machine Calculator Calculator  Computer.
Client Management met ConfigMgr Jannes Alink – Management.
IOP and Vrije Universiteit1 Example of bad interface  Windows: Use Start to Stop.
3.6 Architecture of HIS. 3.7 Integrity & Integration within HIS Suraja Padarath /10/2007.
Netwerk Algorithms: Shortest paths1 Shortest paths II Network Algorithms 2004.
Hibernate Object relational mapping
HOM - COM Ledenvergadering 08 / 10 / Easeus-Partition-Master- Home-Edition Link software: Master-Home-Edition/ _4-
1 Van Harvard naar MIPS. 2 3 Van Harvard naar MIPS Microprocessor without Interlocked Pipeline Stages Verschillen met de Harvard machine: - 32 Registers.
Tussentoets Digitale Techniek. 1 november 2001, 11:00 tot 13:00 uur. Opmerkingen: 1. Als u een gemiddeld huiswerkcijfer hebt gehaald van zes (6) of hoger,
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  D3EEMS1  programmed I/O: de.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  herhaling ARM assembler instructies.
Geheugen, distributie en netwerken Netwerken: de basis voor distributie van gegevens en taken (processen) –bestaan zo’n 40 jaar, zeer snelle ontwikkeling.
Reducing memory penalty by a programmable prefetch engine for on-chip caches Presentatie voor het vak computerarchitectuur door Armin van der Togt.
Organizing Organization is the deployment of resources to achieve strategic goals. It is reflected in Division of labor into specific departments & jobs.
1 Over het examen (1): Modus Mondeling met schriftelijke voorbereiding 4 uur, 3 onderdelen: –Modellering (  schriftelijk, dan mondeling) –Queries / relationeel.
Deltion College Engels B1 Gesprekken voeren [Edu/005] thema: applying for a job can-do : kan een eenvoudig sollicitatiegesprek voeren © Anne Beeker Alle.
Deltion College Engels B1 En Spreken/Presentaties [Edu/007] Thema: Soap(s) can-do : kan met enig detail verslag doen van ervaringen, in dit geval, rapporteren.
Geo-tracking in de praktijk. Geo-tracking in de praktijk Nico Van de Weghe 28/04/12 DEPARTMENT OF GEOGRAPHY Geomatics ‣ 3D Data Acquisition ‣ CartoGIS.
Writing exercise This one goes into your language portfolio!!! You have until the end of the week to hand it in… (So you have a little longer than it says.
ACE Case Oracle 11g Release 2 voor ontwikkelaars Rob van Wijk 17 november 2009.
1 december KC Development Tools Hands-on Oracle HTML DB v2.0.
DSpace-gebruikersdag 9 maart 2006 WildFire ● WildFire is ontwikkeld door Henk Druiven, Rijksuniversiteit Groningen Met dank aan Johannes Nicolai en al.
Rational Unified Process RUP Jef Bergsma. Iterations –Inception –Elaboration –Construction –Transition De kernbegrippen (Phases)
© Shopping 2020 TITLE Date Subtitle Logo Gastheer Logo Voorzitter.
Link Popularity Het principe van linkpopulariteit kun je als volgt samenvatten: hoe meer webpagina's er naar een bepaalde webpagina linken, des te belangrijker.
Usability metrics Gebruiksvriendelijkheid ISO Effectiveness Efficiency Satisfaction Learnability Flexibility En nu? Inleiding Hoe gaan we de gebruiksvriendelijkheid.
Het geheim van Linked Data Marcel ReuversGeonovum CB-NL 20 november 2014.
Computervaardigheden Hoofdstuk 4 — Databank (Basis)
2 August SQL Les August Agenda Herhaling Herhaling Cursors Cursors MS SQL Server and MS Excel MS SQL Server and MS Excel Oefeningen.
1 KPN Mobiel – Introductie Repository Object Browser & Designer 10 Designer 10g & Repository Object Browser Maandag 28 februari 2005 Lucas Jellema (AMIS)
SQL Performance Analyzer Inschatten performance impact van wijzigingen Bram van der Vos
Performance Tuning SSIS packages
G-CLOUD SHAREPOINT USER GROUP
SQL Les February 2019.
SQL Les 7 24 February 2019.
SQL Les 9 12 May 2019.
SQL Les May 2019.
Chapter 1: Introduction
G Project Sponsor & Business Lead : Anna Stamp & Jane Johnston
Transcript van de presentatie:

Applicatieplatform congres 12 & 13 maart Peter ter Braake TrainSQL

SQL Server Monitoring en Tuning Peter ter Braake

De praktijk Gebruiker Hij doet het niet DBA Hij is traag

Performance Optimization Model Server Tuning Locking Indexing Query Optimization Schema Design

Schema design Slecht ontwerp = slechte performance ! Normaliseren / Denormaliseren Generaliseren / specialiseren Ster (Snowflake) File / Filegroups Hardware (SAN, RAID) Partitioning Views, sprocs, functions SQL Server 2008: Filestream Sparse columns Compression App(s) Workload DB

Symptomen Veel IO Hoog memory verbruik Hoog CPU gebruik Veel locking WAITS

Performance Optimization Model Server Tuning Locking Indexing Query Optimization Schema Design

What Is Query Logical Flow? The Query Logical Flow Diagram Non-aggregate query Result Set From & Join Where Order By Select Aggregate query Rows Result Set Result Set Grouping and Aggregation Having Order By Cost Based Optimization Statistics

Query plans Data Retrieval operators: Join operators Table scan Index scan Index seek Row ID Lookup Join operators Nested Loop Join Merge Join Hash Join

Query optimization Favor set-based logic Test query variations Avoid query hints Use correlated subqueries EXISTS i.p.v. join Avoid user-defined functions in WHERE clause Use table-valued functions as derived tables Avoid unnecessary GROUP BY columns Gebruik subquery als mogelijk Use CASE expressions Divide joins into temporary tables DW / partitioning?

Index architecture Heap Clustered index Nonclustered index Ongesorteerd, ongestructureerd Clustered index Gesorteerd, B-Tree, leaf level bevat volledige records Telefoonboek Nonclustered index Gesorteerd, B-Tree, leaf level bevat verwijzingen Studieboek

Tools Management Studio: DMV Execution plans Set statistics IO Set statistics time Client Statistics DMV Sys.dm_??? Sys.dm_db_index_physical_stats Sys.dm_exec_query_plan …

Show execution plan DEMO

Indexing Index strategie bepaald door Standard reports Grote database Verdeling data Workload (type queries en aantal gebruikers) Standard reports Performance Dashboard (Missing indexes) Profiler Database Engine Tuning Advisor

Tips Gebruik Covering indexes Grote tabellen: Vanaf SQL Server 2005: INCLUDE keyword Vanaf SQL Server 2008: filtered index Grote tabellen: Partitioning Gebruik temp tables Vergelijk queries met Show Execution Plan Database Engine Tuning Advisor Sys.dm_db_missing_index_columns

Performance Optimization Model Server Tuning Locking Indexing Query Optimization Schema Design

Concurrency A - Atomicity C - Consistency I - Isolation D - Durability

Locking and Blocking Locks Locking hints Isolation Levels Shared Exclusive Locking hints ReadPast Nolock … Isolation Levels Read Committed Read Uncommitted Repeatable Read Serializable Snapshot Read Committed Snapshot

Symtomen en tools Deadlocks Time outs Slechte respons tijden Non consistent reads Current Activity Monitor Standard reports (server + database level) Performance dashboard (waits) Performance monitor Profiler

Locking DEMO

Tips Check Wait stats on blocking Overweeg Snapshot isolation Let op TempDB READ_COMMITTED_SNAPSHOT SNAPSHOT Voorkom deadlocks, benader objecten in vaste volgorde

Performance Optimization Model Server Tuning Locking Indexing Query Optimization Schema Design

Tools Zeggen helemaal niets zonder referentiekader (= baseline) Gevaar schuilt in overkill Eerst denken, dan verifiëren / uitsluiten

Tools SSMS, execution plans Current Activity Monitor Standard Reports Performance Dashboard Reports Dynamic Management Views / Functions Performance Monitor Profiler Database Tuning Advisor SQL Server 2008: Performance Data Collector

Enkele Disk IO counters Object Counter Waarde Opmerkingen Physical Disk Avg Disk Reads/sec < 8 > 20 is slecht, < 20 is ok, < 12 is beter, < 8 is beste Avg Disk Writes/sec < 8 or < 1 Zonder cache: > 20 is slecht, < 20 is ok, < 12 is beter, < 8 is beste Met cache > 4 is slecht, < 4 is ok, < 2 is beter, < 1 is beste % Disk Time < 90 Tijd dat disk bezig met read/write Avg. Disk Queue Length < 2 Aantal read/write requests dat gemiddeld in de wacht staat. Kleiner dan 2 per spindle Current Disk Queue Length Aantal read/write requests dat nu in de wacht staat. Kleiner dan 2 per spindle

Enkele Memory counters Object Counter Waarde Opmerkingen Memory Page Faults / sec < ? Aantal reads dat niet in de buffer cache gevonden wordt Available Mbytes > 100 Beschikbare physical memory in computer voor processen SQL Server: Memory Manager Memory Grants Pending ~0 Aantal processen dat wacht op geheugen Page Life Expectancy >=300 Aantal seconde dat een page in het geheugen blijft zonder gebruikt te worden voordat hij wordt geflushed SQL Server: Buffer Manager Free List Stalls/sec < 2 Frequentie waarmee verzoeken voor buffers moeten wachten wegens gebrek aan buffers Page reads/sec (Page writes/sec)) Zo klein mogelijk houden (meer cache, betere indexen, efficientere queries, beter db ontwerp)

Operating System Object Counter Waarde Opmerkingen Paging %Usage <70% % van de pagefile dat momenteel gebruikt wordt Processor % Processor Time <= 80% Hoe hoger, hoe groter de kans op wachttijden. % Privilege Time < 30% van % Processor Time Tijd gebruikt voor Kernel requests zoals IO Process(sqlservr) < 80% Tijd besteed aan SQL Server System Processor Queue Length < 4 < 12 per CPU is ok, < 8 is beter, < 4 is beste

Enkele SQL Server Counters Object Counter Waarde Opmerkingen :Access Methods Forwarded Records/sec < 10 Forwarding pointer gebruikt: < 10 per 100 batch requests/sec. Page Splits/sec < 20 Aantal Page splits: < 20 per 100 batch requests/sec. :Databases Log Growths/sec; Percent Log used < 1 and <80%, resp Beheer proactief :SQL Statistics Batch Requests/sec ? Eigen baseline: > 1000 is veel. Compilations/sec;Recompilations/sec < 10% of batch requests/sec ; Recompilations < 10% of compilations/sec :Locks Deadlocks/sec < 1 Profiler, code aanpassen.

Tip: SQL Server 2008 introduceert Resource Governor Resources toekennen op basis van connection information via Classifier Function Resource Groups Resource Pools Alleen indien nodig

Wat nog mist … … is het belangrijkste van allemaal … … want 80 zegt mij helemaal niets … … zonder referentie! BASELINE

Wat is Performance Data Collector? Framework om diagnostische informatie te Verzamelen Op te slaan Analyseren Bestaat uit tools voor Verzamelen van data zonder hoge kosten Opslaan van de gegevens Reporting Ingebouwd in Server, aanspreekbaar door API’s Ter vervanging van third party monitoring tools, want flexibeler?

Componenten Data Provider Informatiebron zoals T-SQL queries, SQL Trace, PerfMon counters, logs, … Collector Type Package die informatie haalt uit een Data Provider Collection Item Instantie van een Collector Type Bepaalt input (welke counters, kolommen, …) met welke frequentie Collection Set Logische groepering van Collection Items Definiëren via .NET API of T-SQL Management Data Warehouse

Built-in collection sets Disk Usage Disk usage voor alle databases Query Activity Interessante queries (per cpu, time, IO) Caches sys.dm_exec_query_stats Server Activity Wait states, memory, performance counters

Management Data Warehouse 3 schema’s Core – Organizing and Identifying collected data Snapshot – Store data for system data collectors Custom_snapshot – Store data for 3rd party data collectors Groeit (bij standaard gebruik) met 250 – 350 MB per dag! Plaats op aparte server

Zelf collection sets maken: USE MSDB EXEC dbo.sp_syscollector_create_collection_set EXEC dbo.sp_syscollector_create_collection_item @name=N'CPU pressure check', @parameters= N’ <xml definition> ’, @collection_item_id=@collection_item_id_4 OUTPUT, @frequency=5, @collection_set_id=@collection_set_id_1, @collector_type_uid=@collector_type_uid_3 … EXEC sp_syscollector_start_collection_set

Performance Data Collector demo

Performance Optimization Model Server Tuning BASELINE Locking Indexing Pro Actief Beheer Query Optimization Schema Design

De praktijk Gebruiker Hij doet het niet wel DBA Hij is traag nooit

Peter ter Braake TrainSQL@live.nl Bedankt Peter ter Braake TrainSQL@live.nl