SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
SQLSaturday #251 – Paris 2013SQLSaturday #251 – Paris 2013
SQL Server Hi Perf
Boostez vos IOs avec les solution Fusion-IO
SQLSaturday #251 – Paris 2013
Présentation
 Christophe LAPORTE
 ~15 ans d’expérience sur SQL Server
 Haute disponibilité
 Montée en charge
 Virtualisation
 Optimisation
 Blog : http://conseilit.wordpress.com/
 Twitter : @Conseilit
 Remy Menager
 Sales Engineer
 http://www.fusionio.com
SQLSaturday #251 – Paris 2013
Agenda
 Situation actuelle au pays des IO
 Anatomie et mathématiques
 Les bonnes pratiques
 Et malgré tout … de la latence
 Une solution …
 Principes
 Architectures proposées
 Questions / réponse
SQLSaturday #251 – Paris 2013
Anatomie d’une base de données
Database
Primary
MDF
File
Groupe(s) de fichiers pour les données utilisateur
NDF
File
NDF File
Ext
64KB
Extension : 64KB
8K 8K 8K 8K 8K 8K 8K 8K
LDF
File
Pages de données
SQLSaturday #251 – Paris 2013
Pages de données
m_nextPage
m_prevPage
Liste chainée
SQLSaturday #251 – Paris 2013
Démo – Montre moi un IO
SQLSaturday #251 – Paris 2013
Pour les curieux …
 1 er extent système
1ère Extension / fichier
Page 0
File
Header
Page 1
PFS
Page 2
GAM
Page 3
SGAM
Page 4
Unused
Page 5
unused
Page 6
Diff
MAP
Page 7
ML
Map
SQLSaturday #251 – Paris 2013
Principales causes de lenteurs
 Verrouillage
 RCSI / SI
 Hekaton
 PageLatch
 Index Cluster
 Table partitionnée
 CPU
 Probablement une conséquence
 Disque
 ASYNC_IO_COMPLETION, IO_COMPLETION,
PAGEIOLATCH_xx, WRITELOG, BACKUPIO
SQLSaturday #251 – Paris 2013
Les disques, encore les disques
 Vitesse - quelques chiffres
 Ram : 6 ns = 6 x 10-9 sec
 CPU à 3,5 GHz : 10-9 sec
 HDD rotatif : 7 ms = 7 x 10-3 sec
 1 000 000 de fois plus lent !!!!
 1 IO prends autant de temps que 1 000 000 cycle CPU
 SSD : 50 µs = 10-6 sec
 1 000 fois plus lent que RAM
 1 000 fois plus rapide que HDD rotatif …
 ≈ escargot (0,0275 m/s) et guépard (28 m/s)
http://fr.wikipedia.org/wiki/Ordre_de_grandeur_(vitesse)
SQLSaturday #251 – Paris 2013
IOPS
 Disque rotatif (15K)
 Seek time : 4 ms +
 Rotation latency : 2 ms
 => 6 ms avant de commencer un IO
 => 1000 / 6 = 166 IOPS
 Méthode de calcul simple
 IOPS = 1 / (Seek Time +(30/RPM) )
 Ex disque 10K : 1 / (0,004 + (30/10000)) = 142
 http://www.wmarow.com/strcalc/strcalc.html
SQLSaturday #251 – Paris 2013
Bande passante
 Bande passante :
 Ecriture aléatoire de page de 8KB
 200 x 8KB = 1600 KB / 1024 = 1,56 MB/sec
 Lecture séquentielle d’extensions (64KB)
 100 MB/sec < Bande passante < 170 MB / sec
 Problème
 Besoin d’IOPS en écriture
 Ex : 5000 IOPS / 142 IOPS = 36 disques !!!
 => Agrégation de disques = RAID
SQLSaturday #251 – Paris 2013
Parlons peu, parlons RAID
 Raid 0
 Raid 1
 Raid 5
 Peu courants
 Raid 2
 Raid 3
 Raid 4
 Raid 6
 Raid Combinés
 Raid 10 (1+0)
 Raid 01 (0+1)
 Raid 05 (0+5)
 Raid 15 (1+5)
 Raid 50 (5+0)
 Raid 51 (5+1)
http://fr.wikipedia.org/wiki/RAID_(informatique)
SQLSaturday #251 – Paris 2013
Si vous n’aimez pas les chiffres
SQLSaturday #251 – Paris 2013
Taille des bandes – Stripe Unit Size
 Le plus performant : Stripe Size = 64KB ?
 Testez …
Stripe Size 2MB
Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext
Stripe Size 1MB
Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext
Stripe Size 512KB
Ext Ext Ext Ext Ext Ext Ext Ext
Stripe Size 256KB
Ext Ext Ext Ext
Stripe Size 128KB
Ext Ext
Stripe Size 64KB
Ext
SQLSaturday #251 – Paris 2013
Alignement des disques
 Plus nécessaire depuis Windows 2008
 Attention aux migrations
 wmic partition get BlockSize, StartingOffset,
Name, Index
 StartingOffset / 65536 => résultat entier
