Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

SQL Server: Skalerbarhet

Liknende presentasjoner


Presentasjon om: "SQL Server: Skalerbarhet"— Utskrift av presentasjonen:

1 SQL Server: Skalerbarhet
Rune Log Senior konsulent Ergogroup Stavanger

2 Agenda Introduksjon Skalerbarhet for SQL Server 2005 Tips Tricks
Memory CPU Disk/Filegroups Utfordringer med TempDB Tips Collation, Collation, Collation Linked Servers for x64 og IA64 Tricks Makecab.exe eller 7zip for zipping Bruk av model databasen Perfmon på x64 plattform

3 Introduksjon Vert innleid til Aker Kværner Business Partner i 3 år
Jobbet med SQL Server siden 2000, 2005 siden 2003 for testing Jobbet mye med konsolidering og migrering Jobber nå stort sett bare med x64 og IA64bit cluster Bruker (veldig) mye til på korrekt applikasjons database installasjoner Jobber 8-4 eller 84 (ikke alltid i ett strekk)

4 Litt om design av ”Data Services”
Microsoft har gitt ut Windows Server System Reference Architecture Mye bra dokumentasjon her for arkitektur og build guides SQL Server 2005 ligger under Data Services kategori

5 Skalerbarhet - Memory Tommelfinger regel 75% SQL 25% System
Non-clustered servere – bruker jeg fixed memory settings Clustered servere bruker jeg min-max verdier Perf countere SQL Memory Manager Total Server Memory Target Server Memory Memory Grants Pending

6 Skalerbarhet - CPU Normalt rører jeg ikke dette MEN dersom systemet skal brukes til tunge kjøringer kan du allokere mer/mindre CPU per instans Ved flere datavarehus Ved tunge prosesseringsjobber DTS/SSIS NT Fibers – har aldri konfigurert dette – fått motstridende tilbakemeldinger hvor mye faktisk dette har å si (fra HW leverandører om 64bit). Kjøp gjerne hovedkort med plass til 4x eller 8x cpu for fremtidig skalering (eller bytter du server hvert 3. år?) Putt inn flere (og aktiver lisens når behovet kommer)

7 Skalerbarhet – Disk 1 Viktigste punkt med database server konfigurasjon – stort doping problem! Doping – svære disk controllere er gode på write, kan ikke løse problemet med db jobber som krever gjennomlesning av store tabeller. ”Umulig” å cache i store databaser. High performance -> les NØYE PhysDBStor.doc fra Microsoft og ikke la deg lure av svære diskcontrollere Update statistics av database/tabeller er viktig – test dette før/etter kjøring av samme jobb – test også re-/indexering.

8 Skalerbarhet Disk 2 Utfordringer med store datamengder
Lokal backup kreves (Sharepoint) Identifisering av hva går treigt? Jobber Queries - basert på views (er views indexert?). Ofte problemer når nye rapporter lages – drar info ut fra eksisterende views (som er designet for noe helt annet) – søkene blir store – mye I/O. Bruk Optimizer for å sjekke queries mot test/staging servere før de går i prod. Sjekk The YAPP Method eller T-SQL querying boken av Yztik Ben-Gan kapittel

9 Skalerbarhet Disk 3 Utfordring – mer disk Bruk perf countere
Kan mounte opp ny disk som egen folder i eksisterende driveletter Legge til nytt driveletter og volum I konsoliderte miljø kan en ofte gå tom for driveletters. I Cluster kan en legge til flere instanser per diskgruppe som mounted disk (SQL ”ser” dette). Bakdelen er at ved failover – så går alle instansene du har på en Clustered Resource over til andre noden (blir på samme måte som Active/Passive). Bruk perf countere Avg disk queue wait Avg disk read wait Avg disk write wait

10 Tempdb - kapasitetsplanlegging
Hvorfor gror tempdb? Nye features bruker tempdb Eksisterende features som ikke brukte tempdb før bruker det nå. Eksisterende features som brukte tempdb før bruker nå mer disk Flytting av tempdb – hvordan? Se Books Online ”Moving System Databases”

11 Hvordan flytte tempdb? Determine the logical file names of the tempdb database and their current location on the disk. SELECT name, physical_name AS CurrentLocation FROM sys.master_files WHERE database_id = DB_ID(N'tempdb'); GO Change the location of each file by using ALTER DATABASE. USE master; GO ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = 'E:\SQLData\tempdb.mdf'); GO ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = 'F:\SQLLog\templog.ldf'); GO Stop and restart the instance of SQL Server. Verify the file change. SELECT name, physical_name AS CurrentLocation, state_desc FROM sys.master_files WHERE database_id = DB_ID(N'tempdb'); Delete the tempdb.mdf and templog.ldf files from the original location.

