SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Configuration et monitoring SSAS 
SQLSaturday 323 – Paris 2014
Rejoignez la communauté SQL Server 
Webcasts, Conférences, Afterworks 
Session donnée lors du 
http://GUSS.pro 
@GUSS_FRANCE 
/GUSS 
/GUSS.FR
Sponsors Gold 
SQLSaturday 323 – Paris 2014
Sponsors Silver et Bronze 
SQLSaturday 323 – Paris 2014
SQLSaturday 323 – Paris 2014
SQLSaturday 323 – Paris 2014
Plan 
 Le processeur 
 La mémoire 
 Conclusion 
SQLSaturday 323 – Paris 2014
Le processeur – les threads 
 Principe du thread pool 
 Utilisés pour 
 Exécuter une commande (parser) 
 Les calculs (FE) 
 Accéder aux données (SE) 
 Types de thread pool 
 Short command parsing 
 Long command parsing 
 Query execution 
 IO Process (depuis SSAS 2012) 
 Processing 
SQLSaturday 323 – Paris 2014
Le processeur – les threads 
 Thread pool, I/O Completion Port 
Thread pool 
Job 
Low 
Normal 
High 
5 - Retourne 
3- Fournit 
SQLSaturday 323 – Paris 2014 
I/O 
Completion 
1 - Demande Port 
4 - Utilise 
2 – En file 
Propriétés SSAS importantes 
 MinThreads 
 MaxThreads 
 Concurrency 
 PriorityRatio
Le processeur – les threads 
 Un exemple d’exécution 
MDX 
Query Execution Pool 
1 threads 
SQLSaturday 323 – Paris 2014 
Propriétés SSAS importantes 
 CoordinatorQueryMaxThreads 
 CoordinatorExecutionMode 
 CoordinatorQueryMaxThreads 
 CoordinatorBuildMaxThreads 
IO Process Pool 
Formula 
Engine 
Partitions 
Segments 
Storage 
Engine 
CoordinatorExecutionMode 
CoordinatorQueryMaxThreads
Le processeur – les threads 
 Environnement multi-utilisateurs 
Requête A 
Scan de 30 
segments 
Requête B 
En attente 
de threads Requête C 
Requête … 
SQLSaturday 323 – Paris 2014 
Propriétés SSAS importantes 
 CoordinatorQueryBalancingFactor 
 CoordinatorQueryBoostPriorityLevel
Le processeur – configuration de l’instance 
2005 
 Process MaxThreads 
 64 
 Query MaxThreads 
 10 
SQLSaturday 323 – Paris 2014 
< 2005 
 Process MaxThreads 
 64 ou 10x cores 
 Query MaxThreads 
 10 ou 2x cores 
Toutes versions 
 CoordinatorQueryBalancingFactor 
 De -1 à 1 
 CoordinatorQueryBoostPriorityLevel 
 De 3 à 0
Le processeur – monitoring 
 Outils 
 Performance Monitor 
 SQL Profiler 
 XEvents (depuis SSAS 2012) 
 DMV 
 Autres : SQL Sentry, SCOM 
SQLSaturday 323 – Paris 2014
Le processeur – monitoring 
 Les compteurs de performance 
 Busy, Idle, QueueLength 
 Short, Long, Query, IO Process, Non IO Process Pools 
 % Processor Time 
 Proc Indexes / Current Partitions 
SQLSaturday 323 – Paris 2014
Le processeur – Interro 
 ThreadQueueLength>0 
& IdleThreads=0 
 ThreadQueueLength>0 
& IdleThreads>0 
&CPU<>100% 
SQLSaturday 323 – Paris 2014
La mémoire : Le prix à payer 
 Le Memory Manager de SSAS gère sa mémoire 
selon un Modèle économique 
 Pour chaque structure de donnée il y a fixation d’un 
Prix à payer / KB de mémoire 
… au début c’est gratuit jusqu’à un certain niveau 
 Ensuite, plus l’espace mémoire est occupé plus le 
prix du loyer augmente 
 Si une structure de données est utilisée pour une 
commande elle gagne un revenu 
 Tant que son compte est créditeur elle peut payer 