SQLSaturday #251 – Paris 2013
Tailles des blocks
 64KB conseillés pour SQL Server
 Déterminé au moment du formatage
SQLSaturday #251 – Paris 2013
DISKPART > List disk
DISKPART > Select disk 3
DISKPART > create partition primary align=64
DISKPART > assign letter=G
DISKPART >Exit
format /fs:ntfs /A:64K /V:“DataSQL" /Q G:
Alignement et formatage - Demo
SQLSaturday #251 – Paris 2013
Quelques règles à suivre
 Bien choisir le niveau de RAID
 Les “64”
 Stripe Unit Size
 Partition Offset
 Block Size
 Un résultat de type entier pour
 Partition Offset / Stripe Unit Size
 Stripe Unie Size / File Allocation Unit Size
 Séparer Data et Log
 Isoler la base TempDB
 Tester le sous système disque
SQLSaturday #251 – Paris 2013
Le temps de réponse du disque
 Latence
 Définition
 Mesure
 Quel niveau de performance attendre:
 Data Files
 < 10 msec Idéal
 10 –20 msec Acceptable
 > 20 msec Pb à résoudre, bottlenecks probables
 Log Files
 < 5 msec Idéal
 5 –10 msec Acceptable
 10 –15 msec Investigation nécessaire
 15 –20 msec Evolution compromise
 > 20 msec Pb à résoudre, bottlenecks probables
SQLSaturday #251 – Paris 2013
Démo – latence fichier
SQLSaturday #251 – Paris 2013
Une solution …
SQLSaturday #251 – Paris 2013
Création
David Flynn
FY 2006
Premiers
drivers
FY 2007 CA : 1 M$
Commercialisation
des premières
solutions
1 million d’IOPS sur
1 seul serveur
FY 2008
CA : 10 M$
Steve Wozniak
nommé CSO
FY 2009 CA : 36 M$
Des dizaines de
milliers de
cartes installées
FY 2010
FY 2011
CA : 197 M$
Introduction au
NYSE (FIO)
FY 2012
CA : 380 M$
R&D : 1 Milliard
d’IOPS
ioMemory SDK
110 Po vendus
FY 2013
CA : 432 M$
>7 000 clients
900 employés
Stockage
partagé ION
Acquisitions :
- ID7
- NexGen
Historique
SQLSaturday #251 – Paris 2013
Tier de stockage
ioMemoryL1, L2, L3
CPU Cache
DRAM
SAN
IOPS
GB/s
Latency
Nanoseconds - Microseconds ACCESS DELAY Milliseconds
Database
Data Analytics
Virtualization
SQLSaturday #251 – Paris 2013
Up to 3.0TB
1.3GB/s, 800.000 IOPs
Up to 2.4TB
2.5GB/s, 1.100.000
IOPs
Up to 1.2TB
Up to 1.650TB Up to 3.2TB Up to 10.24TB
Direct Acceleration
MEZZANINE
SQLSaturday #251 – Paris 2013
▸ Enterprise Scale-up
• Databases
• Server Virtualization
• Virtual Desktop Infrastructure
• Mixte read/write
▸ Points forts
• Faible latence
• Performances IO extremes
• Endurance & Fiabilité niveau ‘Entreprise’
• Capacité leader du marché
SQLSaturday #251 – Paris 2013
Specs
SQLSaturday #251 – Paris 2013
vs. concurrence
PCIe
DRAM
CPU
Serveur
App
OS
Approche SSD Approche Fusion-io
PCIeSAS
DRAM
Contrôleur
Mémoire
NAND
CPU
Serveur
Contrôleur
RAID
App
OS
SC
Batterie
SQLSaturday #251 – Paris 2013
Démo – latence fichier (suite)
SQLSaturday #251 – Paris 2013
Solution: Direct (1)
 Stockage local : carte io-drive
Datacenter 2
Réplica
Synchrone
Réplica
Asynchrone
Datacenter 1
SQLSaturday #251 – Paris 2013
Solution: Direct (2)
 SQL Server 2012 : TempDB locale
SQLSaturday #251 – Paris 2013
Fusion-io Product Portfolio
Direct Virtualisé / Cache Partagé
Accélération +++
• Latences les plus faibles
• Pour les applications
gourmandes en I/O
• Déploiement rapide
Interopérabilité +++
• Accélération du SAN
• Meilleure densité de VMs
Evolutivité +++
• Partagé sur le SAN
• Multi prototocol
• Architectures clusteur
SAN
SQLSaturday #251 – Paris 2013
▸ 25x+ performance
▸ IOPS ++
▸ Coût --
▸ Consommation --
▸ Choix du server
BENEFITSALL ION DEPLOYMENTION AND SAN DEPLOYMENT
Database or Application
Entire
DatabaseHot Data
MS Cluster
SAN SAN
Legacy
Storage
Solution: Partagée
SQLSaturday #251 – Paris 2013
Host-based Mirroring
Apps
40Gbit
High Availability Cluster
Apps
MIRRORMIRROR
Application-based Replication
Apps Apps
Primary
Data Center
Secondary
Data Center
Application-based replication
WAN
Fusion-io Confidential33
Solution: Partagée
 Solution Haute disponibilité Flexible
