Björn Schneider Managing Consultant ITaCS GmbH Tech Level 300
Agenda Architektur Topologien Demo High Availability Setup Kapazitätsplanung Demo - Last- & Performancetest Performance Optimierung
Architektur
Architektur Komponenten Internet Mailsystem Active Directory (AD) Backend LOB Systeme (LOB) Firewall (FW) Web Frontend Server (WFE) Application Server (APP) Datenbank Server (DB) Netzwerkkomponenten Benutzer Client Anwendungen Storage System (SAN)
Architektur SharePoint Farm Farm Physical Server Web Application(s) aka Virtual Server aka IIS Web Site Top Level Site(s) Sub-Site(s) Shared Service Central Provider (SSP) Admin (CA) Shared Service Provider (SSP) Central Admin (CA) Site Collection
Architektur Datenbank System Mögliche Backend Datenbank-Systeme Microsoft SQL Server 2000 SP4 Microsoft SQL Server 2005 Express Edition Microsoft SQL Server 2005 SP2 (derzeit CU5) kein Support für SQL Server 2008 (until SQL Server 2008 RTM) Datenbank Provisioning Berechtigungen werden automatisch angepasst DBA-created databases möglich HA-Technologien werden unterstützt Clustering, Log Shipping, SQL Mirroring
Architektur Datenbanken Farm Config DB Content DBs SSP Central Admin SSP Central Admin Site Collection A Site Collection A SSP Content SSP DB Search DB CA Content
Architektur SQL Failover Clustering SharePoint Web Front Ends Server Cluster Heartbeat Node A Shared Disk Arrays Node B Hot Standby: Sehr kurze Recovery-Zeiten Applikationsverfügbarkeit ohne administrative Eingriffe
Architektur Application Server (APP) Shared Services Office Server Search Directory import User profile synch Audiences Targeting Business data catalog Excel calculation service Usage reporting Application Server hostet den Shared Service Provider (SSP). SSP kann sehr ressourcenintensiv sein. Nicht alle SSP Dienste können hochverfügbar ausgelegt werden.
Architektur Web Frontend Server (WFE) Hostet alle Web-Applikationen der Farm Betriebssystem Windows Server 2003 mit SP1 und höher Windows Server 2008 (SE, EE, Web, DC) Voraussetzungen IIS6 oder 7.NET Framework 2.0 und 3.0 (WF) Unterstützte Hochverfügbarkeitstechnologien Microsoft Network Load Balancing (NLB) Hardware Load Balancer ISA Server 2006 Veröffentlichung DNS Round Robin
Architektur Weitere Rollen Mail-Server Jedes beliebige SMTP-System z.b. Exchange Server Verzeichnisdienst Active Directory LDAP nur für Authentifizierung und Profilimport Management Server SQL Management Studio System Center Operations Manager 2007 (SP1) Backup Server System Center Data Protection Manager 2007 Stage- und Entwicklungssysteme
Topologien
Topologien Single Server Ein Server mit allen Rollen: Web Front End Applikation Datenbank Server 1: Content Sites SSP SSP Admin Site Shared Services Shared Web Services Central Admin Site Alle Datenbanken
Topologien XXY kleine Farm Load balanced Server: Web Front End Applikation Dedicated SQL Server Server 1 & 2: Content Sites SSP SSP Admin Site Shared Services Shared Web Services Central admin site Server 3 Alle Datenbanken
Topologien X-Y-Z mittlere Farm Load balanced Server: Web Front End Applications Application Server (Index) Geclusterter SQL Server Server 1 & 2: Content Sites SSP SSP Admin Site Shared Services Shared Web Services Server 3 SSP Shared service (Index) Shared web services Central Admin Site Server 4 & 5 Alle Datenbanken
Topologien X-Y-Z große Farm Web front end Web front end Application Servers Index Search Excel calculation Clustered SQL Server WFE Server: 1-4 Content sites SSP + SSP admin site Application Server: 5-10 Server 5-6: - Shared service (Index) - Central Admin Server 7-8: - Shared service (Search) - Shared web services (Search) Server 9 10: - Shared service (Excel) - Shared web services (Excel) DB Server: 11 & 12 Alle Datenbanken
Demo HA Setup
Demo Setup NLB ISA-A (ISA 2006 EE) NLB ISA-B (ISA 2006 EE) NLB CLU-SQL DB DC-1 AD, DNS DC-2 AD, DNS WFE-1 WFE, SSP WFE-2 WFE, SSP APP-1 APP, CAS APP-2 APP, CAS SQL-A SQL-B SQL SQL Server Server 2005 2000 + SP2 Active/Passive Cluster
Kapazitätsplanung
Kapazitätsplanung Speicherplatzbedarf Speicherung von Dokumenten im SharePoint Ablage als BLOB im SQL Server Speicherplatz ca. 1,2-1,5 x des Filesystemsstorage Kosten/MB ca. 2-3 x höher als bei Fileservern SLAs beachten! Empfehlung: Content db 50GB max. Index und Suchdatenbanken Index Server: 5 12% (x 2,5) der Gesamtgröße des zu indizierenden Contents Query Server: gleiche Größe wie Index Server Search-Datenbank: vierfache Größe des Indexes
Kapazitätsplanung Empfohlene Limits Objekt Scope Empfehlung Auswirkung auf Site Collections Web Application 50.000 Farm Web Sites Site Collection 250.000 Site Collection Sub Sites Web Site 2.000 Site View Items View 2.000 List View Lists Web Site 2.000 List View Dokumente Doc library < 10.000 Web Application Dokumente Folder 2.000 Folder View Dokumentengröße File 50 MB Save performance Indizierte Dokumente (MOSS) SSP 50 Mio Farm Web Parts Page 50 Page Anzahl Profile (MOSS) Farm 5 Mio Farm
Kapazitätsplanung Skalierung Farm Typ Anz. Benutzer / gleichzeitig HA Szenario Bemerkung Single Server (SQL Express) 100 / 10 Nein Kleine Teams, WSS Sites, WSS Search Single Server (SQL Server) 500 / 50 Nein Kleine Portale, Server Search Separater SQL Server (1x1) 1.000 / 100 Nein Große Portale mit SSP Medium Farm (2 x 1 x 2) 2.000 / 200 Ja Große Portale mit hohen Anforderungen an den SSP Große Farm (4 x 3 x 2) 100.000 / 1000 Ja Große hochverfügbare Portale mit div. Apps (SSPs)
Kapazitätsplanung Planungstools System Center Capacity Planer 2007 & SharePoint Capacity Planing Tool
Kapazitätsplanung Performance- und Lasttest Ziel Hochrechnung der maximalen Benutzeranzahl Ermittlung von Engpässen Profile Light User (Browsing) Normale User (Dokumenten Management) Power User (Forms, Excel, Search) Extreme User (Robots) Tools Visual Studio Team System
Demo
Performance Optimierung
Performance-Optimierung Latenzverhalten Latency components Server processing ~ 40% SQL processing, # SQL round trips, AJAX processing Client processing ~ 45% Javascript, CSS, AJAX requests, HTML load Wire transfer ~ 5% Bandbreite, Größe des Downloads Empfehlungen #1 killer of latency = Custom Web Parts SQL round trips, excessive client side script
Performance-Optimierung Applikationsebene Wiederverwendung von bestehenden Client-Codes Code-Design nach Performance-Gesichtspunkten Design Pattern auf MSDN Entschlacken der SharePoint Site Entfernen von Java-Scrips, die nicht benutzt werden KB933823 - How to create a detached page that downloads the Core.js file but that does not reference the Core.js file on a SharePoint Server 2007 site Verwendung von AJAX-Technologien Kann den Client-Server deutlich Verkehr reduzieren (z.b. asynchrones Postback, partielle Updates)
Performance-Optimierung Caching Output Cache mit Profilen (RAM) Auf Site Ebene aktiviert Ideal für Internet-Sites Object Cache (RAM) 100MB by default BLOB Cache (Disk) Reduziert SQL Roundtrips durch Caching der SQL BLOBs auf den WFEs Wird in Masterpage integriert <BlobCache location="c:\blobcache" path="\.(gif jpg png css js)$" maxsize="10" maxage="86400" enabled="false"/>
Performance-Optimierung Applikationsebene Application pool recycling Fire STSADM Enumsites stsadm -o enumsites -url http://mywebsite SharePoint Warmup Scripts Gibt s in Joels Blog HTTP Compression Verbessert Latenzzeiten und bringt bis zu 15% mehr Durchsatz Ist bereits für statische Dateien aktiviert (.js,.css) Aspx-Dateien können hinzugefügt werden
Performance-Optimierung Festplattenkonfiguration SQL Server RAID Level Bemerkung Betriebssystem und SQL Files RAID 1 Mind. 4GB, besser 20GB Content db RAID 5 (besser 1+0) 25% frei lassen Transaction Logs RAID 1+0 10-15% der DB Temp db RAID 1+0 Pro Core eine Datei Search db RAID 5 DB Backup RAID 0 (oder 5) Application Server und WFE RAID Level Bemerkung Betriebssystem und MOSS RAID 1 Mind. 4GB, besser 20GB Index bzw. Query Files RAID 5 Index wird 2x gespeichert
Performance-Optimierung Prozessor WFEs brauchen viel CPU Power Ein Quadcore ist schneller als 2 Dualcore CPUs Mehrere Kerne sind wichtiger als GHz 2nd Level Cache ist sinnvoll Application Server Anforderungen an die CPU sind zwar hoch, aber die Auswirkungen sind moderat. SQL Server Auswirkungen der CPU sind moderat.
Performance-Optimierung Arbeitsspeicher WFEs Auswirkung: moderat Abhängig von der Anzahl der WebApps Application Server RAM ist wichtig, denn Indexing braucht RAM 64 Bit erhöht adressierbaren Arbeitsspeicher SQL Server Viel Arbeitsspeicher ermöglicht es, die Datenbanken weitestgehend aus dem RAM zu bedienen.
Performance-Optimierung 64Bit-Architektur Vorteile Bessere Speicherausnutzung und Adressierung Chipset: mehr CPUs & Enhanced bus architecture 64 Bit akzeptiert oob nur signierte Treiber Nachteile 32Bit-Treiber können nicht verwendet werden Applikationen und Tools funktionieren evtl. nicht mehr Kein.NET Framework 1.x verfügbar Alle SharePoint-Editionen als x64 Version verfügbar Gleiche Architektur für alle SharePoint Server innerhalb einer Rolle Farm verwenden!
Performance-Optimierung Netzwerk WFEs Netzwerkverkehr muss 2x durch die NICs Ggf. Trennung von Inbound und Outbound Traffic Unbedingt GBit zwischen WFEs und DB! Tipp: Chimney Offload abschalten! Netsh int ip set chimney DISABLED Application Server - Auswirkungen: moderat SQL Server - Auswirkungen: hoch
Performance-Optimierung Verschlüsselung SSL-Verschlüsselung [Client/Server] kostet ca. 6% (ohne SSL-Beschleuniger) SQL SSL-Verschlüsselung [WFE/SQL] hat einen marginalen Verlust von ca. 3% IPSec-Verschlüsselung [WFE/SQL] kostet ca. 11% (ohne IPSec Offloading)
Performance-Optimierung Authentifizierung Authentifizierungsverfahren haben unterschiedliche Performance Gute AD-Infrastruktur ist wichtig! (4 WFEs pro DC) Laut MS Whitepaper* (schnell langsam) Anonymous Kerberos NTLM Basic Forms Messung Anonymous Basic Kerberos NTLM Forms *WhitePaper: Additional performance and capacity planning factors
Performance-Optimierung Zusammenfassung CPU RAM HDD Netzwerk Application Firewall + - - + Web Frontend Server ++ - - ++ Application Server + + - - Datenbank Server + ++ ++ + Wo lohnt es sich als erstes zu investieren? 1. Gutes Farmdesign 2. Gigabit Netzwerk 3. CPUs in WFE 4. RAM in SQL Server 5. Festplattenkonfiguration SQL Server
Ressourcen Websites SharePoint Community & Wiki Fabians Blog Microsoft SharePoint Teamblog WhitePaper HP: SharePoint on HP ProLiant Servers - Performance Summary MS: MOSS Planing and Architecture Guide MS: Upgrading to Windows Server 2008 for Windows SharePoint Services 3.0 with SP1 MS: Additional performance and capacity planning factors
Ressourcen Weitere Tools HP Proliant Sizer for Microsoft Office SharePoint Server 2007 Weitere Vorträge Vergessen sie Programmierung! Michael Greth (MVP) / Di, 19.02.08 15:30 Enterprise Search Customization Fabian Moritz (MVP) / Mi, 20.02.08 9:15 Anpassung von SharePoint Websites Fabian Moritz (MVP) / Do, 21.02.08 9:15
Vielen Dank!