son loyer, sinon elle est vidée de la mémoire 
SQLSaturday 323 – Paris 2014
La mémoire : Les types 
SSAS scinde sa 
mémoire en 2 types : 
 Shrinkable : contient 
des objets qui 
peuvent être nettoyés 
 Nonshrinkable : 
contient des objets 
non concernés par le 
processus de 
nettoyage 
SQLSaturday 323 – Paris 2014
La mémoire : Les limites 
 Elles sont définies dans la configuration de 
l’instance SSAS (msmdsrv.ini) 
 Exprimées en % par défaut / en octet si > 100 
 Ce sont les seuils de tolérances qui servent à 
activer/désactiver le processus de nettoyage de 
la mémoire 
 Le prix varie en fonction de l’évolution de la 
mémoire entre ces bornes  Il tient aussi 
compte d’un seuil de prix intérmédiaire à partir 
duquel il augmente plus vite (MidMemoryPrice) 
SQLSaturday 323 – Paris 2014
La mémoire : LowMemoryLimit 
 Seuil en dessous duquel, la mémoire est 
allouée en fonction des besoins 
 Un fois atteint, le prix augmente en partant de 
zéro et les taxes sont prélevées 
 le processus de nettoyage démarre et libère 
de l’espace mémoire en supprimant des 
objets shrinkable dont le revenu est nul 
NB : Un nettoyage agressif peut ramener la 
mémoire largement en dessous de celui-ci 
SQLSaturday 323 – Paris 2014
La mémoire : TotalMemoryLimit 
 Seuil à partir duquel le processus de 
nettoyage est en mode crise 
 Prix = sa valeur max (HighMemoryPrice) 
 Passage des threads de nettoyage en 
priorité haute. Ils bloquent les autres threads 
tant que la mémoire utilisée n'est pas 
redescendue sous le seuil 
 Les objets shrinkables doivent libérer la 
mémoire même si leur solde est > 0 
SQLSaturday 323 – Paris 2014
La mémoire : HardMemoryLimit 
 Seuil à partir duquel le processus de 
nettoyage passe en Mode « sauve-qui-peut » 
 Dans un premier temps : Vidage de 
l'ensemble de la mémoire Shrinkable 
 Si ce n'est pas suffisant : Annulation des 
commandes de traitement et des requêtes 
 Valeur par défaut = (TotalMemoryLimit + min 
(system physical memory, system total 
available virtual memory))/2. 
SQLSaturday 323 – Paris 2014
La mémoire : La face cachée 
 Le Memory Manager de SSAS gère 
uniquement la mémoire du processus 
msmdsrv.exe 
 Les fichiers de données peuvent être aussi 
dans le WindowsFileSystemCache et monter 
plus rapidement dans la mémoire de SSAS 
en cas de besoin 
 La propriété LimitSystemFileCacheSizeMB 
permet de limiter l’utilisation de ce cache 
mémoire 
 Prendre en compte aussi le StandbyCache 
SQLSaturday 323 – Paris 2014
Mémoire : résumé de la situation 
SQLSaturday 323 – Paris 2014
Mémoire : Les compteurs du PerfMon 
SQLSaturday 323 – Paris 2014 
 PerfMon permet de 
monitorer des 
compteurs des entrèes: 
 Mémoire (système) 
 MSOLAP$Instance 
(SSAS) 
 Processus msmdsrv 
(SSAS) 
Ni pratique, ni 
ergonomique
Monitorer et tester (ou inversement) 
AS Performance WorkBench 
 Projet sur Codeplex 
https://asperfwb.codeplex.com/ 
 Permet de surveiller 
plusieurs compteurs 
 Permet aussi de 
lancer des requêtes 
pour simuler un test 
de charge simple 
SQLSaturday 323 – Paris 2014
Collecter les données de monitoring 
 Depuis SSAS 2008 
existent les DMV… 
…mais c’est pas très 
simple et funky à utiliser 
 Projet Codexplex 
ResMon = base AS 
dediée à la collecte de 
ces données 
C’est pas plus funky… 
…mais au moins c’est plus 
simple à mettre en place 
 http://tinyurl.com/kxyq92w 
