CXPACKET

(engedély nélkül tilos újra közzétenni vagy felhasználni ezt az információt kereskedelmi termékben/webhelyen. Minden más felhasználás megengedett. Ha kétségei vannak, kérdezze meg.)

(vissza a főoldalra…)

leírás:

ennek a várakozási típusnak a legegyszerűbb magyarázata az, hogy párhuzamos tervek futnak. Sokat írtak erről a várakozási típusról és arról, hogy mit kell tenni, és sajnos sok rossz tanács van odakint. Amikor egy csere iterátor (pl. Particionálási folyamok) vagy párhuzamos szkennelés fut, legalább egy CXPACKET várakozás lesz (a vezérlő szálra), esetleg mások, ha a munka torz eloszlása van.

ne csak csökkentse a szerver MAXDOP, hogy megpróbálja csökkenteni vagy eltávolítani ezeket! Kérjük, olvassa el a részletes magyarázatokat és tanácsokat az alábbi linkeken.

(Books Online description: “párhuzamos lekérdezési tervekkel fordul elő, amikor megpróbálja szinkronizálni a lekérdezési processzorcsere-iterátort. Ha a várakozás túlzott, és nem csökkenthető a lekérdezés hangolásával (például indexek hozzáadásával), fontolja meg a párhuzamosság költségküszöbének módosítását vagy a párhuzamosság mértékének csökkentését.”)

Kérdések/megjegyzések erről a várakozási típusról? Kattintson ide, hogy küldjön Paul egy e-mailt, különösen, ha bármilyen információt hozzá ehhez a témához.

hozzáadott SQL Server verzió:

Pre-2005/2005

eltávolított SQL Server verzió:

N/A

Extended Events wait_type érték:

a map_key érték sys.a dm_xe_map_values értéke 187 2008 – ban és 2008-ban R2, és 191 2012-ben és 2014-ben RTM. Az 2014 RTM után ellenőriznie kell a DMV-t, hogy megkapja a legfrissebb értéket, mivel néhány map_key érték megváltozott a későbbi buildekben.

egyéb információ:

a cxpacket waits Térdig érő reakciója az, hogy megpróbálja eltávolítani vagy csökkenteni őket. Ez helytelen, mivel a munkaterhelés teljesen normális része lehet. Meg kell vizsgálnia, hogy hol fordulnak elő, és meg kell határoznia, hogy a párhuzamosság érvényes-e vagy sem, és ha érvényes, normálisan működik-e, vagy van-e ferde párhuzamosság.

két részletes cikket írtam a cxpacket waits on megértéséről és hibaelhárításáról sqlperformance.com:

  • Knee-Jerk Wait statisztikák: CXPACKET
  • További információ a CXPACKET Waits-ről: ferde párhuzamosság

vegye figyelembe, hogy a 2016 SP2, a 2017 RTM CU3 és az Azure SQL Database esetében a CXPACKET wait-et úgy osztották fel, hogy a jóindulatú, nem cselekvőképes párhuzamossági várakozások most CXCONSUMER waits-ként jelennek meg. Ez azt jelenti, hogy kevesebb CXPACKET vár, és azok, amelyek megmaradnak, nagyobb valószínűséggel jelzik a teljesítményproblémát.

ismert előfordulások az SQL Serverben (listaszám megegyezik a hívási veremlistával):

az alábbi halmok a különböző lekérdezési terv operátorok párhuzamos szálainak példái. Sok, sok más előfordulás van hasonló halmokkal.

rövidített híváshalmok (lista száma megegyezik az ismert előfordulások listájával):

  1. SOS_Task::PostWait+90
    EventInternal::Wait+2c6
    EventInternal::WaitAllowPrematureWakeup+c7
    CXPipe::Pull+156
    CXTransLocal::AllocateBuffers+64
    CQScanXProducerNew::AllocateBuffers+31
    CQScanXProducerNew::GetRowHelper+293
    CQScanXProducerNew::GetRow+15
    FnProducerOpen+57
    FnProducerThread+851
    SubprocEntrypoint+a59
    SOS_Task::Param::Execute+21e
    SOS_Scheduler::RunTask+a8
  2. SOS_Task::PostWait+90
    EventInternal::Wait+2c6
    EventInternal::WaitAllowPrematureWakeup+c7
    XchngWait+b5
    CXPort::Open+147
    CQScanXProducerNew::Open+da
    FnProducerOpen+44
    FnProducerThread+851
    SubprocEntrypoint+a59
    SOS_Task::Param::Execute+21e
    SOS_Scheduler::RunTask+a8
  3. SOS_Task::PostWait+90
    EventInternal::Wait+2c6
    EventInternal::WaitAllowPrematureWakeup+c7
    CXPacketList::RemoveHead+e9
    CXPipe::ReceivePacket+7a
    CXTransLocal::ReceiveBuffers+2d
    CQScanExchangeNew::GetRowFromProducer+5f
    CQScanExchangeNew::GetRowHelper+66
    CQScanSortNew::BuildSortTable+2a6
    CQScanSortNew::OpenHelper+c0
    CQScanNew::OpenHelper+41
    CQScanStreamAggregateNew::Open+30
    CQScanNLJoinNew::Open+24
    CQScanSortNew::BuildSortTable+3a
    CQScanSortNew::OpenHelper+c0
    CQScanNew::OpenHelper+41
    CQScanXProducerNew::Open+c8
    FnProducerOpen+44
    FnProducerThread+851
    SubprocEntrypoint+a59
    SOS_Task::Param::Execute+21e
    SOS_Scheduler::RunTask+a8
  4. SOS_Task::PostWait+90
    EventInternal::Wait+2c6
    EventInternal::WaitAllowPrematureWakeup+c7
    XchngWait+b5
    CXPort::Open+147
    CQScanExchangeNew::Open+104
    CQScanHash::ConsumeBuild+fd
    CQScanHash::Open+8e
    CQScanSortNew::BuildSortTable+3a
    CQScanSortNew::OpenHelper+c0
    CQScanNew::OpenHelper+41
    CQScanXProducerNew::Open+c8
    FnProducerOpen+44
    FnProducerThread+851
    SubprocEntrypoint+a59
    SOS_Task::Param::Execute+21e
    SOS_Scheduler::RunTask+a8

You might also like

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.