Virtualisation, plate-forme BI de Microsoft et économie d’énergie

Introduction

Les utilisateurs n’aiment pas attendre. Les entreprises comme Amazon et Google prennent cela très au sérieux, tel qu’indiqué dans cet article:

Surprising as all this may be, the implications of this impatience are even more shocking. Amazon‘s calculated that a page load slowdown of just one second could cost it $1.6 billion in sales each year. Google has calculated that by slowing its search results by just four tenths of a second they could lose 8 million searches per day–meaning they’d serve up many millions fewer online adverts.

On est d’accord sur le fait qu’un rapport BI est plus complexe à générer qu’une page listant les produits électroniques en solde. Mais les utilisateurs vont quand même exiger des performances acceptables, autrement ils n’utiliseront pas l’application.

C’est pourquoi vous devez faire passer les performances avant les économies d’énergie sur vos serveurs desservant la solution BI.

Plusieurs CPU modernes supportent des fonctions d’économie d’énergie afin de diminuer la consommation d’énergie quand les serveurs ne sont pas trop occupés. Cependant, cette mécanique ne réagit pas assez vite et fait en sorte que la peformance de l’application BI sera médiocre … sauf lors de pointes d’utilisation (charge).

The theory is in “Balanced” mode the CPU will run at a lower clock speed when it is under low workload, and bring more resources online when there is more to do. As great as it sounds, this won’t always be your best option. If your workload is incredibly bursty (quick moments of intense work), your SQL query speeds will take a hit, as by the time Windows has decided it needs more resources the work may already be done.

Symptômes

Si vous ne contrôlez que les paramètres du système d’exploitation “Guest” (machine virtuelle), voici les symptômes qui peuvent indiquer que l’hôte utilise des fonctions de gestion d’énergie:

  1. Si vous utilisez un outil de Benchmark, comme NovaBench, les résultats varient beaucoup d’un test à l’autre.
  2. Si vous demandez un rapport, les temps sont mauvais. Si vous demandez X rapports où X est le nombre de vCPU, les temps individuels sont meilleurs …

Recommandation

Il peut y avoir trois niveaux de configuration:

  1. BIOS
  2. Hypervisor
  3. OS

La recommandation est de soit désactiver la gestion de l’énergie dans le BIOS, soit l’activer en laissant le contrôle à l’OS (OS Controlled). Dans ce dernier cas, il faut s’assurer que l’hypervisor et / ou l’OS guest utilise High Performance.

Par défaut, VMWare ESX/ESXi utilise High Performance par défaut.

Par défaut, Windows Server 2008 R2 est à Balanced Performance, ce qui n’est pas désirable dans un environnement BI de Microsoft.

Références

Does CPU power management affect server performance?
http://serverfault.com/questions/94212/does-cpu-power-management-affect-server-performance

Consider CPU Power Optimization Versus Performance When Virtualizing
http://workinghardinit.wordpress.com/2011/06/20/consider-cpu-power-optimization-versus-performance-when-virtualizing/

Follow Up on Power Options for Performance When Virtualizing
http://workinghardinit.wordpress.com/2011/07/01/follow-up-on-power-options-for-performance-when-virtualizing/

Best Practices in Power Management
http://en.community.dell.com/techcenter/power-cooling/w/wiki/best-practices-in-power-management.aspx

(VMWare) Using CPU Power Management Policies
http://pubs.vmware.com/vsphere-4-esx-vcenter/index.jsp#managing_cpu_resources/c_managing_cpu_power_efficiency.html

Degraded overall performance on Windows Server 2008 R2
http://support.microsoft.com/kb/2207548/en-us

SQL Server on Power-Saving CPUs? Not So Fast.
http://www.brentozar.com/archive/2010/10/sql-server-on-powersaving-cpus-not-so-fast/

Why Microsoft Windows Server 2012 produces slow and inconsistent SQL query speeds
http://www.masterofmalt.com/software-development/blog/why-microsoft-windows-server-2012-produces-slow-and-inconsistent-sql-query-speeds/

Oui vous pouvez utiliser C2WTS sur un serveur unique (Single Server Install) avec SharePoint 2013

Problématique

Un article de TechNet crée de la confusion au niveau de la configuration de SharePoint 2013 lorsque tout est sur le même serveur.

Le paragraphe suivant est le coupable:

Note: Some of the configuration steps may change, or may not work in certain farm topologies. For instance, a single server install does not support the Windows Identity Foundation C2WTS services so claims to windows token delegation scenarios are not possible with this farm configuration.

Ou en français:

Remarque : certaines étapes de configuration peuvent changer, ou peuvent ne pas fonctionner dans certaines topologies de batteries de serveurs.  Par exemple, une installation de serveur unique ne prend pas en charge les services C2WTS Windows Identity Foundation, c’est pourquoi les scénarios de délégation de jetons Windows ne sont pas possibles avec cette configuration de batterie de serveurs.

