Érdekes dolgokat a világból, utasítások és vélemények. Maximális párhuzamosság - Válassza ki az optimális SQL érték maximális fokú párhuzamosságát

Nem titok, hogy az SQL-kiszolgáló konfigurálásának problémáira gondolva a teljesítménynövekedéshez kapcsolódó SQL szerver, az informatikai szakértők nagy részét választják a hardver növekedésének javára. De mindig indokolt? Az összes szerver telepítési módja már használt? Ismeretes, hogy a konfigurációs paraméterekkel való együttműködés és az alapértelmezett értékek megváltoztatása képes a rendszer teljesítményének és egyéb jellemzőinek javítására. Ezek közül a konfigurációs beállítások közül az SQL konfigurációnak sok kérdése van, ez az opció - Maximális párhuzamosság (DOP) - Itt van, és beszéljünk róla.

A párhuzamosság (DOP) opció maximális mértéke meghatározza az SQL Server ehhez a kérést, és azt jelenti, hogy a használt kiszolgálói feldolgozók száma. Az alapértelmezett paraméter 0 - a párhuzamosság maximális mértéke. Például, ha 24 magja van - akkor a "Maximális párhuzamosság" értéke 24 és az optimalizálónak felel meg, ha szükségesnek tartja, minden processzorot használhat az oktatás végrehajtásához, azaz a lekérdezés 24 patakkal párhuzamosan kell lennie. A legtöbb esetben ez jó, de nem mindenkinek. Továbbá, nem mindig jó, az alapértelmezett paraméter értékével. A paraméter konfigurálása szükséges, például a következő helyzetben: Például olyan alkalmazásunk van, amelyben minden alkalmazott tájékoztatást ad a napi műveletekről, és bizonyos időn belül minden felhasználó egy kérést végez Jelentés az összes felhasználói műveletről valamilyen idő elteltével. Természetesen, ha az időszakadék nagy, akkor ezt a lekérdezést hosszú ideig hajtják végre, és a DOP alapértelmezésben történő telepítésekor az összes rendelkezésre álló processzort, amely természetesen befolyásolja a többi felhasználó működését. Következésképpen a DOP értékének megváltoztatása, a lekérdezés megváltoztatása nélkül, hogy növelje az SQL-kiszolgáló válaszidejét más felhasználóktól.
Az MS azt javasolja, hogy az értéket az alábbiak szerint állítsa be:

A paraméter beállítása a TSQL teljes kiszolgálóhoz:

EXECT SP_CONFICURE "MAX MELLEGSÉG", 4; Újrakonfigurál.

Ezt az értéket is beállíthatja egy adott TSQL lekérdezéshez:

Használja az AdventureWorks2008R2-t; Menjen válassza ki a ProductID, a SUCRYQTY, SUM (LINEETAL) értékes értékesítési értéket.< $5.00 GROUP BY ProductID, OrderQty ORDER BY ProductID, OrderQty OPTION (MAXDOP 2); GO

Ebben a példában a „Tipp” MAXDOP módosítja az alapértelmezett érték a MAX párhuzamosságát paraméter 2. Részletek az aktuális beállítás lehet:

EXEC SP_CONFICURE "Show Speciális", 1; Újrakonfigurálás; EXEC SP_CONFICURE "Max fokfokozat párhuzamosság"

Most nézzük meg, hogyan befolyásolja ezt az értéket a lekérdezés végrehajtásának mértéke. Annak érdekében, hogy a vizsgálati lekérdezés, amelyet fentebb írtak, hosszabb ideig, adj hozzá egy másik választást. A kérelem megkapja a következő űrlapot:

< $5.00) dt2 WHERE dt.UnitPrice < $5.00 GROUP BY dt.ProductID, dt.OrderQty ORDER BY dt.ProductID, dt.OrderQty

A tesztgépemen a "MAX párhuzamosság" értéke 0-ban jelenik meg. Az MSSQL-t egy 4 magos processzorral ellátott gép indítja el. Számos kísérletet végeztem különböző MAXDOP értékekkel: 1 - 1 - a lekérdezés párhuzamosítása nélkül; 2 - csak 2 mag használata; Egyenlő 4 - Az All és anélkül, hogy az alapértelmezett folyást használja. A végrehajtási statisztikák beszerzése érdekében a kérelmet be kell vonni a beállított statisztikák időpontjában, valamint lehetővé kell tenni a lekérdezési terv megjelenítési gombját a menedzsment stúdióban. A kapott eredmények átlagolásához a ciklusban minden lekérdezést 3 alkalommal végeztem. Az eredmények az alábbiakban láthatóak:

Válassza a DT.PRODUCTID, DT.ODERQTY, SUM (DT.LINETOTAL) értéket az Sales.Salesordertail DT-től (válassza a * Sales.Salesordetail-tól, ahol unitprice< $5.00) dt2 WHERE dt.UnitPrice < $5.00 GROUP BY dt.ProductID, dt.OrderQty ORDER BY dt.ProductID, dt.OrderQty OPTION (MAXDOP 1); SQL Server Execution Times: CPU time = 45942 ms, elapsed time = 46118 ms. SQL Server Execution Times: CPU time = 45926 ms, elapsed time = 46006 ms. SQL Server Execution Times: CPU time = 45506 ms, elapsed time = 45653 ms.

A lekérdezés szempontjából világos, hogy a tipp telepítésekor (MAXDOP 1), a lekérdezés párhuzamosítás nélkül történt. Átlagos lekérdezés végrehajtási idő 45925.66 ms

Válassza a DT.PRODUCTID, DT.ODERQTY, SUM (DT.LINETOTAL) értéket az Sales.Salesordertail DT-től (válassza a * Sales.Salesordetail-tól, ahol unitprice< $5.00) dt2 WHERE dt.UnitPrice < $5.00 GROUP BY dt.ProductID, dt.OrderQty ORDER BY dt.ProductID, dt.OrderQty OPTION (MAXDOP 2); SQL Server Execution Times: CPU time = 51684 ms, elapsed time = 28983 ms. SQL Server Execution Times: CPU time = 51060 ms, elapsed time = 26165 ms. SQL Server Execution Times: CPU time = 50903 ms, elapsed time = 26015 ms.

A tipp (MAXDOP 2) telepítésekor a lekérdezést párhuzamosan 2 CPU-val végeztük, a végrehajtás számát a lekérdezés végrehajtása során láthatjuk. Átlagos lekérdezés végrehajtási idő 27054.33 ms

Válassza a DT.PRODUCTID, DT.ODERQTY, SUM (DT.LINETOTAL) értéket az Sales.Salesordertail DT-től (válassza a * Sales.Salesordetail-tól, ahol unitprice< $5.00) dt2 WHERE dt.UnitPrice < $5.00 GROUP BY dt.ProductID, dt.OrderQty ORDER BY dt.ProductID, dt.OrderQty OPTION (MAXDOP 4); SQL Server Execution Times: CPU time = 82275 ms, elapsed time = 23133 ms. SQL Server Execution Times: CPU time = 83788 ms, elapsed time = 23846 ms. SQL Server Execution Times: CPU time = 53571 ms, elapsed time = 27227 ms.

A tipp telepítésekor (MAXDOP 4), a lekérdezést párhuzamosan 4 processzor végeztük. A lekérdezés átlagos végrehajtási ideje 24735.33 ms

Válassza a DT.PRODUCTID, DT.ODERQTY, SUM (DT.LINETOTAL) értéket az Sales.Salesordertail DT-től (válassza a * Sales.Salesordetail-tól, ahol unitprice< $5.00) dt2 WHERE dt.UnitPrice < $5.00 GROUP BY dt.ProductID, dt.OrderQty ORDER BY dt.ProductID, dt.OrderQty SQL Server Execution Times: CPU time = 85816 ms, elapsed time = 23190 ms. SQL Server Execution Times: CPU time = 85800 ms, elapsed time = 23307 ms. SQL Server Execution Times: CPU time = 58515 ms, elapsed time = 26575 ms.

a kérést párhuzamosan, valamint 4 processzorral végeztük. Átlagos lekérdezési idő 24357.33ms

linkek: http://support.microsoft.com/kb/2023536

Célja: Vizsgálja meg az SQL párhuzamosság hatását az 1c kérésekkel való munkához

Irodalom:

Tesztkörnyezet:

· Windows Server 2008 R2 Enterprise

· SQL Server 2008 R2

· 1C Vállalat 8.2.19.90

1. ábra: SQL tulajdonságok "Általános"


2. ábra: SQL tulajdonságok "ADVANDED"

Eszközök:

· SQL Server Profiler

· 1c kéri a konzolt

Tesztkérés:

VÁLASZT

AK. NAME NAME

NAK,-NEK

Regisztráció. Nyomás osztályozó, mint AK

Belső kapcsolat Regisztráció. Nyomás osztályozó, mint AK1

Az AC.KOD \u003d AK1.KOD

Készítmény:

Az SQL Server Profiler programot futtatjuk, állítsa be a kapcsolatot, az eseményeket és az oszlopokat a 3. ábrán látható módon.


3. ábra Trace tulajdonságok

Telepítse az adatbázisunk kiválasztását


4. ábra Alapszűrő

Csökkentés:

· Maximális párhuzamosság - MDOP

· A párhuzamosság küszöbértéke - költség

Szekvenciális kérési terv tesztelése (MDOP \u003d 1)


5. ábra. Kérjen konzolt - Teljesítményidő 20 másodperc.

Az SQL Server "MAX MELLÁTOZÁSA" kiszolgáló 1-re van beállítva (párhuzamosság nélkül). Megnézzük a profiler eredményét (6. ábra)


6. ábra: Szekvenciális kérés terv