SQLSaturday 323 – Paris 2014 
…à vous de jouer pour faire 
mieux que moi avec Excel…
Microsoft SQL Server 2008 Analysis 
Services Unleashed 
Irina Gorbach, Alexander Berger, Edward Melomed 
http://tinyurl.com/nsv2scu 
Microsoft SQL Server Analysis 
Services Multidimensional 
Performance and Operations Guide 
Thomas Kejser and Denny Lee 
http://tinyurl.com/ohx87q2 
SQLSaturday 323 – Paris 2014

Weitere ähnliche Inhalte

Ähnlich wie SQLSaturday Paris 2014 - Monitoring et configuration SSAS

SQLSaturday Paris 2014 - Automatisez les tests de vos développements BI grâce...
SQLSaturday Paris 2014 - Automatisez les tests de vos développements BI grâce...SQLSaturday Paris 2014 - Automatisez les tests de vos développements BI grâce...
SQLSaturday Paris 2014 - Automatisez les tests de vos développements BI grâce...GUSS
 
SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...
SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...
SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...GUSS
 
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
 
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
 
Re build Nantes 2013 SQL Server monitoring
Re build Nantes 2013   SQL Server monitoringRe build Nantes 2013   SQL Server monitoring
Re build Nantes 2013 SQL Server monitoringDavid BAFFALEUF
 
Slides Blue Summit 2017
Slides Blue Summit 2017Slides Blue Summit 2017
Slides Blue Summit 2017BlueXML
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaMicrosoft
 
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraDataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraVictor Coustenoble
 
Reprise et Continuité d’activité sur le Cloud : Mythes & Réalités
Reprise et Continuité d’activité sur le Cloud : Mythes & RéalitésReprise et Continuité d’activité sur le Cloud : Mythes & Réalités
Reprise et Continuité d’activité sur le Cloud : Mythes & RéalitésMicrosoft Technet France
 
Webinar - Enterprise Cloud Databases
Webinar - Enterprise Cloud DatabasesWebinar - Enterprise Cloud Databases
Webinar - Enterprise Cloud DatabasesOVHcloud
 
Réussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDBRéussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDB MongoDB
 
Présentation Microsoft Advanced Threat Analytics | Deep-Dive - MSCloud Summi...
Présentation Microsoft Advanced Threat Analytics  | Deep-Dive - MSCloud Summi...Présentation Microsoft Advanced Threat Analytics  | Deep-Dive - MSCloud Summi...
Présentation Microsoft Advanced Threat Analytics | Deep-Dive - MSCloud Summi...☁️Seyfallah Tagrerout☁ [MVP]
 
JSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéJSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéChristophe Laporte
 
Migration des réseaux d agence : les apports de Windows Server 2012 R2
Migration des réseaux d agence : les apports de Windows Server 2012 R2Migration des réseaux d agence : les apports de Windows Server 2012 R2
Migration des réseaux d agence : les apports de Windows Server 2012 R2Microsoft
 
Journées SQL Server 2011 Extended Events
Journées SQL Server 2011  Extended Events Journées SQL Server 2011  Extended Events
Journées SQL Server 2011 Extended Events David BAFFALEUF
 
ALT.NET Modéliser Parallèle avec C# 4.0
ALT.NET Modéliser Parallèle avec C# 4.0ALT.NET Modéliser Parallèle avec C# 4.0
ALT.NET Modéliser Parallèle avec C# 4.0Bruno Boucard
 
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
 
Open source et microsoft azure reve ou realite ?
Open source et microsoft azure reve ou realite ?Open source et microsoft azure reve ou realite ?
Open source et microsoft azure reve ou realite ?Christophe Villeneuve
 
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...Pierre Ternon
 

Ähnlich wie SQLSaturday Paris 2014 - Monitoring et configuration SSAS (20)

SQLSaturday Paris 2014 - Automatisez les tests de vos développements BI grâce...
SQLSaturday Paris 2014 - Automatisez les tests de vos développements BI grâce...SQLSaturday Paris 2014 - Automatisez les tests de vos développements BI grâce...
SQLSaturday Paris 2014 - Automatisez les tests de vos développements BI grâce...
 
SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...
SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...
SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...
 
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
 
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
 