Cela laisse sous-entendre que la sécurité de données (SSAS) ne peut être utilisée avec SharePoint 2013, SSRS et SSAS. Il faudrait donc configurer les sources de données pour utiliser un compte en particulier ce qui empêcherait de retourner des données différentes selon l’utilisateur du rapport.

Plusieurs forums discutent de cette affirmation donc celui-ci. Une hypothèse est que Single Server Install a probablement été inversé pour “Standalone” qui signifie que Windows Internal Database est utilisée plutôt qu’une vrai version de SQL Server.

Solution

Peu importe, nous l’avons testé et cela fonctionne parfaitement!

Dans mon article Reporting Services 2012 et la configuration Kerberos: désolé vous devrez utiliser la constrained delegation avec C2WTS je disais que dès que C2WTS est utilisé, la constrained Kerberos delegation doit être utilisée. Je maintiens mon affirmation avec l’exception suivante: pas si tout est sur le même serveur.

Quand tout est sur le même serveur, utilisez vos comptes de services réguliers qui délèguent vers “Any Services”:

Service Compte
SQL Server (engin relationnel) cs-sql
Analysis Services cs-ssas
Reporting Services cs-ssrs ou cs-web
SharePoint (Web Apps) cs-web
C2WTS Local System

La clé pour que cela fonctionne sur un seul serveur est d’utiliser “Local System” comme compte de service pour C2WTS.

Si vous utilisez un compte de domaine pour C2WTS ça ne fonctionnera pas. Vous n’avez même pas besoin de configurer la délégation Kerberos pour le serveur (i.e. servername$).

Cela vous permettra d’avoir le scénario suivant:

  1. Frédérick demande l’affichage d’un rapport SSRS 2012 stocké dans SharePoint 2013.
  2. IIS l’authentifie via Windows Authentication et la plomberie Microsoft .NET convertira le jeton Windows en Claim.
  3. SharePoint et SSRS fonctionnent en claims.
  4. Puis lorsqu’il est temps d’interoger la source de données (SSAS) il faut obtenir une identité Windows car SSAS n’est pas Claim-Aware. C’est là qu’intervient C2WTS et celui-ci génère un jeton pour Frédérick qu’il envoie à SSAS.
  5. SSAS peut donc retourner les données propres à Frédérick (sécurité de données).

image

Le déploiement sur un seul serveur est pratique pour réaliser des tests ou pour des solutions de moindres envergures.

J’espère donc que cet article contribura à réduire la confusion sur ce sujet.

Et vous, utilisez-vous les déploiement sur un seul serveur avec de la sécurité de données?

Références

Claims to Windows Token Service (C2WTS)
http://technet.microsoft.com/en-us/library/hh231678.aspx

Claims to Windows Token Service (c2WTS) Overview
http://msdn.microsoft.com/en-us/library/ee517278.aspx

Does C2WTS work on a single server install??
http://social.technet.microsoft.com/Forums/sharepoint/en-US/85bd9bf4-ce25-4faf-85ea-6e3bbf081f24/does-c2wts-work-on-a-single-server-install?forum=sharepointadminprevious

Problème de connexion OLEDB avec SSAS et Kerberos

Nous avons rencontré un problème d’authentification Kerberos sous Windows 2008 en utilisant une connexion OLEDB vers Analysis
Services.

Il est parfois nécessaire d’utiliser le pilote OLEDB comme source de données avec Reporting Services. Le pilote par défaut, Microsoft Analysis Services, nous force à requêter des mesures sur les colonnes et le reste sur les lignes. Dans certains cas particulier, le MDX à utiliser ne peut respecter cette règle et il faut alors utiliser le pilote OLEDB.

Dans notre situation, il y avait un serveur pour SharePoint/SSRS et un autre pour SQL/SSAS. Il fallait donc configurer ceux-ci pour la délégation Kerberos.

Il y a cependant un bogue avec Windows 2008 (R1) et Kerberos qui est corrigé uniquement via un Hot Fix.

Voici l’erreur qu’on obtient:

The following system error occurred:
Errors in the compression library: The data could not be decompressed.

La fonction demandée n’est pas prise en charge
Erreurs de la bibliothèque de compression : Impossible de décompresser les données.

La solution est de demander le Hot Fix à Microsoft en fournissant une adresse de courriel. Presqu’immédiatement on reçoit le Hot Fix et il suffit de l’appliquer sur le serveur Windows 2008.

Voici le lien vers le Hotfix (kb 969083):

http://support.microsoft.com/kb/969083

Le problème survient avec les versions suivantes de Windows:

  1. Windows Server 2008 Datacenter
  2. Windows Server 2008 Enterprise
  3. Windows Server 2008 Standard
  4. Windows Vista Enterprise 64-bit Edition
  5. Windows Vista Home Basic 64-bit Edition
  6. Windows Vista Home Premium 64-bit Edition
  7. Windows Vista Ultimate 64-bit Edition
  8. Windows Vista Business
  9. Windows Vista Business 64-bit Edition
  10. Windows Vista Enterprise
  11. Windows Vista Home Basic
  12. Windows Vista Home Premium
  13. Windows Vista Ultimate