Az SQL Server létrehozta a szekvenciális kérési tervet, míg: a CPU \u003d 6 750 (ek) teljes betöltése, valamint a lekérdezés végrehajtásának ideje \u003d 7,097 (ek)

Párhuzamos kérés terv tesztelése (MDOP \u003d 0, Költség \u003d 5)

Az SQL Server átutalása párhuzamos üzemmódba (SQL lekérdezésben):

Használja a Mestert;

EXEC SP_CONFICURE "Részletes opció megjelenítése", 1;

Ellenőrizze a felülbírálással.

Használja a Mestert;

eXECT SP_CONFICURE "MAX MELHÁRMAZÁS", 0;

Ellenőrizze a felülbírálással.

Végezze el ugyanazt a lekérdezést (7. ábra)


7. ábra: Konzolkérések - végrehajtási idő 16 másodperc.

Ellenőrizze az eredményt a profilerben (8. ábra)


8. ábra: Párhuzamos kérés terv

Az SQL Server ezúttal párhuzamos lekérdezési tervet alakított ki, míg a CPU \u003d 7,905 másodperc, valamint a lekérdezés időtartama \u003d 3,458 másodperc

Szekvenciális kérési terv tesztelése (MDOP \u003d 0, költség \u003d 150)

Megpróbálunk megszabadulni a párhuzamos tervtől a "MELLÁTOZÁSI KÖRNYEZETHETŐSÉG" paraméter segítségével. Alapértelmezés szerint a paraméter 5-re van állítva. A mi esetünkben a párhuzamos terv kialakulásából lehet, hogy megszabaduljon 150-ből (SQL lekérdezésben):

Használja a Mestert;

eXEC SP_CONFICURE "A parallelsm költségküszöbértéke", 150 ;

Ellenőrizze a lekérdezés végrehajtását ezekben a körülmények között (9. ábra)

9. ábra: Konzolkérések - végrehajtási idő 20 másodperc.

Ellenőrizze az eredményt a profilerben (10. ábra)


10. ábra: Szekvenciális kérés terv.

Az SQL Server szekvenciális kérési tervet alakított ki. Teljes betöltése CPU \u003d 7,171 másodperc, lekérdezés végrehajtási idő \u003d 7, 864 másodperc.

Következtetések:

· Vizsgálati lekérdezés végrehajtása egy 1C-os Enterprise környezetben Az SQL Server párhuzamos tervkiszolgáló segítségével jelentős teljesítményt eredményez egy szekvenciális tervhez képest (16 másodperc, 20 másodperc ellenében - nyeremények 4 másodperc)

· Végezze el a vizsgálati lekérdezést az SQL Server segítségével, amikor párhuzamos kérés-terv használata kétszer gyorsabb, mint egy szekvenciális kérési terv használata (3,5 mp. 7.1 másodperc ellen)

· Az SQL Server párhuzamosság nem csak az MDOP paraméter használatával állítható be, hanem a "Márhuzamos költségküszöbérték" paramétere is

  • Tutorial

Ez a kézikönyv olyan kezdőknek, akik egy egyszerű kézikönyvet keresnek az orosz telepítéshez angol verzió SQL Server 2012, amelyet a SharePoint 2013-ra használnak.
Ez a cikk nem szakemberek számára készült.

Minden munka 3 szakaszra oszlik:

  • SQL Server 2012 telepítése
  • A párhuzamos szerver konfigurációjának maximális fokának beállítása
  • Jobbra számlaA SharePoint 2013 telepítésére tervezték
A cikkben is leírja a folyamatot microsoft telepítések.NET Framework. 3.5 az MS környezetben Windows szerver 2012 R2 standart.

Figyelem: A vágott sok kép alatt!

SQL Server 2012 telepítése

1. A telepítés előtt győződjön meg róla, hogy elegendő szabad hely van a merevlemezen (az én esetemben 2,7 GB) volt.
Az elosztás megkezdése után válassza az Elem lehetőséget Telepítés"A bal menüben, majd a" Kattintson az "Elem" gombra Az új SQL Server önálló vagy hozzáadása a meglévő telepítéshez":

2. Indítsa el a telepítő varázslót. Ellenőrzi. A "Részletek megjelenítése" gombra kattintva megtekintheti a részletes jelentést:

3. Részletes jelentés. Nyomja meg az "OK" gombot:

4. Adja meg a termékkulcsot, és nyomja meg a "Következő" gombot:

5. Egyetértek a licencszerződés feltételeivel.
Ehhez tegyen egy kullancsot " Elfogadom a licenc feltételeket

6. A Beállítási szerepkörben válassza ki az első elemet Az SQL Server szolgáltatás telepítése". Nyomja meg a" Következő "gombot:

7. A "Feature Selection" lépésben " Adatbázis-motoros szolgáltatások.", "Vezetői eszközök - alapvető"És" Vezetői eszközök - teljes". Ezután nyomja meg a" Következő "gombot:

8. Ezután a telepítő végrehajtja a másik ellenőrzést. A "Részletek megjelenítése" gombra kattintva megtekintheti a részletes jelentést:

9. Részletes jelentés. (Ebben a szakaszban hiba volt a "Microsoft .NET-keretrendszer 3.5 telepítve ..." szabálya. Erről az alábbiakban). Nyomja meg a "Következő" gombot:

10. A "Példa konfiguráció" lépésben be kell állítania az SQL Server szolgáltatás példányát.
Megismétlem, hogy ez a cikk kezdőknek szól. Ezért feltételezzük, hogy az SQL Server nincs telepítve a kiszolgálón, ami azt jelenti, hogy minden alapértelmezett beállítást hagy. Nyomja meg a "Következő" gombot:

11. Ebben a lépésben a telepítővarázsló megjeleníti a lemezterület követelményeit. Nyomja meg a "Következő" gombot:

12. A kiszolgáló konfigurációs lépésében meg kell adnia a Domain-fiókot a szolgáltatáshoz SQL Server adatbázis-motor"A" Fióknév "és a" Jelszó "mezők kitöltése után nyomja meg a" Következő "gombot:

13. Az "Adatbázis-motor-konfiguráció" lépésben elegendő az aktuális felhasználó hozzáadása az SQL Server rendszergazdákhoz. Ehhez kattintson az "Jelenlegi felhasználó hozzáadása" gombra, majd kattintson a "Következő" gombra:

14. A következő lépésben nyomja meg a "Következő" gombot:

15. Ezután a telepítővarázsló ismét végrehajtja az ellenőrzést, és megjeleníti az eredményeit. Nyomja meg a "Következő" gombot:

16. A "Ready to Telepítés" lépésben a varázsló összefoglaló információkat jelenít meg. Itt kattintson a "Telepítés" gombra:

17. A telepítés befejezése után megjelenik a generált műveletek információi:

18. A számítógép újraindítása érdekében. Bizonyos esetekben (például a Microsoft .NET-keretrendszer 3.5 telepítésekor), a telepítővarázsló maga az ablakot jeleníti meg a számítógép újraindításához. Ne tagadja meg.

A párhuzamos szerver konfigurációjának maximális fokának beállítása

Alapértelmezés szerint a "MAX fokos párhuzamosság" paraméter értéke 0.
A SharePoint 2013 megköveteli, hogy ez a paraméter egyenlő legyen 1.
Könnyen javítható!

1. indítás Microsoft SQL Server Management Studio (Start - Minden program - Microsoft SQL Server 2012 - SQL Server Management Studio).

2. A csatlakozó képernyőn a kiszolgálóra kattintson a "Connect" gombra.

3. A jobb egérgombbal kattintson a kiszolgálóra az ablakban " Objektum felfedezője."És válassza a" Tulajdonságok.":

4. A bal oldali menüben megnyíló kiszolgáló tulajdonságai ablakban válassza az Oldal lehetőséget Fejlett"És tegye a képernyő alján található tulajdonságok listáját. Állítsa be a paraméter értékét Maximális párhuzamosság" ban ben 1 és kattintson az "OK" gombra:

5. Ne zárja be az SQL Server Management Studio-t, akkor hasznos lesz.

A SHAREPINT 2013 beállítási fiókjogainak beállítása

A számla, amelynek nevében a SharePoint 2013 telepítése meg kell erősítenie az SQL szerveren.
Ez a fiók ajánlott a következő szerepek megadásához:
  • dbcreator
  • securityAdmin.
  • nyilvános
1. Az SQL Server Management Studio-ban az ablakban " Objektum felfedezője."Bontsa ki az elemet" Biztonság". Ezután kattintson jobb gombbal a pontra" Logins."És válassza a" Új bejelentkezés.":

2. A "Bejelentkezés neve" mezőben írja be domain név Fiók, amelyről a SharePoint 2013 telepítését és konfigurálását tervezi.

3. A bal menüben válassza ki az oldalt Szerver szerepek.„És nézd szerepét” dbcreator „és a” SecurityAdmin „és győződjön meg arról, hogy a” nyilvános »szerepét már jelölve. Ezután kattintson az« OK „:

Most az SQL Server készen áll a SharePoint 2013 telepítésre.

A Microsoft .NET-keretrendszer telepítése 3.5 A Windows Server 2012 R2 standart

A pont 9. pontjában " SQL Server 2012 telepítése"Hiba történt: nem volt telepítve .NET-keretrendszer 3.5.
A probléma megoldásához a következő lépéseket kell végrehajtani:

1. Meg kell nyitnia a konzolt " Szerverkezelő.".

2. A bal menüben válassza ki a "műszerfal" elemet.

3. Az ablak közepén kattintson a "Szereplők hozzáadása és jellemzői" elemre.

4. A mester, amely megnyílik, ugorjon "mielőtt elkezdené".

