Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Az SQL Server 2014 -ben (12.x) bevezetett pufferkészletbővítmény zökkenőmentes integrációt biztosít egy nemvolatilis véletlenszerű hozzáférési memória (azaz szilárdtest-meghajtó) bővítményének az adatbázismotor pufferkészletéhez az I/O-átviteli sebesség jelentős javítása érdekében. A pufferkészlet bővítmény nem érhető el minden SQL Server-kiadásban. További információkért lásd az SQL Server 2022
A pufferkészlet bővítmény előnyei
Az SQL Server-adatbázisok elsődleges célja az adatok tárolása és lekérése, így az intenzív lemez I/O az adatbázismotor alapvető jellemzője. Mivel a lemez I/O-műveletei sok erőforrást használhatnak fel, és viszonylag hosszú időt is igénybe vehetnek, az SQL Server az I/O rendkívül hatékonyvá tételére összpontosít. A pufferkészlet az SQL Server elsődleges memóriafoglalási forrása. A pufferkezelés kulcsfontosságú eleme ennek a hatékonyságnak. A pufferkezelési összetevő két mechanizmusból áll: az adatbázislapok eléréséhez és frissítéséhez használt pufferkezelőből, valamint a pufferkészletből az adatbázisfájl I/O-jának csökkentése érdekében.
Az adat- és indexlapok a lemezről a pufferkészletbe kerülnek, a módosított lapokat (más néven piszkos lapokat) pedig visszaírják a lemezre. A kiszolgáló és az adatbázis ellenőrzőpontjaira nehezedő memóriaterhelés miatt a puffergyorsítótár gyakori (aktív) piszkos lapjait ki kell üríteni a gyorsítótárból, és mechanikus lemezekre kell írni, majd visszaolvasni a gyorsítótárba. Ezek az I/O-műveletek általában kis véletlenszerű olvasások és írások 4 KB és 16 KB adat sorrendjében. A kis véletlenszerű I/O mintázatok gyakori kereséseket igényelnek, versenyeznek a mechanikus lemezkar számára, növelik az I/O késleltetést, és csökkentik a rendszer összesített I/O-átviteli sebességét.
Az I/O-szűk keresztmetszetek megoldásának tipikus módszere, ha több DRAM-ot ad hozzá, vagy másik lehetőségként nagy teljesítményű SAS-orsót ad hozzá. Bár ezek a lehetőségek hasznosak, jelentős hátrányaik vannak: a DRAM drágább, mint az adattároló meghajtók, és az orsók hozzáadása növeli a hardver beszerzésének tőkeköltségét, és növeli az üzemeltetési költségeket a megnövekedett energiafogyasztással és az összetevők meghibásodásának megnövekedett valószínűségével.
A pufferkészlet-bővítmény funkció kibővíti a pufferkészlet gyorsítótárát nemvolatilis tárolóval (általában SSD). A bővítmény miatt a pufferkészlet egy nagyobb adatbázis-munkakészletet képes befogadni, ami kényszeríti az I/Os lapozását a RAM és az SSD-k között. Ez hatékonyan áthelyezi a kis véletlenszerű I/O műveleteket a mechanikus lemezekről az SSD-kre. Az SSD-k kisebb késése és véletlenszerű I/O-teljesítménye miatt a pufferkészlet-bővítmény jelentősen javítja az I/O átviteli sebességét.
Az alábbi lista a pufferkészlet bővítményének előnyeit ismerteti.
Nagyobb véletlenszerű I/O-átviteli sebesség
Csökkentett I/O-késés
Tranzakció átviteli sebességének növelése
Jobb olvasási teljesítmény nagyobb hibrid pufferkészlettel
Gyorsítótárazási architektúra, amely kihasználhatja a jelenlegi és jövőbeli alacsony költségű memóriameghajtókat
Fogalmak
A pufferkészlet bővítmény funkcióra az alábbi feltételek vonatkoznak.
| Kifejezés | Leírás |
|---|---|
| SSD (szilárdtest-meghajtó) | A solid-state meghajtók állandó módon tárolják az adatokat a memóriában (RAM). További információért lásd: a Wikipedia meghatározása. |
| puffer | Az SQL Serverben a puffer egy 8 KB-os memóriaoldal, amely megegyezik egy adat- vagy indexlap méretével. Így a puffermemória gyorsítótára 8 KB-os oldalakra van felosztva. A lap a puffergyorsítótárban marad, amíg a pufferkezelőnek szüksége van a pufferterületre, hogy további adatokat olvasson be. Az adatok csak akkor lesznek visszaírva a lemezre, ha módosultak. Ezeket a memóriabeli módosított lapokat piszkos lapoknak nevezzük. A lap tiszta, ha az egyenértékű a lemezen lévő adatbázis-lemezképével. A puffergyorsítótárban lévő adatok többször módosíthatók, mielőtt visszaírták őket a lemezre. |
| Pufferkészlet | Másik nevén puffergyorsítótár. A pufferkészlet egy globális erőforrás, amelyet az összes adatbázis megoszt a gyorsítótárba helyezett adatlapok számára. A puffertár maximális és minimális méretét az indításkor határozzák meg, vagy amikor az SQL Server példányát dinamikusan újrakonfigurálják sp_configure. Ez a méret határozza meg a pufferkészletben a futó példányban bármikor gyorsítótárazható lapok maximális számát. A pufferkészletbővítménnyel lekötött memória maximális méretét a gépen futó többi alkalmazás korlátozhatja, ha ezek az alkalmazások jelentős memóriaterhelést okoznak. |
| Ellenőrzőpont | Az ellenőrzőpontok létrehoznak egy ismert hasznos pontot, amelyből az adatbázismotor megkezdheti a tranzakciónaplóban található módosítások alkalmazását a helyreállítás során egy váratlan leállítás vagy összeomlás után. Egy ellenőrzőpont megírja a piszkos oldalakat és a tranzakciónapló adatait a memóriából a lemezre, és rögzíti a tranzakciónapló adatait is. További információ: Adatbázis-ellenőrzőpontok (SQL Server). |
Részletek
Az SSD-tárolót a rendszer a memóriaalrendszer bővítményeként használja a lemeztároló-alrendszer helyett. Ez azt jelenti, hogy a pufferkészlet-bővítményfájl lehetővé teszi a pufferkészlet-kezelő számára, hogy a DRAM és a NAND-Flash memória használatával sokkal nagyobb pufferkészletet tartson fenn az SSD-k által támogatott, nem felejtő véletlen hozzáférésű memóriában tárolt, közepes aktivitású oldalakból. Ez létrehoz egy többszintű gyorsítótárazási hierarchiát, melynek első szintje (L1) a DRAM, míg a második szint (L2) az SSD-n található pufferkészlet-bővítményfájl. A rendszer csak tiszta oldalakat ír az L2-gyorsítótárba, ami segít az adatok biztonságának fenntartásában. A pufferkezelő kezeli a tiszta lapok L1 és L2 gyorsítótárak közötti mozgását.
Az alábbi ábra magas szintű architekturális áttekintést nyújt a pufferkészletről más SQL Server-összetevőkhöz képest.
Ha engedélyezve van, a pufferkészlet bővítménye megadja a pufferkészlet gyorsítótárazási fájljának méretét és elérési útját az SSD-n. Ez a fájl az SSD egybefüggő tárhelye, és statikusan van konfigurálva az SQL Server-példány indításakor. A fájlkonfigurációs paraméterek módosítása csak akkor végezhető el, ha a pufferkészlet bővítményfunkciója le van tiltva. Ha a pufferkészlet-bővítmény le van tiltva, az összes kapcsolódó konfigurációs beállítás el lesz távolítva a beállításjegyzékből. A pufferkészlet bővítményfájlja az SQL Server-példány leállításakor törlődik.
Kapacitáskorlátozások
Az SQL Server Enterprise kiadás lehetővé teszi a pufferkészlet bővítményének maximális méretét, amely a max server memory (MB)értékének 32-szerese.
Az SQL Server Standard kiadás lehetővé teszi a pufferkészlet bővítményének maximális méretét, amely a max server memory (MB)értékének négyszerese.
Ajánlott eljárások
Javasoljuk, hogy kövesse ezeket az ajánlott eljárásokat.
Miután első alkalommal engedélyezte a pufferkészlet-bővítményt, újra kell indítania az SQL Server-példányt a maximális teljesítménybeli előnyök eléréséhez.
Állítsa be a pufferkészlet-bővítményt úgy, hogy a fizikai memória mérete (
max server memory (MB)) és a pufferkészlet 1:16-os vagy kisebb mérete közötti arány legyen. Az 1:4 és 1:8 közötti alacsonyabb arány optimális lehet. Amax server memory (MB)beállításával kapcsolatos információkért lásd kiszolgáló memóriakonfigurációs beállításait.Mielőtt éles környezetben implementálja, alaposan tesztelje a puffertár bővítményt. Miután éles környezetben van, kerüljük a fájl konfigurációjának módosítását vagy a funkció kikapcsolását. Ezek a tevékenységek negatív hatással lehetnek a kiszolgáló teljesítményére, mivel a pufferkészlet jelentősen csökken, ha a szolgáltatás le van tiltva. Ha le van tiltva, a funkció támogatásához használt memória nem lesz visszanyerve, amíg az SQL Server-példány újra nem indul. Ha azonban a funkció újra engedélyezve van, a memória újra felhasználható a példány újraindítása nélkül.
A pufferkészlet bővítményével kapcsolatos információk visszaadása
A következő dinamikus felügyeleti nézetekkel megjelenítheti a pufferkészlet-bővítmény konfigurációját, és adatokat adhat vissza a bővítmény adatlapjairól.
A teljesítményszámlálók az SQL Server, Buffer Manager objektumban érhetők el a pufferkészlet-bővítményfájl adatoldalainak nyomon követéséhez. További információért lásd a pufferkészlet-bővítmény teljesítményszámlálóit.
A következő XEvents elérhető.
| XEvent | Leírás | Paraméterek |
|---|---|---|
sqlserver.buffer_pool_extension_pages_written |
Akkor lép működésbe, amikor a rendszer kiürít egy lapot vagy lapcsoportot a tárolókészletből, és a tárolókészlet kiterjesztési fájlba írja. | number_pagefirst_page_idfirst_page_offsetinitiator_numa_node_id |
sqlserver.buffer_pool_extension_pages_read |
Akkor aktiválódik, ha egy lap beolvasásra kerül a bővítmény fájlból a pufferkészletbe. | number_pagefirst_page_idfirst_page_offsetinitiator_numa_node_id |
sqlserver.buffer_pool_extension_pages_evicted |
Akkor aktiválódik, amikor egy lap eltávolításra kerül a pufferkészlet kiterjesztési fájljából. | number_pagefirst_page_idfirst_page_offsetinitiator_numa_node_id |
sqlserver.buffer_pool_eviction_thresholds_recalculated |
A kiürítési küszöbérték kiszámításakor aktiválódik. | warm_thresholdcold_thresholdpages_bypassed_evictioneviction_bypass_reasoneviction_bypass_reason_description |
Kapcsolódó tevékenységek
| Tevékenység leírása | Cikk |
|---|---|
| Engedélyezze és konfigurálja a pufferkészlet bővítményt. | ALTER SERVER CONFIGURATION (Szerver konfiguráció módosítása) |
| A pufferkészlet bővítménykonfigurációjának módosítása | ALTER SERVER CONFIGURATION (Szerver konfiguráció módosítása) |
| A pufferkészlet bővítménykonfigurációjának megtekintése | sys.dm_os_buffer_pool_extension_configuration |
| A pufferkészlet bővítményének figyelése |
sys.dm_os_buffer_descriptors SQL Server, Buffer Manager objektum |