Re build Nantes 2013 SQL Server monitoring
Re build Nantes 2013   SQL Server monitoringRe build Nantes 2013   SQL Server monitoring
Re build Nantes 2013 SQL Server monitoring
 
Slides Blue Summit 2017
Slides Blue Summit 2017Slides Blue Summit 2017
Slides Blue Summit 2017
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmedia
 
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraDataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
 
Reprise et Continuité d’activité sur le Cloud : Mythes & Réalités
Reprise et Continuité d’activité sur le Cloud : Mythes & RéalitésReprise et Continuité d’activité sur le Cloud : Mythes & Réalités
Reprise et Continuité d’activité sur le Cloud : Mythes & Réalités
 
Webinar - Enterprise Cloud Databases
Webinar - Enterprise Cloud DatabasesWebinar - Enterprise Cloud Databases
Webinar - Enterprise Cloud Databases
 
Réussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDBRéussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDB
 
Présentation Microsoft Advanced Threat Analytics | Deep-Dive - MSCloud Summi...
Présentation Microsoft Advanced Threat Analytics  | Deep-Dive - MSCloud Summi...Présentation Microsoft Advanced Threat Analytics  | Deep-Dive - MSCloud Summi...
Présentation Microsoft Advanced Threat Analytics | Deep-Dive - MSCloud Summi...
 
JSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéJSS2013 : Haute disponibilité
JSS2013 : Haute disponibilité
 
Fusion io
Fusion ioFusion io
Fusion io
 
Migration des réseaux d agence : les apports de Windows Server 2012 R2
Migration des réseaux d agence : les apports de Windows Server 2012 R2Migration des réseaux d agence : les apports de Windows Server 2012 R2
Migration des réseaux d agence : les apports de Windows Server 2012 R2
 
Journées SQL Server 2011 Extended Events
Journées SQL Server 2011  Extended Events Journées SQL Server 2011  Extended Events
Journées SQL Server 2011 Extended Events
 
ALT.NET Modéliser Parallèle avec C# 4.0
ALT.NET Modéliser Parallèle avec C# 4.0ALT.NET Modéliser Parallèle avec C# 4.0
ALT.NET Modéliser Parallèle avec C# 4.0
 
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 ...
 
Open source et microsoft azure reve ou realite ?
Open source et microsoft azure reve ou realite ?Open source et microsoft azure reve ou realite ?
Open source et microsoft azure reve ou realite ?
 
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
 

Mehr von GUSS

GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)GUSS
 
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)GUSS
 
JSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a bossJSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a bossGUSS
 
GUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the WebGUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the WebGUSS
 
JSS2015 - Keynote jour 2
JSS2015 - Keynote jour 2JSS2015 - Keynote jour 2
JSS2015 - Keynote jour 2GUSS
 
JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1GUSS
 
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data LakeGUSS
 
[JSS2015] Power BI Dev
[JSS2015] Power BI Dev[JSS2015] Power BI Dev
[JSS2015] Power BI DevGUSS
 
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch TablesGUSS
 
[JSS2015] Query Store
[JSS2015] Query Store[JSS2015] Query Store
[JSS2015] Query StoreGUSS
 
[JSS2015] 3 DMV's pour evaluer les indexs
[JSS2015] 3 DMV's pour evaluer les indexs[JSS2015] 3 DMV's pour evaluer les indexs
[JSS2015] 3 DMV's pour evaluer les indexsGUSS
 
[JSS2015] Power BI: Nouveautés archi et hybrides
[JSS2015] Power BI: Nouveautés archi et hybrides[JSS2015] Power BI: Nouveautés archi et hybrides
[JSS2015] Power BI: Nouveautés archi et hybridesGUSS
 
[JSS2015] Infra bi#4 - le scale out
[JSS2015] Infra bi#4 - le scale out[JSS2015] Infra bi#4 - le scale out
[JSS2015] Infra bi#4 - le scale outGUSS
 