5. A "Telepítés típusa" lépésben válassza ki az elemet " Szerepalapú vagy funkcióalapú telepítés". Nyomja meg a" NEXT "gombot.

6. A következő lépésben hagyja el mindent alapértelmezés szerint, és nyomja meg a "Következő" gombot.

7. Ugrás a "Server Roles" lépésre a "Következő" gombra kattintva.

8. A "Jellemzők" lépésben megünnepeljük a ".NET Framework 3.5 funkciók" jelölőnégyzetet. Nyomja meg a "Következő" gombot.

9. A telepítési folyamat befejezése után bezárhatja a "Szerepek hozzáadása és funkciói varázsló" varázslót.

10. Kész!

Minden jó és békés ég a fejed felett!

P.S. Boldog Cosmonautics Day!

Maximális párhuzamosság (DOP) - További SQL Server konfigurációs opció, amely sok kérdéshez kapcsolódik, és amelyek számos kiadványra vonatkoznak. Blogjának e cikkében a szerző reméli, hogy egy kicsit egyértelművé teszi, hogy ez az opció teszi és hogyan kell használni.
Először is, a szerző szeretné eloszlatni minden kétséget, hogy a megadott opció készlet hány processzort használhat SQL Server szervizelése során több kapcsolat (vagy felhasználó) - ez nem így van! Ha az SQL Server hozzáférést biztosít a négy inaktív processzorhoz, és úgy van konfigurálva, hogy mind a négy processzort használja, mind a négy processzort használja, függetlenül a párhuzamosság maximális mértékétől.
Szóval mit ad ez az opció? Ez az opció beállítja az SQL Server által használható processzorok maximális számát. Ha az SQL Server kérésének vissza kell térnie nagy mennyiségű Adatok (sok rekord), néha értelme van párhuzamosan, több kis kérésre, amelyek mindegyike visszaadja a sorok részhalmazát. Így, az SQL Server használata esetén több processzort, és ebből következően a többprocesszoros rendszerek, a nagy rekordok száma a teljes lekérdezés potenciálisan vissza gyorsabb, mint egy egyprocesszoros rendszer.
Számos kritérium van, amelyet figyelembe kell venni, mielőtt az SQL Server "Intra lekérdezési párhuzamosságot" kiváltó (több patak kérésének megszakítása), és nincs részlet részletekben. Megtalálhatja őket Bolban, keresse meg a "párhuzamosság foka" kifejezését. Azt mondja, hogy a párhuzamosításról szóló határozat a memóriafeldolgozó hozzáférhetőségén alapul, és különösen a feldolgozók elérhetőségéről.
Tehát, miért kell gondolkodnunk ennek az opciónak a használatával - mert az alapértelmezett értékben (az SQL Server maga a párhuzamosításról dönt), néha nemkívánatos hatásokat kaphat. Ezek a hatások így néznek ki:

    A párhuzamos kérések lassabbak.

    A kérelmek végrehajtási ideje nem determinisztikus, és szabálytalan felhasználók lehetnek. A végrehajtási idő megváltozhat, mert:

      A kérés néha párhuzamos, és néha nem.

      A kérelmet párhuzamos kéréssel lehet blokkolni, ha a feldolgozókat ezelőtt túlterhelték.

Mielőtt folytatnánk, a szerző szeretné észrevenni, hogy nincs különösebb szükség van a párhuzamosság belső szervezetébe. Ha érdekel, olvashatja el a "párhuzamos lekérdezési feldolgozás" cikket a könyvekben, amelyben ezt az információt részletesebben tartalmazza. A szerző úgy véli, hogy csak két fontos dolog van, amit tudnia kell a párhuzamosság belső szervezetéről:

    A párhuzamos kérések több szálat generálhatnak, mint a "MAX párhuzamossági fokozat" opcióban megadott opcióban. A DOP 4 több szálat generálhat, négy kérésre és további streamek, amelyeket a válogatáshoz, patakok, egységek és szerelvények stb.

    A kérések párhuzamosítása különböző spindeket provokálhat a várakozó típusú CXPacket vagy 0x0200 várakozásához. Ez arra használható, hogy megtalálja azokat a Spid-eket, amelyek készenléti állapotban vannak, amikor párhuzamos műveletek, és a Sysprocesses Waittype: CXPacket. A feladat megkönnyítése érdekében a szerző a tárolt eljárást használja a blogjában: Track_Waitstats.

És így "A kérés lassabban lehet elvégezni, ha párhuzamosan" miért?

    Ha a rendszer nagyon gyenge sávszélesség Lemez alrendszerek, majd a kérelem elemzése során bomlását hosszabb ideig lehet elvégezni, mint párhuzamosság nélkül.

    Lehetséges adatblokkok vagy blokkoló adatok tartományai a másik által használt párhuzamosan és későbbi folyamatban, stb.

    Ha nincs index a predikátumra, ami az asztal beolvasásához vezet. A kérésen belüli párhuzamos működés elrejtheti azt a tényt, hogy a kérés sokkal gyorsabban teljesített volna egy következetes végrehajtási tervvel és a megfelelő indexgel.