SQLSaturday #251 – Paris 2013
Solution : Caching Virtual & Physical
ioMemory
Cache Reads
ESXi
Hypervisor
Virtual Server
Virtual Machine
Optional Data Aware
Guest Caching
FC, iSCSI, IB
Physical Server
O
S
ioTurbine Virtual
External Storage
Persistent Writes
ioMemory
Cache Reads
Virtual Machine
Optional Data Aware
Guest Caching
External Storage
Persistent Writes
ioTurbine Direct
Figure 1 Figure 2
Any
Application
Microsoft
SQL 2014
Microsoft
SQL 2012
FC, iSCSI, IB
SQLSaturday #251 – Paris 2013
Conclusion
 Votre système doit être balancé
 Exemple à ne pas suivre :
 16, 24 ou 32 cœurs
 8GB RAM
 Raid 1
 IOs restent le sous-système le plus lent
 Chiffres clé
 6 à 8 GB de RAM par cœur
 7 HDD rotatifs ≈ 1000 IOPS
 1 ioDrive II >= 100 000 IOPS
 Avant le mise en production
 Évaluer les besoins en IO
 Tests de performance
 Pensez au monitoring
 Système
 Base de données
SQLSaturday #251 – Paris 2013
Questions / Réponses
Merci à tous pour votre présence.
N’hésitez pas à solliciter les speakers pour
poursuivre la discussion.
SQLSaturday #251 – Paris 2013
Nos sponsors

Más contenido relacionado

La actualidad más candente

Zabbix, garder un oeil toujours ouvert
Zabbix, garder un oeil toujours ouvertZabbix, garder un oeil toujours ouvert
Zabbix, garder un oeil toujours ouvertLook a box
 
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenter
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenterMSCS : Windows Server 2016 Quoi de neuf pour votre datacenter
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenterMickaelLOPES91
 
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOCore Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOWeLoveSEO
 
XebiCon'16 : WeScale - DNS as a Service, the OpenStack way. Par Pascal Edoua...
XebiCon'16 : WeScale - DNS as a Service, the OpenStack way.  Par Pascal Edoua...XebiCon'16 : WeScale - DNS as a Service, the OpenStack way.  Par Pascal Edoua...
XebiCon'16 : WeScale - DNS as a Service, the OpenStack way. Par Pascal Edoua...Publicis Sapient Engineering
 
Déploiement ELK en conditions réelles
Déploiement ELK en conditions réellesDéploiement ELK en conditions réelles
Déploiement ELK en conditions réellesGeoffroy Arnoud
 
Présentation GLPI aux RMLL 2007
Présentation GLPI aux RMLL 2007Présentation GLPI aux RMLL 2007
Présentation GLPI aux RMLL 2007Nouh Walid
 
[FR] Les requêtes HTTP de l'extrême
[FR] Les requêtes HTTP de l'extrême[FR] Les requêtes HTTP de l'extrême
[FR] Les requêtes HTTP de l'extrêmeOVHcloud
 
Presentation Zabbix en Français du 6 Juin 2013
Presentation Zabbix en Français du 6 Juin 2013Presentation Zabbix en Français du 6 Juin 2013
Presentation Zabbix en Français du 6 Juin 2013Alain Ganuchaud
 
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure Pack
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure PackLe cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure Pack
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure PackMicrosoft Décideurs IT
 
Mini conférence GLPI Solutions Linux 2008
Mini conférence GLPI Solutions Linux 2008Mini conférence GLPI Solutions Linux 2008
Mini conférence GLPI Solutions Linux 2008Nouh Walid
 
Logs serveurs : du terme barbare à la simplicité de la réalité
Logs serveurs :  du terme barbare à la simplicité de la réalitéLogs serveurs :  du terme barbare à la simplicité de la réalité
Logs serveurs : du terme barbare à la simplicité de la réalitéKarles Nine
 
Big Data Paris 2015 - Cassandra chez Chronopost
Big Data Paris 2015 - Cassandra chez ChronopostBig Data Paris 2015 - Cassandra chez Chronopost
Big Data Paris 2015 - Cassandra chez ChronopostAlexander DEJANOVSKI
 
Gestion de parc avec OCS et GLPI
Gestion de parc avec OCS et GLPI Gestion de parc avec OCS et GLPI
Gestion de parc avec OCS et GLPI guest3be047
 
Techdays 2014 - Le fermier azure (2ème partie)
Techdays 2014 - Le fermier azure (2ème partie)Techdays 2014 - Le fermier azure (2ème partie)
Techdays 2014 - Le fermier azure (2ème partie)Jonathan Le Guellec
 
Meetup #13 osfr - ops - hubiC - pulbic
Meetup #13 osfr - ops - hubiC - pulbicMeetup #13 osfr - ops - hubiC - pulbic
Meetup #13 osfr - ops - hubiC - pulbicJean-Daniel Bonnetot
 
