1 / 21

SQL Server: Skalerbarhet

SQL Server: Skalerbarhet . Rune Log Senior konsulent Ergogroup Stavanger. Agenda. Introduksjon Skalerbarhet for SQL Server 2005 Memory CPU Disk/Filegroups Utfordringer med TempDB Tips Collation, Collation, Collation Linked Servers for x64 og IA64 Tricks

Pat_Xavi
Download Presentation

SQL Server: Skalerbarhet

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SQL Server: Skalerbarhet Rune Log Senior konsulent Ergogroup Stavanger

  2. Agenda • Introduksjon • Skalerbarhet for SQL Server 2005 • 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 • http://www.microsoft.com/wssra

  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 • 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 • 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

  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 www.datadirect.com) og OpenLink software (www.openlinksw.com) • 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 • 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: • www.sqlservercentral.com (veldig bra forum) • Searchsqlserver.techtarget.com (veldig bra newsletter) • www.simpletalk.com • www.sql-server-performance.com • 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. • 1100-1145 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.

More Related