Mindezekből következik, hogy az ajánlás a párhuzamosság nélküli lekérdezés végrehajtásának ellenőrzésére irányuló ajánlást (DOP \u003d 1), ez segít az esetleges problémák azonosításában.
A párhuzamosság fent említett hatásait maguknak ki kell hozniuk, hogy a kérelmek párhuzamosításának belső mechanikája nem alkalmas OLTP-alkalmazásokban való használatra. Ezek olyan alkalmazások, amelyekre a végrehajtási idő változása irritálhatja a felhasználókat, és amelyeknél a szerver egyidejűleg szolgál, sok felhasználót nem valószínű, hogy kiválasztja a párhuzamos végrehajtási tervet a processzor munkaterhelési profiljának ilyen alkalmazásai miatt.
Ezért, ha párhuzamosságot fogsz használni, akkor valószínűleg szükség lesz rá, az adatkivonási feladatokra (adatraktár), a döntéshozatali vagy jelentési rendszerek támogatására, ahol nincs sok kérés, de keményen és végrehajtásra kerülnek egy nagy teljesítményű szerver, amelynek nagy mennyiségű üzemi memóriája van.
Ha úgy dönt, hogy párhuzamosságot használ, akkor milyen értéket kell telepíteni a dop? Ennek a mechanizmusnak az az, hogy ha 8 processzorod van, akkor telepítse a DOP \u003d 4-et, és ez nagyfokú valószínűséggel az optimális telepítés lesz. Azonban nincs garancia arra, hogy működik. Az egyetlen módja annak, hogy megbizonyosodjon arról, hogy ez a DOP különböző értékeinek tesztelése. Ezenkívül a szerző azt akarta kínálni, hogy a Tanács empirikus észrevételein alapuljon, soha nem állította be ezt a számot a raktáron lévő feldolgozók számának több mint felét. Ha a szerzőnek hatnál kevesebb feldolgozói voltak, akkor az 1-es DOP-t állították be, amely egyszerűen tiltja a párhuzamosságot. Kivételt tudott tenni, ha olyan adatbázis lenne, amely támogatja az egyetlen felhasználó (néhány adatkivonás technológia vagy jelentési feladat) folyamatát, ebben az esetben a kivétel sorrendjében a DOP 0-ban telepíthető (alapértelmezett érték) Lehetővé teszi az SQL Server számára, hogy döntést hozzon a lekérdezés párhuzamosításának szükségességéről.
A cikk befejezése előtt a szerző meg akarta figyelmeztetni Önt arról, hogy az indexek párhuzamos létrehozása a DOP-hoz telepített számtól függ. Ez azt jelenti, hogy a művelet teljesítményének növelésére vagy újbóli létrehozására vagy újbóli létrehozására szolgál, és természetesen a MAXDOP HINT lekérdezést használhatja, amely lehetővé teszi, hogy figyelmen kívül hagyja a A konfiguráció és a minimális terhelés órában használható.
Végül, a kérés lelassulhat, ha a hibák miatt párhuzamosan lassíthat, ezért győződjön meg róla, hogy az utolsó szervizcsomag telepítve van a szerveren.