Mariadb pour les developpeurs - OSDC
Mariadb pour les developpeurs - OSDCMariadb pour les developpeurs - OSDC
Mariadb pour les developpeurs - OSDCChristophe Villeneuve
 
[Étude de cas] Refonte d'un système de sauvegarde informatique
[Étude de cas] Refonte d'un système de sauvegarde informatique[Étude de cas] Refonte d'un système de sauvegarde informatique
[Étude de cas] Refonte d'un système de sauvegarde informatiqueGroupe D.FI
 
Consolidez vos journaux et vos métriques avec Elastic Beats
Consolidez vos journaux et vos métriques avec Elastic BeatsConsolidez vos journaux et vos métriques avec Elastic Beats
Consolidez vos journaux et vos métriques avec Elastic Beatsgcatt
 

La actualidad más candente (20)

Meet-Up SQLI Lyon 09-2015 - Varnish
Meet-Up SQLI Lyon 09-2015 - VarnishMeet-Up SQLI Lyon 09-2015 - Varnish
Meet-Up SQLI Lyon 09-2015 - Varnish
 
Zabbix, garder un oeil toujours ouvert
Zabbix, garder un oeil toujours ouvertZabbix, garder un oeil toujours ouvert
Zabbix, garder un oeil toujours ouvert
 
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenter
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenterMSCS : Windows Server 2016 Quoi de neuf pour votre datacenter
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenter
 
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOCore Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
 
XebiCon'16 : WeScale - DNS as a Service, the OpenStack way. Par Pascal Edoua...
XebiCon'16 : WeScale - DNS as a Service, the OpenStack way.  Par Pascal Edoua...XebiCon'16 : WeScale - DNS as a Service, the OpenStack way.  Par Pascal Edoua...
XebiCon'16 : WeScale - DNS as a Service, the OpenStack way. Par Pascal Edoua...
 
Déploiement ELK en conditions réelles
Déploiement ELK en conditions réellesDéploiement ELK en conditions réelles
Déploiement ELK en conditions réelles
 
Présentation GLPI aux RMLL 2007
Présentation GLPI aux RMLL 2007Présentation GLPI aux RMLL 2007
Présentation GLPI aux RMLL 2007
 
[FR] Les requêtes HTTP de l'extrême
[FR] Les requêtes HTTP de l'extrême[FR] Les requêtes HTTP de l'extrême
[FR] Les requêtes HTTP de l'extrême
 
Presentation Zabbix en Français du 6 Juin 2013
Presentation Zabbix en Français du 6 Juin 2013Presentation Zabbix en Français du 6 Juin 2013
Presentation Zabbix en Français du 6 Juin 2013
 
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure Pack
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure PackLe cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure Pack
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure Pack
 
Haute Disponibilité et Disaster Recovery
Haute Disponibilité et Disaster RecoveryHaute Disponibilité et Disaster Recovery
Haute Disponibilité et Disaster Recovery
 
Mini conférence GLPI Solutions Linux 2008
Mini conférence GLPI Solutions Linux 2008Mini conférence GLPI Solutions Linux 2008
Mini conférence GLPI Solutions Linux 2008
 
Logs serveurs : du terme barbare à la simplicité de la réalité
Logs serveurs :  du terme barbare à la simplicité de la réalitéLogs serveurs :  du terme barbare à la simplicité de la réalité
Logs serveurs : du terme barbare à la simplicité de la réalité
 
Big Data Paris 2015 - Cassandra chez Chronopost
Big Data Paris 2015 - Cassandra chez ChronopostBig Data Paris 2015 - Cassandra chez Chronopost
Big Data Paris 2015 - Cassandra chez Chronopost
 
Gestion de parc avec OCS et GLPI
Gestion de parc avec OCS et GLPI Gestion de parc avec OCS et GLPI
Gestion de parc avec OCS et GLPI
 
Techdays 2014 - Le fermier azure (2ème partie)
Techdays 2014 - Le fermier azure (2ème partie)Techdays 2014 - Le fermier azure (2ème partie)
Techdays 2014 - Le fermier azure (2ème partie)
 
Meetup #13 osfr - ops - hubiC - pulbic
Meetup #13 osfr - ops - hubiC - pulbicMeetup #13 osfr - ops - hubiC - pulbic
Meetup #13 osfr - ops - hubiC - pulbic
 
Mariadb pour les developpeurs - OSDC
Mariadb pour les developpeurs - OSDCMariadb pour les developpeurs - OSDC
Mariadb pour les developpeurs - OSDC
 
[Étude de cas] Refonte d'un système de sauvegarde informatique
[Étude de cas] Refonte d'un système de sauvegarde informatique[Étude de cas] Refonte d'un système de sauvegarde informatique
[Étude de cas] Refonte d'un système de sauvegarde informatique
 
Consolidez vos journaux et vos métriques avec Elastic Beats
Consolidez vos journaux et vos métriques avec Elastic BeatsConsolidez vos journaux et vos métriques avec Elastic Beats
Consolidez vos journaux et vos métriques avec Elastic Beats
 

Similar a Fusion io

Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020SEO CAMP
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteMicrosoft
 
SQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
SQLSaturday Paris 2014 - Et hop, ma base migre dans AzureSQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
SQLSaturday Paris 2014 - Et hop, ma base migre dans AzureGUSS
 
Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)
Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)
Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)Jean-Pierre Riehl
 
GAB 2017 PARIS - Azure Data Lake La Big Data 2.0 par Jean-Pierre Riehl et Fab...
GAB 2017 PARIS - Azure Data Lake La Big Data 2.0 par Jean-Pierre Riehl et Fab...GAB 2017 PARIS - Azure Data Lake La Big Data 2.0 par Jean-Pierre Riehl et Fab...
GAB 2017 PARIS - Azure Data Lake La Big Data 2.0 par Jean-Pierre Riehl et Fab...AZUG FR
 
Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013
Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013
Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013serge luca
 
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...GUSS
 
Sql saturday 323 paris 2014 azure migration iaas et paas
Sql saturday 323 paris 2014   azure migration iaas et paasSql saturday 323 paris 2014   azure migration iaas et paas
Sql saturday 323 paris 2014 azure migration iaas et paasChristophe Laporte
 
J1 T1 1 - Azure Data Platform, quelle solution pour quel usage - Charles-Hen...
J1 T1 1 - Azure Data Platform, quelle solution pour quel usage  - Charles-Hen...J1 T1 1 - Azure Data Platform, quelle solution pour quel usage  - Charles-Hen...
J1 T1 1 - Azure Data Platform, quelle solution pour quel usage - Charles-Hen...MS Cloud Summit
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesXavier MARIN
 
Deep Dive Performance , le In-Memory dans SQL Server
Deep Dive Performance , le In-Memory dans SQL ServerDeep Dive Performance , le In-Memory dans SQL Server
Deep Dive Performance , le In-Memory dans SQL ServerMicrosoft
 
3 Microsoft Advanced Threat Analytics - Genève
3   Microsoft Advanced Threat Analytics - Genève3   Microsoft Advanced Threat Analytics - Genève
3 Microsoft Advanced Threat Analytics - GenèveaOS Community
 
Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1Microsoft
 
Les nouvelles architectures Skype for Business
Les nouvelles architectures Skype for BusinessLes nouvelles architectures Skype for Business
Les nouvelles architectures Skype for BusinessEudes Olivier ROBERT
 
SQL saturday 323 - SharePoint : De la méfiance jusqu'à l’acception
SQL saturday 323 - SharePoint : De la méfiance jusqu'à l’acception SQL saturday 323 - SharePoint : De la méfiance jusqu'à l’acception
SQL saturday 323 - SharePoint : De la méfiance jusqu'à l’acception Benoit Jester
 
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...Patrick Guimonet
 
Un site web rapide ?
Un site web rapide ? Un site web rapide ?
Un site web rapide ? haricot
 
SQLSaturday Paris 2014 - SharePoint – de la méfiance jusqu’à l’acceptation
SQLSaturday Paris 2014 - SharePoint – de la méfiance jusqu’à l’acceptation SQLSaturday Paris 2014 - SharePoint – de la méfiance jusqu’à l’acceptation
SQLSaturday Paris 2014 - SharePoint – de la méfiance jusqu’à l’acceptation GUSS
 

Similar a Fusion io (20)

Inf208
Inf208Inf208
Inf208
 
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides Keynote
 
SQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
SQLSaturday Paris 2014 - Et hop, ma base migre dans AzureSQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
SQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
 
Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)
Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)
Azure Data Lake, le big data 2.0 (Global Azure Bootcamp Paris 2017)
 
GAB 2017 PARIS - Azure Data Lake La Big Data 2.0 par Jean-Pierre Riehl et Fab...
GAB 2017 PARIS - Azure Data Lake La Big Data 2.0 par Jean-Pierre Riehl et Fab...GAB 2017 PARIS - Azure Data Lake La Big Data 2.0 par Jean-Pierre Riehl et Fab...
GAB 2017 PARIS - Azure Data Lake La Big Data 2.0 par Jean-Pierre Riehl et Fab...
 
Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013
Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013
Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013
 
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
 
Sql saturday 323 paris 2014 azure migration iaas et paas
Sql saturday 323 paris 2014   azure migration iaas et paasSql saturday 323 paris 2014   azure migration iaas et paas
Sql saturday 323 paris 2014 azure migration iaas et paas
 
J1 T1 1 - Azure Data Platform, quelle solution pour quel usage - Charles-Hen...
J1 T1 1 - Azure Data Platform, quelle solution pour quel usage  - Charles-Hen...J1 T1 1 - Azure Data Platform, quelle solution pour quel usage  - Charles-Hen...
J1 T1 1 - Azure Data Platform, quelle solution pour quel usage - Charles-Hen...
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
 
Deep Dive Performance , le In-Memory dans SQL Server
Deep Dive Performance , le In-Memory dans SQL ServerDeep Dive Performance , le In-Memory dans SQL Server
Deep Dive Performance , le In-Memory dans SQL Server
 
3 Microsoft Advanced Threat Analytics - Genève
3   Microsoft Advanced Threat Analytics - Genève3   Microsoft Advanced Threat Analytics - Genève
3 Microsoft Advanced Threat Analytics - Genève
 
Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1
 
