Windows - A Windows 2003 szerver teljesítményének hangolása SQL szerverhez

Cikkünkben többféle tippet találhat arra vonatkozólag, hogy miként lehet egy Windows 2003 szerver alapú SQL kiszolgálóból a legnagyobb teljesítményt kihozni. Foglalkozunk a szerverben található felesleges szolgáltatásokkal, a hálózati protokollokkal, lemezkezeléssel, események nyomkövetésével.
Kapcsoljunk ki minden olyan operációs rendszer szolgáltatást, amely nem szükséges
Ezzel megtartjuk az SQL számára egyaránt a RAM és a CPU ciklusokat, növelve az általános teljesítményét az adatbázis szervernek. Az alábbiakban felsorolunk néhány rendszerszolgáltatást (a lista nem teljes), amelyek nélkülözhetők, és kikapcsolhatók, ha nem használjuk őket. Néhány szolgáltatás ezek közül már "Letiltva" vagy "Kézi" indítási státuszban lesz függetlenül attól, hogy hogyan volt telepítve és konfigurálva a szerver. Néhány szolgáltatást "Kézi" indításúra terveztek, hogy szükség esetén indítani, illetve leállítani mi magunk tudjuk azokat.
  • Alerter
  • Application Management
  • Clipbook
  • Distributed Link Tracking Server
  • Fax Service
  • File Replication
  • FTP Service
  • Indexing Service
  • Internet Connection Sharing
  • Intersite Messaging
  • Kerberos Key Distribution Center
  • License Logging Service
  • Logical Disk Manager Administrative Service
  • Messenger
  • Microsoft Search
  • NetMeeting Remote Desktop Sharing
  • Network DDE
  • Network DDE DSDM
  • Print Spooler Service (ha nem akarunk nyomtatni a szerverről)
  • QoS RSVP
  • Remote Access Auto Connection Manager
  • Remote Procedure Call (RPC) Locator
  • Routing and Remote Access
  • RunAsService
  • Smart Card
  • Smart Card Helper
  • SMTP Service
  • Telnet
  • Utility Manager
  • Windows Installer
  • World Wide Web Service
Természetesen ha szükségünk van ezek közül bármelyik szolgáltatásra, akkor nem szabad kikapcsolnunk őket.
Távolítsuk el a szükségtelen hálózati protokollokat a szerverünkről
Általában az egyedüli szükséges hálózati protokoll a TCP/IP, ha SQL szervert futtatunk. Ha töröljük a szükségtelen hálózati protokollokat, akkor segítünk csökkenteni a terhelést és a szükségtelen hálózati forgalmat.
A Windows 2003 szervert egyedülálló szerverként telepítsük, ne tartományvezérlőként
A tartományvezérlői feladatok jelentős többletterhelést jelentenek és olyan műveleteket végeznek, amelyek nem szükségesek egy SQL szerveren. Hasonlóképpen ne telepítsünk a szerverre szükségtelen kiszolgáló komponenseket, mint amilyen a DNS, DHCP, stb. A cél az, hogy valamennyi erőforrást az SQL szerver rendelkezésére bocsássuk.
Események követése (audit)
A Windows 2003 lehetővé teszi a szerveren történő speciális események követését, és ezeket az eseményeket az eseménynapló szolgáltatás rögzíti a biztonsági naplóba. Amíg ez biztonsági problémák esetén – amikor látni szeretnénk, hogy mi történik a gépen – hasznos lehet, az eseménykövetés használata válogatás nélkül teljesítménybeli hátrányt jelent, különösen ha követni akarjuk az állományok hozzáférési műveleteit.
Az ideális az, ha az SQL műveleti szerveren a nyomkövetés kikapcsolt. Ha esemény nyomkövetést akarunk végezni, akkor kapcsoljuk be a szolgáltatást, végezzük el a vizsgálandó műveletet, majd az audit-ot kapcsoljuk ki.

Mit tegyünk, ha mégis használnunk kell, vagy használni kívánjuk a szervert az SQL kiszolgálón kívül más funkciókra is?
Ha más funkciókat is szeretnénk a szerveren alkalmazni, akkor szembe kell néznünk azzal, hogy nagyobb lapozási aktivitást fogunk tapasztalni, mint amit egy dedikált SQL szervernél észlelnénk (ami nagyon minimális lapozással jár).
Ha ez a helyzet, akkor az egyik lehetséges útja a teljesítmény megőrzésének a nem dedikált szerveren, ha a lapozó fájlt kiterjesztjük több lemezre, vagy lemeztömbbe. Windows 2003-ban egy lapozó fájlt kiterjeszthetünk 16 különböző állományba. Ha ezt a módszert alkalmazzuk, akkor szimultán I/O kérések történhetnek, felgyorsítva a lapozó fájl elérését (hasonlóan a lemezcsíkozáshoz). Ha a lapozó fájl csak egy meghajtón található (ez alapértelmezés Windows 2003-ban), együtt az operációs rendszerrel és más alkalmazásokkal, akkor valamennyi folyamat versenyzik az I/O műveletekért, ami szűk keresztmetszetet jelent. Több fizikai lemezen elosztott lapozó fájl kevésbé terheli I/O műveletekkel a lemezt, és a teljesítmény ezáltal fokozódik.
Ahhoz, hogy ez működjön, vegyük figyelembe, hogy a lapozó állományt a fizikai meghajtók között kell elosztanunk, nem pedig a logikai meghajtókon egy fizikai lemezen belül. Ha egy fizikai lemezen, több logikai partíció között osztjuk el a lapozó fájlt, azzal ugyanott tartunk, mintha egy fájlt használnánk csak, egy partíción.
Dinamikus, vagy alapvető lemezkezelést alkalmazzunk?
A teljesítmény szemszögéből vizsgálva egyik lemeztípus sem gyorsabb a másiknál. Ebből fakadóan aszerint kell választanunk, hogy az I/O műveleti szükségletek mit kívánnak meg tőlünk. Például, ha fürtözni szeretnénk az SQL szervert, akkor nincs más választásunk, mint az alapvető (Basic) lemeztípust választjuk megosztott lemeztömbben.