Hozzon létre proc track_waitstats (@num_sapples int \u003d 10 , @ Delingnum int \u003d 1 @ DELETYTYPE NVARCHAR ( 10 ) \u003d "Perc") as - T. Davidson - Ez a tárolt eljárás be van állítva \u003d az as \u003d garanciával, - és nem biztosít semmilyen jogot. - A mellékelt szkriptminták használata a feltételek vonatkoznak - a http://www.microsoft.com/info/cpyright.htm címen megadott - @num_samples az a számú alkalom, hogy rögzítse a várakozás, - Az alapértelmezett 10-szer. Az alapértelmezett késleltetési intervallum 1 perc - A késleltetési idő. A késleltetés meghatározza, hogy. - A késleltetési intervallum perc vagy másodperc - WaitStats tábla létrehozása, ha nem létezik, másképp csonkítják Állítsa be a nocount-ot, ha nem létezik (válassza ki) 1 Sysobjects-től, ahol a név \u003d "WaitStats") Table WaitStats (Varchar (Varchar ( 80 ), Numerikus kérések ( 20 ,1 ), Numerikus ( 20 ,1 ), Numerikus ( 20 ,1 ), Most datetime alapértelmezett getdate ()) más csonkolási táblázat várakozás dbcc sqlperf (várakozás, tiszta) - Törölje a WaitStats deklare @i int, @ késleltetés Varchar ( 8 ), @ DT Varchar ( 3 ), @ Most datetime, @ totalwait numerikus ( 20 ,1 ), @ Endtime DateTime, @ Begintime DateTime, @ HR INT, @ MIN INT, @ SEC INT Válassza a @i \u003d 1 Válassza a @dt \u003d tok Alsó (@delayType), ha "perc", majd "M", ha "Minute", majd "M", ha "M", ha "M", ha "m", ha "m", akkor "m", amikor az "M", amikor az "M", akkor "m" Amikor "m", akkor "m", ha "másodperc", akkor "S", ha "másodperc", akkor "s" "s" "s", ha "sec", akkor "s", amikor az "ss", akkor "s", amikor "s", amikor "s", akkor "s", ha "s", akkor "s", ha "s", akkor "s", akkor "s", amikor "s", akkor "s", mikor A késleltetési vége, ha @dt nem ("s", "m") kezdődik "Kérjük, adja meg a késleltetési típust, pl. Másodperc vagy perc" Visszatérés a végén, ha @dt \u003d "s" kezdődik válassza a @Sec \u003d @ Delaynum% 60 Válassza a @min \u003d Cast (@Delaynum / 60 ) Mint int) válassza a @Hr \u003d Cast (@min / 60 ) Mint int) Válassza a @min \u003d @ min% 60 Vége, ha @dt \u003d "m" kezdődik a @SEC \u003d 0 Válassza a @min \u003d @ késleltetés% 60 Válassza a @Hr \u003d Cast (@Delaynum / 60 ) AS INT) END SELECT @Delay \u003d Jobb ( "0" + Convert (VARCHAR ( 2 ), @ Hr), 2 2 ), @ Min), 2 ) + ":" + + Jobb ("0" + konvertálás (varchar (varchar ( 2 ), @ Sec), 2 ) Ha @Hr\u003e 23 vagy @min\u003e 59 vagy @SEC\u003e 59 Kezdje el a választást. "HH: mm: SS késleltetési idő nem\u003e 23:59:59" Válassza a "Késleltetés intervallum és típus:" + konvertálás (Varchar ( 10 ), @ Delaynum) + "," + @delayytype + "konvertálja a" + @delay visszatérő végét, miközben (@i<= @num_samples) begin insert into waitstats (, requests, ,) exec ("dbcc sqlperf(waitstats)" ) select @i = @i + 1 Waitfor késleltetés @delay vége --- Create WaitStats jelentés végrehajtása get_waitstats --//--//--//--//--//--//--//--//--//-//--//--//--//--//--//--//--//--/ Hozzon létre proc get_waitstats-t - Ez a tárolt eljárás be van állítva \u003d az as \u003d garanciával, és - Nem kap jogokat. - A mellékelt szkriptminták használata a megadott kifejezések vonatkoznak - a http://www.microsoft.com/info/cpyright.htm címen. -- - Ez a Proc megteremti a WaitStat jelentési listáját a várakozási típusok szerint - SZÁZALÉK - futtatható, ha a Track_Waitstats végrehajtja Állítsa be a nocount-t a @now DateTime, @ totalwait numerikus ( 20 ,1 ), @ Befejezési datetime, @ begintime datetime, @ HR int, @ min int, @ sec int válasszuk @ teremteni \u003d max (Most), @ begintime \u003d min (most), @ Befejezési \u003d max (ma) származó waitstats ahol \u003d " Teljes " --- Contract Waitfor, Alvás és Resource_Queue Total Válassza a @totalwait \u003d SUM () + 1 A WaitStats-tól, ahol nincs ("Waitfor", "Sleep", "Resource_Queue", "Total", "*** Total ***") és most \u003d @now - Helyezze be a beállított összegeket, rangsorolja a csökkenő csökkenő Törölje a WaitStats-t, ahol \u003d "*** TOTAL ***" ÉS NOW \u003d @NOW INSERT IN WAITSTATS SELECT "*** TOTAL ***", 0 , @ Totalwait, @ totalwait, @ most válassza ki ,, százaléka \u003d öntött ( 100 * / @ Totalwait, mint numerikus ( 20 ,1 )) A várakozásból, ahol nincs ("Waitfor", "Sleep", "Resource_Queue", "Total") és most \u003d @now megrendelés a Desc százalékkal

Ebben a hozzászólásban csak az SQL Serverről beszélünk. Ha "próbálja meg a boldogságot", hogy 1c-t használjon az Oracle-val, DB2-vel, az Ön számára ez az információ haszontalan lesz. De meg kell értened, hogy az 1c-ben elsősorban szakértők vannak az MS SQL Serveren. A DB2 szakértői az IBM-től tett erőfeszítéseket tesznek. Jó vagy rossz lehet sokáig, ez a DBMS fontos, az egyik, a leginkább "sima" 1c működik az MS SQL Serverrel. A legfrissebb üzenetek megítélése az "elöl" többé-kevésbé tisztességes munkával a DB2-vel. Bár személyesen voltam az 1C-nek a DB2-vel való munkavégzésnek a 8.1-es verzióban - minden valahogy nem volt nagyon. Mindenesetre a másik DBMS megválasztása egyértelműen indokoltnak kell lennie - vagy az SQL-ben nem rendelkező opciók (a terheléskiegyenlítő, rács, stb. .

Tehát annak érdekében, hogy mit kell tennie az SQL Serverhez:

1) Állítsa be a memória minimális és maximális mennyiségét. A minimális a rendszer memória fele. Maximum - memória rendszer 2 GB nélkül. Ez történik a Management Studio - a kiszolgáló tulajdonságaiban:

2) Ha a prioritás nincs telepítve a Processzor lapon - telepítenie kell

3) A párhuzamosság maximális mértéke 1.

4) Tartalmazza az SQL Server Agent, egyéni Adatbázis Mail - nincs semmi bonyolult nincs, nem írom le részletesen.

5) A szolgáltatási tervek testreszabása:
Tábornok:
a) frissítési statisztikák - 2 óránként
b) DBCC FreeProcccache - 2 óránként
Minden adatbázishoz:
a) teljes mentés
b) különbség mentés
c) Az indexek töredezettsége - minden nap
d) perestroika indexek - éjszaka hétvégén
e) az alap integritásának ellenőrzése - havonta egyszer éjszaka a hétvégén

6) Azt javaslom, hogy telepítsem a helyreállítási modellt minden egyes adatbázishoz (ingatlanokban), egyszerűen. Ha nincs 24/7 rendszere, és kevesebb, mint 1000 felhasználó van az alapon, nincs hibatűrő klaszter, és nem írta alá az SLA-t, amelyben bármely berendezés kijáratát feltételezzük, hogy visszaállítsa az adatokat Egy másodpercig (és nem az utolsó biztonsági mentés óta) Ez az ajánlás ésszerű lesz. Ellenkező esetben hamarosan sokáig hamarosan és görcsösen tükrözi, hogy hová menjen a születésű tranzaction naplóhoz

7) Távolítsuk el a tempdb adatbázis a szokásos adatbázisokból egy másik lemezre - akkor is, ha újra kell konfigurálni a RAID tömböt, és csökken a teljesítménye. Ellenkező esetben 1 felhasználó képes lesz megbénítani mindenki más munkáját. Ha merevlemez helyett hardveres gyorsítót tartalmaz, akkor természetesen nem tudsz elkülöníteni és tempdb-t helyezni, de csak akkor van, ha van

8) Az esetleges nyomon követésének eszközei - például azt, mint Spotlight http://www.quest.com/spotlight-on-sql-server-enterprise/

9) Ellenőrizze magát a Microsoft Best Practice analizer - http://www.microsoft.com/download/en/details.aspx?id\u003d15289 - egy csodálatos eszköz, amely segít a nem csak a beállításokat, hanem megoldása sok problémát.

Most röviden, amit tettünk mindent:

1) memória. A minimális érték egyszerűen megmenti Önt a "Glitches" -ről, amikor az SQL Server más ismert okokból nem használja az összes rendelkezésre álló memóriát. Meg kell enni! A maximális érték megmenti Önt a swapból, ha az SQL Server Memory Optimizer azonos optimalizálója eldönti, hogy még mindig bántja őt ....

3) Nagyon fontos pont - az immo-t minden tranzakciós rendszerben 1-ben kell elhelyezni. Először is, ez megakadályozza a különböző folyamatok közötti zárak egy részét, amelyek megpróbálják végrehajtani az 1 kérés végrehajtását, megvéd minket néhány "furcsa" hibából. Másodszor ... 1 "Kill" kérés képes lesz kihúzni az összes kiszolgálói erőforrást, ami valamivel nem igaz a többi rendszerhasználóhoz képest. A paraméter határozza meg, hogy 1 kérés feldolgozható-e annyi processzor magban.

5) Az eljárási gyorsítótár statisztikáiról és tisztításáról - ez "meghallgatáson", és itt gyakran elfelejtjük a reyndexációt. Eközben ez az eljárás meglehetősen fontos, különösen az alap volumenének növekedésével, annak fontossági növekedése. Néha a teljesítmény legfeljebb 60% -a elvész az index fragmentáción.

7) Ha van egy Hardware Accelerator vagy csak 2 lemezek különböző hozzáférési sebességet, azt reconsentially gondolni kiemelve Fájlcsoportok az adatbázisok és elosztjuk az egyes táblázatok különböző lemeztömbhöz, különböző hozzáférési idő. Elvégre, ha egyetért, a pH-„áruk raktárakban”, és a referencia könyv „Storage kiegészítő információk” 2. a tárgy a követelmény, hogy a tárolás, gyökeres. Nem szükséges az összes fájlt és képet tárolni az adatbázisban lévő gyors tömbön - kiválaszthatja egy külön, nem olyan gyors, de ahol sok hely van (és nem félnek egy csomó fájlt a letöltésre, a út).