Les nouvelles architectures Skype for Business
Les nouvelles architectures Skype for BusinessLes nouvelles architectures Skype for Business
Les nouvelles architectures Skype for Business
 
SQL saturday 323 - SharePoint : De la méfiance jusqu'à l’acception
SQL saturday 323 - SharePoint : De la méfiance jusqu'à l’acception SQL saturday 323 - SharePoint : De la méfiance jusqu'à l’acception
SQL saturday 323 - SharePoint : De la méfiance jusqu'à l’acception
 
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
 
Un site web rapide ?
Un site web rapide ? Un site web rapide ?
Un site web rapide ?
 
Exchange 2013 Bonnes pratiques
Exchange 2013 Bonnes pratiques Exchange 2013 Bonnes pratiques
Exchange 2013 Bonnes pratiques
 
SQLSaturday Paris 2014 - SharePoint – de la méfiance jusqu’à l’acceptation
SQLSaturday Paris 2014 - SharePoint – de la méfiance jusqu’à l’acceptation SQLSaturday Paris 2014 - SharePoint – de la méfiance jusqu’à l’acceptation
SQLSaturday Paris 2014 - SharePoint – de la méfiance jusqu’à l’acceptation
 

Más de Christophe Laporte

Jss2014 performance counters and dmvs
Jss2014   performance counters and dmvsJss2014   performance counters and dmvs
Jss2014 performance counters and dmvsChristophe Laporte
 
Datit207 scénarios hybrides entre sql server et windows azure
Datit207   scénarios hybrides entre sql server et windows azureDatit207   scénarios hybrides entre sql server et windows azure
Datit207 scénarios hybrides entre sql server et windows azureChristophe Laporte
 
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Christophe Laporte
 
JSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéJSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéChristophe Laporte
 
Serveurs core et virtualisation
Serveurs core et virtualisationServeurs core et virtualisation
Serveurs core et virtualisationChristophe Laporte
 
Always on les solutions de haute disponibilité avec sql server 2012 (dat302)
Always on les solutions de haute disponibilité avec sql server 2012 (dat302)Always on les solutions de haute disponibilité avec sql server 2012 (dat302)
Always on les solutions de haute disponibilité avec sql server 2012 (dat302)Christophe Laporte
 

Más de Christophe Laporte (10)

Jss2014 performance counters and dmvs
Jss2014   performance counters and dmvsJss2014   performance counters and dmvs
Jss2014 performance counters and dmvs
 
Datit207 scénarios hybrides entre sql server et windows azure
Datit207   scénarios hybrides entre sql server et windows azureDatit207   scénarios hybrides entre sql server et windows azure
Datit207 scénarios hybrides entre sql server et windows azure
 
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
 
JSS2013 : Hekaton
JSS2013 : HekatonJSS2013 : Hekaton
JSS2013 : Hekaton
 
JSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéJSS2013 : Haute disponibilité
JSS2013 : Haute disponibilité
 
JSS2013 : Statistiques
JSS2013 : StatistiquesJSS2013 : Statistiques
JSS2013 : Statistiques
 
High performance jss 2012
High performance jss 2012High performance jss 2012
High performance jss 2012
 
Haute disponibilité jss2012
Haute disponibilité jss2012Haute disponibilité jss2012
Haute disponibilité jss2012
 
Serveurs core et virtualisation
Serveurs core et virtualisationServeurs core et virtualisation
Serveurs core et virtualisation
 
Always on les solutions de haute disponibilité avec sql server 2012 (dat302)
Always on les solutions de haute disponibilité avec sql server 2012 (dat302)Always on les solutions de haute disponibilité avec sql server 2012 (dat302)
Always on les solutions de haute disponibilité avec sql server 2012 (dat302)
 