12 Hva lagres i tempdb? User objects Internal objects Version stores
User-defined tables and indexes System tables and indexes Global temporary tables and indexes Local temporary tables and indexes Table variables Tables returned in table-valued functions Internal objects Work tables for cursor or spool operations and temporary large object (LOB) storage. Work files for hash join or hash aggregate operations. Intermediate sort results for operations such as creating or rebuilding indexes (if SORT_IN_TEMPDB is specified), or certain GROUP BY, ORDER BY, or UNION queries. Version stores Row versions that are generated by data modification transactions in a database that uses snapshot or read committed using row versioning isolation levels. Row versions that are generated by data modification transactions for features such as: online index operations, Multiple Active Result Sets (MARS), and AFTER triggers.

13 Skalerbarhet - TempDB Bruk WorkingWithTempDB.doc fra Microsoft
Default hopper denne filen opp og ned som en jojo? Unngå ’shrink file’ operasjoner – i/o intensive Autogrow -> on (men ikke shrink) Flytt tempdb til eget volum/monted volume De kan bli veldig store (største jeg har opplevd er 200gb – og da avbrøt jeg jobben ) Bør planlegges hvis dere har store BCP-in og BCP-out ifbm flytting av baser. Tips: Bruk SQL Alerts til å trigge hvor mye log filer vokser (en alert for hvert intervall).

14 Konfigureringsforslag til DB server
Disk Disks Drive Size Controller RAID Volume Purpose 2 72 GB 1 – 1 1 72 C: Windows, SQL Server Program Files and System Databases (Master, Model, MSDB) (Random) D: Tempdb (Random) 1 – 2 E: Database Transaction Logs (Sequential) 3 5 2 – 1 288 F: Databases (Random) 4 2 – 2 144 G: Backups and Batch Processing (Sequential) 14 648

15 Tips - Collation Hva er det?
Virkninger av installasjon med ”feil” collation Når merker du problemene? Rapporter, sortering Ved Sybase ASE 12.5 brukte vi 3-4 uker på å finne riktig collation Isoler forskjellige krav til collations med instanser (default bruker jeg alltid SQL_Latin_General_CP1_CI_AS)

16 Tips: Linked Servers x64 og IA64
Drivere – hvordan få SQL til å koble seg opp mot driveren? Datadirect (tidl. Merant og OpenLink software ( Oracle har 64bit klienter (sjekk også ut InstantClient for x64 – virker bra) Sybase har nå OpenClient v.15 på x64 platform men ”ALLE” migrerer bort fra dette... SQL 2005 mot SQL 2000 virker veldig bra på x64 -> x64-x86, x64 -> ia64

17 Replikering I Aker Kværner så blir ikke replikering via SQL benyttet. All replikering foretas av PowerCenter applikasjon. Årsak er å få kontroll på hvor dataflyten går. Skal man replikere fra mange sourcer så benytt replikeringshub utenfor OLTP servere (cluster) – se WSSRA dokumentasjon

18 Tricks Makecab.exe for kjapp zipping av (store) filer Model databasen
Change environment settings til annen enn C: før du starter cmd.exe – mellomlagrer på C:\ i temp i profilen din! Model databasen Konfigurer denne til ønskede settings Enhver ny database får disse settingene (unngår mye filfragmentering på disk ved å la baser vokse) Perfmon på x64 (fikset i SP2) SQL countere er 32bit Kjør perfmon /32 for å få opp sql countere Endre regkey for å lagre perfmon på server

19 Performance Monitor på x64 – fikset i SP2 (tror jeg)
Når man drar opp performance monitor på x64 får man bare opp maskin countere SQL Countere er 32bit ! Start -> Run -> perfmon.msc /32 – da får du opp SQL countere men kan ikke lagre! Endre regkey HKLM\System\CurrentControlSet\Services\Sysmonlog\ImagePath til %SystemRoot%\syswow64\smlogsvc.exe du får nå lagret loggene og kan schedulere

20 Slutt Gode linker: Spørsmål…
(veldig bra forum) Searchsqlserver.techtarget.com (veldig bra newsletter) Spørsmål…

21 1000-1045 SQL Server: Skalerbarhet – Rune Log, Ergogroup
De siste årene har Aker Kværner flyttet mange av de største systemene sine over på SQL Server. Vi gjennomgår disk konfigurasjoner, minnekonfigurasjon, Tempdb, og mange andre tips for oppsett av SQL Server for å få best uttelling av migrering. En dag i livet til en SQL Server DBA – Rune Log, Ergogroup Stordrift av SQL Server – hva innebærer det i praksis? Rune Log har vært DBA for Aker Kværner i 3 år og gir oss et innblikk i en hverdag med patching, sizing, overvåkning, utrulling av nye applikasjoner og ikke minst – brukere som bare skal installere noe på SQL Serveren.


Laste ned ppt "SQL Server: Skalerbarhet"

Liknende presentasjoner


Annonser fra Google