[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analytics[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analyticsGUSS
 
[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocks[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocksGUSS
 
[JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics [JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics GUSS
 
[JSS2015] - Azure automation
[JSS2015] - Azure automation[JSS2015] - Azure automation
[JSS2015] - Azure automationGUSS
 
[JSS2015] AlwaysOn 2016
[JSS2015] AlwaysOn 2016[JSS2015] AlwaysOn 2016
[JSS2015] AlwaysOn 2016GUSS
 
[JSS2015] - Document db et nosql
[JSS2015] - Document db et nosql[JSS2015] - Document db et nosql
[JSS2015] - Document db et nosqlGUSS
 
[JSS2015] x events
[JSS2015] x events[JSS2015] x events
[JSS2015] x eventsGUSS
 

Mehr von GUSS (20)

GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
 
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
 
JSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a bossJSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a boss
 
GUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the WebGUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the Web
 
JSS2015 - Keynote jour 2
JSS2015 - Keynote jour 2JSS2015 - Keynote jour 2
JSS2015 - Keynote jour 2
 
JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1
 
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
 
[JSS2015] Power BI Dev
[JSS2015] Power BI Dev[JSS2015] Power BI Dev
[JSS2015] Power BI Dev
 
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
 
[JSS2015] Query Store
[JSS2015] Query Store[JSS2015] Query Store
[JSS2015] Query Store
 
[JSS2015] 3 DMV's pour evaluer les indexs
[JSS2015] 3 DMV's pour evaluer les indexs[JSS2015] 3 DMV's pour evaluer les indexs
[JSS2015] 3 DMV's pour evaluer les indexs
 
[JSS2015] Power BI: Nouveautés archi et hybrides
[JSS2015] Power BI: Nouveautés archi et hybrides[JSS2015] Power BI: Nouveautés archi et hybrides
[JSS2015] Power BI: Nouveautés archi et hybrides
 
[JSS2015] Infra bi#4 - le scale out
[JSS2015] Infra bi#4 - le scale out[JSS2015] Infra bi#4 - le scale out
[JSS2015] Infra bi#4 - le scale out
 
[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analytics[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analytics
 
[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocks[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocks
 
[JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics [JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics
 
[JSS2015] - Azure automation
[JSS2015] - Azure automation[JSS2015] - Azure automation
[JSS2015] - Azure automation
 
[JSS2015] AlwaysOn 2016
[JSS2015] AlwaysOn 2016[JSS2015] AlwaysOn 2016
[JSS2015] AlwaysOn 2016
 
[JSS2015] - Document db et nosql
[JSS2015] - Document db et nosql[JSS2015] - Document db et nosql
[JSS2015] - Document db et nosql
 
[JSS2015] x events
[JSS2015] x events[JSS2015] x events
[JSS2015] x events
 

Kürzlich hochgeladen

To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentationbahija babzine
 
analyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxanalyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxHadJer61
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformersbahija babzine
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023France Travail
 
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...France Travail
 
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attalcontact Elabe
 

Kürzlich hochgeladen (6)

To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentation
 
analyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxanalyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptx
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformers
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023
 
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
 
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
 

SQLSaturday Paris 2014 - Monitoring et configuration SSAS

  • 1. Configuration et monitoring SSAS SQLSaturday 323 – Paris 2014
  • 2. Rejoignez la communauté SQL Server Webcasts, Conférences, Afterworks Session donnée lors du http://GUSS.pro @GUSS_FRANCE /GUSS /GUSS.FR
  • 3. Sponsors Gold SQLSaturday 323 – Paris 2014
  • 4. Sponsors Silver et Bronze SQLSaturday 323 – Paris 2014
  • 5. SQLSaturday 323 – Paris 2014
  • 6. SQLSaturday 323 – Paris 2014
  • 7. Plan  Le processeur  La mémoire  Conclusion SQLSaturday 323 – Paris 2014
  • 8. Le processeur – les threads  Principe du thread pool  Utilisés pour  Exécuter une commande (parser)  Les calculs (FE)  Accéder aux données (SE)  Types de thread pool  Short command parsing  Long command parsing  Query execution  IO Process (depuis SSAS 2012)  Processing SQLSaturday 323 – Paris 2014
  • 9. Le processeur – les threads  Thread pool, I/O Completion Port Thread pool Job Low Normal High 5 - Retourne 3- Fournit SQLSaturday 323 – Paris 2014 I/O Completion 1 - Demande Port 4 - Utilise 2 – En file Propriétés SSAS importantes  MinThreads  MaxThreads  Concurrency  PriorityRatio
  • 10. Le processeur – les threads  Un exemple d’exécution MDX Query Execution Pool 1 threads SQLSaturday 323 – Paris 2014 Propriétés SSAS importantes  CoordinatorQueryMaxThreads  CoordinatorExecutionMode  CoordinatorQueryMaxThreads  CoordinatorBuildMaxThreads IO Process Pool Formula Engine Partitions Segments Storage Engine CoordinatorExecutionMode CoordinatorQueryMaxThreads
  • 11. Le processeur – les threads  Environnement multi-utilisateurs Requête A Scan de 30 segments Requête B En attente de threads Requête C Requête … SQLSaturday 323 – Paris 2014 Propriétés SSAS importantes  CoordinatorQueryBalancingFactor  CoordinatorQueryBoostPriorityLevel
  • 12. Le processeur – configuration de l’instance 2005  Process MaxThreads  64  Query MaxThreads  10 SQLSaturday 323 – Paris 2014 < 2005  Process MaxThreads  64 ou 10x cores  Query MaxThreads  10 ou 2x cores Toutes versions  CoordinatorQueryBalancingFactor  De -1 à 1  CoordinatorQueryBoostPriorityLevel  De 3 à 0
  • 13. Le processeur – monitoring  Outils  Performance Monitor  SQL Profiler  XEvents (depuis SSAS 2012)  DMV  Autres : SQL Sentry, SCOM SQLSaturday 323 – Paris 2014
  • 14. Le processeur – monitoring  Les compteurs de performance  Busy, Idle, QueueLength  Short, Long, Query, IO Process, Non IO Process Pools  % Processor Time  Proc Indexes / Current Partitions SQLSaturday 323 – Paris 2014
  • 15. Le processeur – Interro  ThreadQueueLength>0 & IdleThreads=0  ThreadQueueLength>0 & IdleThreads>0 &CPU<>100% SQLSaturday 323 – Paris 2014
  • 16. La mémoire : Le prix à payer  Le Memory Manager de SSAS gère sa mémoire selon un Modèle économique  Pour chaque structure de donnée il y a fixation d’un Prix à payer / KB de mémoire … au début c’est gratuit jusqu’à un certain niveau  Ensuite, plus l’espace mémoire est occupé plus le prix du loyer augmente  Si une structure de données est utilisée pour une commande elle gagne un revenu  Tant que son compte est créditeur elle peut payer son loyer, sinon elle est vidée de la mémoire SQLSaturday 323 – Paris 2014
  • 17. La mémoire : Les types SSAS scinde sa mémoire en 2 types :  Shrinkable : contient des objets qui peuvent être nettoyés  Nonshrinkable : contient des objets non concernés par le processus de nettoyage SQLSaturday 323 – Paris 2014
  • 18. La mémoire : Les limites  Elles sont définies dans la configuration de l’instance SSAS (msmdsrv.ini)  Exprimées en % par défaut / en octet si > 100  Ce sont les seuils de tolérances qui servent à activer/désactiver le processus de nettoyage de la mémoire  Le prix varie en fonction de l’évolution de la mémoire entre ces bornes  Il tient aussi compte d’un seuil de prix intérmédiaire à partir duquel il augmente plus vite (MidMemoryPrice) SQLSaturday 323 – Paris 2014
  • 19. La mémoire : LowMemoryLimit  Seuil en dessous duquel, la mémoire est allouée en fonction des besoins  Un fois atteint, le prix augmente en partant de zéro et les taxes sont prélevées  le processus de nettoyage démarre et libère de l’espace mémoire en supprimant des objets shrinkable dont le revenu est nul NB : Un nettoyage agressif peut ramener la mémoire largement en dessous de celui-ci SQLSaturday 323 – Paris 2014
  • 20. La mémoire : TotalMemoryLimit  Seuil à partir duquel le processus de nettoyage est en mode crise  Prix = sa valeur max (HighMemoryPrice)  Passage des threads de nettoyage en priorité haute. Ils bloquent les autres threads tant que la mémoire utilisée n'est pas redescendue sous le seuil  Les objets shrinkables doivent libérer la mémoire même si leur solde est > 0 SQLSaturday 323 – Paris 2014
  • 21. La mémoire : HardMemoryLimit  Seuil à partir duquel le processus de nettoyage passe en Mode « sauve-qui-peut »  Dans un premier temps : Vidage de l'ensemble de la mémoire Shrinkable  Si ce n'est pas suffisant : Annulation des commandes de traitement et des requêtes  Valeur par défaut = (TotalMemoryLimit + min (system physical memory, system total available virtual memory))/2. SQLSaturday 323 – Paris 2014
  • 22. La mémoire : La face cachée  Le Memory Manager de SSAS gère uniquement la mémoire du processus msmdsrv.exe  Les fichiers de données peuvent être aussi dans le WindowsFileSystemCache et monter plus rapidement dans la mémoire de SSAS en cas de besoin  La propriété LimitSystemFileCacheSizeMB permet de limiter l’utilisation de ce cache mémoire  Prendre en compte aussi le StandbyCache SQLSaturday 323 – Paris 2014
  • 23. Mémoire : résumé de la situation SQLSaturday 323 – Paris 2014
  • 24. Mémoire : Les compteurs du PerfMon SQLSaturday 323 – Paris 2014  PerfMon permet de monitorer des compteurs des entrèes:  Mémoire (système)  MSOLAP$Instance (SSAS)  Processus msmdsrv (SSAS) Ni pratique, ni ergonomique
  • 25. Monitorer et tester (ou inversement) AS Performance WorkBench  Projet sur Codeplex https://asperfwb.codeplex.com/  Permet de surveiller plusieurs compteurs  Permet aussi de lancer des requêtes pour simuler un test de charge simple SQLSaturday 323 – Paris 2014
  • 26. Collecter les données de monitoring  Depuis SSAS 2008 existent les DMV… …mais c’est pas très simple et funky à utiliser  Projet Codexplex ResMon = base AS dediée à la collecte de ces données C’est pas plus funky… …mais au moins c’est plus simple à mettre en place  http://tinyurl.com/kxyq92w SQLSaturday 323 – Paris 2014 …à vous de jouer pour faire mieux que moi avec Excel…
  • 27. Microsoft SQL Server 2008 Analysis Services Unleashed Irina Gorbach, Alexander Berger, Edward Melomed http://tinyurl.com/nsv2scu Microsoft SQL Server Analysis Services Multidimensional Performance and Operations Guide Thomas Kejser and Denny Lee http://tinyurl.com/ohx87q2 SQLSaturday 323 – Paris 2014

Hinweis der Redaktion

  1. Pool de thread : - Par instance SSAS, donc dans le fichier de configuration - Parallélisation des tâches - Dépendant du processeur et de la mémoire (max 640 CPU : limitation Windows Server) Utilisé pour : - exécuter une commande - Les calculs : définition des sous espaces (subcube), optimisation de l’espace (NonEmpty), plan d’exécution - Processing : lecture des données sur le disque, indexation, agrégations
  2. MinThreads : nombre de thread à l’initialisation du thread pool MaxThreads : nombre de threads max, mais peut être dépassé (exemple de cas de threads alloués mais bloqués et considérés comme non actifs) Concurrency : détermine un algorithme qui clacul le nombre de threads max actifs par CPU PriorityRatio : détermine un ratio d’exécution des job de niveau de priorité inférieur Une allocation de threads = 1Mo Cas des threads crées alors que leur nombre excède le MaxThreads : temps d’allocation plus long (AS préfère attendre la désallocation d’autres threads plutôt que de surcharger le CPU et provoquer des  changements de contexte)
  3. Préciser que le FE est mono thread Evoquer les astuces qui permettent de simuler le multi threads CoordinatorExecutionMode : - valeur par défaut -4 ce qui veut dire 4 threads par core donc 4 scanne de partitions (valable pour les queries et le processing) - 0 : SSAS décide selon un algo interne - valeur positive : nombre de thread pour l’instance CoordinatorQueryMaxThreads : - valeur par défaut 16 ce qui indique 16 threads de lecture de segment par partition