Fusion io

  • 1. SQLSaturday #251 – Paris 2013SQLSaturday #251 – Paris 2013 SQL Server Hi Perf Boostez vos IOs avec les solution Fusion-IO
  • 2. SQLSaturday #251 – Paris 2013 Présentation  Christophe LAPORTE  ~15 ans d’expérience sur SQL Server  Haute disponibilité  Montée en charge  Virtualisation  Optimisation  Blog : http://conseilit.wordpress.com/  Twitter : @Conseilit  Remy Menager  Sales Engineer  http://www.fusionio.com
  • 3. SQLSaturday #251 – Paris 2013 Agenda  Situation actuelle au pays des IO  Anatomie et mathématiques  Les bonnes pratiques  Et malgré tout … de la latence  Une solution …  Principes  Architectures proposées  Questions / réponse
  • 4. SQLSaturday #251 – Paris 2013 Anatomie d’une base de données Database Primary MDF File Groupe(s) de fichiers pour les données utilisateur NDF File NDF File Ext 64KB Extension : 64KB 8K 8K 8K 8K 8K 8K 8K 8K LDF File Pages de données
  • 5. SQLSaturday #251 – Paris 2013 Pages de données m_nextPage m_prevPage Liste chainée
  • 6. SQLSaturday #251 – Paris 2013 Démo – Montre moi un IO
  • 7. SQLSaturday #251 – Paris 2013 Pour les curieux …  1 er extent système 1ère Extension / fichier Page 0 File Header Page 1 PFS Page 2 GAM Page 3 SGAM Page 4 Unused Page 5 unused Page 6 Diff MAP Page 7 ML Map
  • 8. SQLSaturday #251 – Paris 2013 Principales causes de lenteurs  Verrouillage  RCSI / SI  Hekaton  PageLatch  Index Cluster  Table partitionnée  CPU  Probablement une conséquence  Disque  ASYNC_IO_COMPLETION, IO_COMPLETION, PAGEIOLATCH_xx, WRITELOG, BACKUPIO
  • 9. SQLSaturday #251 – Paris 2013 Les disques, encore les disques  Vitesse - quelques chiffres  Ram : 6 ns = 6 x 10-9 sec  CPU à 3,5 GHz : 10-9 sec  HDD rotatif : 7 ms = 7 x 10-3 sec  1 000 000 de fois plus lent !!!!  1 IO prends autant de temps que 1 000 000 cycle CPU  SSD : 50 µs = 10-6 sec  1 000 fois plus lent que RAM  1 000 fois plus rapide que HDD rotatif …  ≈ escargot (0,0275 m/s) et guépard (28 m/s) http://fr.wikipedia.org/wiki/Ordre_de_grandeur_(vitesse)
  • 10. SQLSaturday #251 – Paris 2013 IOPS  Disque rotatif (15K)  Seek time : 4 ms +  Rotation latency : 2 ms  => 6 ms avant de commencer un IO  => 1000 / 6 = 166 IOPS  Méthode de calcul simple  IOPS = 1 / (Seek Time +(30/RPM) )  Ex disque 10K : 1 / (0,004 + (30/10000)) = 142  http://www.wmarow.com/strcalc/strcalc.html
  • 11. SQLSaturday #251 – Paris 2013 Bande passante  Bande passante :  Ecriture aléatoire de page de 8KB  200 x 8KB = 1600 KB / 1024 = 1,56 MB/sec  Lecture séquentielle d’extensions (64KB)  100 MB/sec < Bande passante < 170 MB / sec  Problème  Besoin d’IOPS en écriture  Ex : 5000 IOPS / 142 IOPS = 36 disques !!!  => Agrégation de disques = RAID
  • 12. SQLSaturday #251 – Paris 2013 Parlons peu, parlons RAID  Raid 0  Raid 1  Raid 5  Peu courants  Raid 2  Raid 3  Raid 4  Raid 6  Raid Combinés  Raid 10 (1+0)  Raid 01 (0+1)  Raid 05 (0+5)  Raid 15 (1+5)  Raid 50 (5+0)  Raid 51 (5+1) http://fr.wikipedia.org/wiki/RAID_(informatique)
  • 13. SQLSaturday #251 – Paris 2013 Si vous n’aimez pas les chiffres
  • 14. SQLSaturday #251 – Paris 2013 Taille des bandes – Stripe Unit Size  Le plus performant : Stripe Size = 64KB ?  Testez … Stripe Size 2MB Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Stripe Size 1MB Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Ext Stripe Size 512KB Ext Ext Ext Ext Ext Ext Ext Ext Stripe Size 256KB Ext Ext Ext Ext Stripe Size 128KB Ext Ext Stripe Size 64KB Ext
  • 15. SQLSaturday #251 – Paris 2013 Alignement des disques  Plus nécessaire depuis Windows 2008  Attention aux migrations  wmic partition get BlockSize, StartingOffset, Name, Index  StartingOffset / 65536 => résultat entier
  • 16. SQLSaturday #251 – Paris 2013 Tailles des blocks  64KB conseillés pour SQL Server  Déterminé au moment du formatage
  • 17. SQLSaturday #251 – Paris 2013 DISKPART > List disk DISKPART > Select disk 3 DISKPART > create partition primary align=64 DISKPART > assign letter=G DISKPART >Exit format /fs:ntfs /A:64K /V:“DataSQL" /Q G: Alignement et formatage - Demo
  • 18. SQLSaturday #251 – Paris 2013 Quelques règles à suivre  Bien choisir le niveau de RAID  Les “64”  Stripe Unit Size  Partition Offset  Block Size  Un résultat de type entier pour  Partition Offset / Stripe Unit Size  Stripe Unie Size / File Allocation Unit Size  Séparer Data et Log  Isoler la base TempDB  Tester le sous système disque
  • 19. SQLSaturday #251 – Paris 2013 Le temps de réponse du disque  Latence  Définition  Mesure  Quel niveau de performance attendre:  Data Files  < 10 msec Idéal  10 –20 msec Acceptable  > 20 msec Pb à résoudre, bottlenecks probables  Log Files  < 5 msec Idéal  5 –10 msec Acceptable  10 –15 msec Investigation nécessaire  15 –20 msec Evolution compromise  > 20 msec Pb à résoudre, bottlenecks probables
  • 20. SQLSaturday #251 – Paris 2013 Démo – latence fichier
  • 21. SQLSaturday #251 – Paris 2013 Une solution …
  • 22. SQLSaturday #251 – Paris 2013 Création David Flynn FY 2006 Premiers drivers FY 2007 CA : 1 M$ Commercialisation des premières solutions 1 million d’IOPS sur 1 seul serveur FY 2008 CA : 10 M$ Steve Wozniak nommé CSO FY 2009 CA : 36 M$ Des dizaines de milliers de cartes installées FY 2010 FY 2011 CA : 197 M$ Introduction au NYSE (FIO) FY 2012 CA : 380 M$ R&D : 1 Milliard d’IOPS ioMemory SDK 110 Po vendus FY 2013 CA : 432 M$ >7 000 clients 900 employés Stockage partagé ION Acquisitions : - ID7 - NexGen Historique
  • 23. SQLSaturday #251 – Paris 2013 Tier de stockage ioMemoryL1, L2, L3 CPU Cache DRAM SAN IOPS GB/s Latency Nanoseconds - Microseconds ACCESS DELAY Milliseconds Database Data Analytics Virtualization
  • 24. SQLSaturday #251 – Paris 2013 Up to 3.0TB 1.3GB/s, 800.000 IOPs Up to 2.4TB 2.5GB/s, 1.100.000 IOPs Up to 1.2TB Up to 1.650TB Up to 3.2TB Up to 10.24TB Direct Acceleration MEZZANINE
  • 25. SQLSaturday #251 – Paris 2013 ▸ Enterprise Scale-up • Databases • Server Virtualization • Virtual Desktop Infrastructure • Mixte read/write ▸ Points forts • Faible latence • Performances IO extremes • Endurance & Fiabilité niveau ‘Entreprise’ • Capacité leader du marché
  • 26. SQLSaturday #251 – Paris 2013 Specs
  • 27. SQLSaturday #251 – Paris 2013 vs. concurrence PCIe DRAM CPU Serveur App OS Approche SSD Approche Fusion-io PCIeSAS DRAM Contrôleur Mémoire NAND CPU Serveur Contrôleur RAID App OS SC Batterie
  • 28. SQLSaturday #251 – Paris 2013 Démo – latence fichier (suite)
  • 29. SQLSaturday #251 – Paris 2013 Solution: Direct (1)  Stockage local : carte io-drive Datacenter 2 Réplica Synchrone Réplica Asynchrone Datacenter 1
  • 30. SQLSaturday #251 – Paris 2013 Solution: Direct (2)  SQL Server 2012 : TempDB locale
  • 31. SQLSaturday #251 – Paris 2013 Fusion-io Product Portfolio Direct Virtualisé / Cache Partagé Accélération +++ • Latences les plus faibles • Pour les applications gourmandes en I/O • Déploiement rapide Interopérabilité +++ • Accélération du SAN • Meilleure densité de VMs Evolutivité +++ • Partagé sur le SAN • Multi prototocol • Architectures clusteur SAN
  • 32. SQLSaturday #251 – Paris 2013 ▸ 25x+ performance ▸ IOPS ++ ▸ Coût -- ▸ Consommation -- ▸ Choix du server BENEFITSALL ION DEPLOYMENTION AND SAN DEPLOYMENT Database or Application Entire DatabaseHot Data MS Cluster SAN SAN Legacy Storage Solution: Partagée
  • 33. SQLSaturday #251 – Paris 2013 Host-based Mirroring Apps 40Gbit High Availability Cluster Apps MIRRORMIRROR Application-based Replication Apps Apps Primary Data Center Secondary Data Center Application-based replication WAN Fusion-io Confidential33 Solution: Partagée  Solution Haute disponibilité Flexible
  • 34. SQLSaturday #251 – Paris 2013 Solution : Caching Virtual & Physical ioMemory Cache Reads ESXi Hypervisor Virtual Server Virtual Machine Optional Data Aware Guest Caching FC, iSCSI, IB Physical Server O S ioTurbine Virtual External Storage Persistent Writes ioMemory Cache Reads Virtual Machine Optional Data Aware Guest Caching External Storage Persistent Writes ioTurbine Direct Figure 1 Figure 2 Any Application Microsoft SQL 2014 Microsoft SQL 2012 FC, iSCSI, IB
  • 35. SQLSaturday #251 – Paris 2013 Conclusion  Votre système doit être balancé  Exemple à ne pas suivre :  16, 24 ou 32 cœurs  8GB RAM  Raid 1  IOs restent le sous-système le plus lent  Chiffres clé  6 à 8 GB de RAM par cœur  7 HDD rotatifs ≈ 1000 IOPS  1 ioDrive II >= 100 000 IOPS  Avant le mise en production  Évaluer les besoins en IO  Tests de performance  Pensez au monitoring  Système  Base de données
  • 36. SQLSaturday #251 – Paris 2013 Questions / Réponses Merci à tous pour votre présence. N’hésitez pas à solliciter les speakers pour poursuivre la discussion.
  • 37. SQLSaturday #251 – Paris 2013 Nos sponsors