คำถามติดแท็ก wait-types

1
SLEEP_TASK Wait Type ใน SQL Server - มันระบุอะไร?
ฉันไม่เคยเห็นSLEEP_TASKประเภทรอมาก่อนและวันนี้ฉันดูเหมือนจะได้รับพวกเขามากมาย ฉันไม่ใช่ DBA ที่เป็นทางการเพียงแค่นักพัฒนา SQL Server ที่รู้เรื่อง DBA เราอัปเกรดเซิร์ฟเวอร์ของเราเมื่อสัปดาห์ที่แล้วเป็น10.52.2500.0- R2SP1 ฉันคิดว่า ข้อมูลทั้งหมดที่ฉันสามารถค้นหาออนไลน์ระบุว่าSLEEP_TASKเซิร์ฟเวอร์กำลังรอกระบวนการภายในบางประเภทให้เสร็จสมบูรณ์ ฉันไม่มีการบล็อกหรือกระบวนการพื้นหลังใด ๆ เช่นจุดตรวจหรือการล้างข้อมูลผีทำงานดังนั้นฉันจึงนิ่งงันเล็กน้อย มีใครเคยเห็นรูปแบบการรอนี้มาก่อนและถ้าเป็นเช่นนั้นคุณสามารถบอกฉันได้ว่าอะไรเป็นสาเหตุ

1
ASYNC_NETWORK_IO รอพิมพ์อะไรที่กังวลหรือไม่
ในการดูรายการของโพรซีเดอร์ที่เก็บไว้ซึ่งใช้เวลาในการประมวลผลนานจะมีความโดดเด่นที่ทำให้เกิดการรอคอยมากที่สุด อย่างไรก็ตามการรอนั้นส่วนใหญ่ (81%) เป็น ASYNC_NETWORK_IO และฉันรู้ว่าทำไม: กระบวนการที่เก็บไว้จะถ่ายโอนข้อมูลประมาณ 400 MB ในเอกสารอธิบายว่าสาเหตุของ ASYNC_NETWORK_IO คือไคลเอ็นต์ไม่สามารถตามกระแสข้อมูลได้และนั่นอาจเป็นจริง ฉันไม่แน่ใจว่าจะทำให้ลูกค้าติดตามได้อย่างไรเพราะมันคือการเรียกโพรซีเดอร์ที่เก็บไว้ผ่าน ADO.NET และเพียงแค่ประมวลผลชุดข้อมูล เมื่อได้รับข้อมูลนี้ฉันควรกังวลเกี่ยวกับประเภทรอ ASYNC_NETWORK_IO สำหรับกระบวนการนี้หรือไม่? จริง ๆ แล้วมันมีผลต่อประสิทธิภาพของเซิร์ฟเวอร์หรือไม่ ข้อมูลเพิ่มเติม: ฉันใช้ Service Pack 2 ของ SQL Server 2005 แอปไคลเอ็นต์อยู่ในกล่องเดียวกับ SQL Server (ฉันรู้ว่าฉันรู้ ... แต่ฉันไม่สามารถทำอะไรกับมันได้)

1
การแก้ไขปัญหา SOS_SCHEDULER_YIELD รอ
ใช้ ERP ในองค์กรของเรา (Dynamics AX 2012) ฉันสังเกตว่าสภาพแวดล้อมการผลิตของเรานั้นช้ากว่าระบบการพัฒนาของเรามาก หลังจากทำกิจกรรมเดียวกันทั้งในสภาพแวดล้อมการพัฒนาและการใช้งานจริงในขณะทำการสืบค้นกลับฉันยืนยันว่าข้อความค้นหา SQL กำลังทำงานช้ามากในสภาพแวดล้อมการผลิตของเราเมื่อเทียบกับการพัฒนา (เฉลี่ย 10-50x ช้ากว่า) ตอนแรกฉันอ้างว่าสิ่งนี้เพื่อโหลดและเรียกใช้กิจกรรมเดียวกันอีกครั้งในสภาพแวดล้อมการผลิตในช่วงนอกเวลาทำงานและพบผลลัพธ์เดียวกันในการติดตาม ฉันล้างสถิติการรอของฉันใน SQL Server แล้วปล่อยให้เซิร์ฟเวอร์ทำงานภายใต้ปริมาณการผลิตตามปกติชั่วครู่หนึ่งจากนั้นเรียกใช้แบบสอบถามนี้: WITH [Waits] AS (SELECT [wait_type], [wait_time_ms] / 1000.0 AS [WaitS], ([wait_time_ms] - [signal_wait_time_ms]) / 1000.0 AS [ResourceS], [signal_wait_time_ms] / 1000.0 AS [SignalS], [waiting_tasks_count] AS [WaitCount], 100.0 * [wait_time_ms] / SUM ([wait_time_ms]) OVER() …

3
CXPACKET สูงและ LATCH_EX กำลังรอ
ฉันมีปัญหาด้านประสิทธิภาพกับระบบประมวลผลข้อมูลที่ฉันกำลังทำงานอยู่ ฉันได้รวบรวมสถิติการรอจากเวลาหนึ่งชั่วโมงที่แสดง CXPACKET และ LATCH_EX รอเหตุการณ์จำนวนมาก ระบบประกอบด้วยการประมวลผล SQL เซิร์ฟเวอร์ 3 เครื่องซึ่งมีจำนวนการกระทืบและการคำนวณจำนวนมากจากนั้นป้อนข้อมูลลงในเซิร์ฟเวอร์คลัสเตอร์กลาง เซิร์ฟเวอร์ประมวลผลสามารถมีงานได้ถึง 6 งานในแต่ละครั้ง สถิติการรอเหล่านี้มีไว้สำหรับคลัสเตอร์กลางซึ่งฉันคิดว่าเป็นสาเหตุของปัญหาคอขวด เซิร์ฟเวอร์คลัสเตอร์ส่วนกลางมี 16 คอร์และ 64GB RAM MAXDOP ถูกตั้งค่าเป็น 0 ฉันเดาว่า CXPACKET นั้นมาจากการสืบค้นหลายขนานที่ทำงานอยู่ แต่ฉันไม่แน่ใจว่าสิ่งที่ LATCH_EX รอเหตุการณ์ระบุไว้ จากสิ่งที่ฉันได้อ่านนี้อาจเป็นการรอแบบไม่บัฟเฟอร์? ทุกคนสามารถแนะนำสาเหตุของการรอคอยสถิติเหล่านี้ได้อย่างไรและฉันควรดำเนินการอย่างไรเพื่อตรวจสอบสาเหตุที่แท้จริงของปัญหาประสิทธิภาพการทำงานนี้ ผลลัพธ์ข้อความค้นหายอดนิยมคือสถิติการรอคอยทั้งหมดและผลลัพธ์ข้อความค้นหาด้านล่างคือสถิติในช่วงเวลา 1 ชั่วโมง

2
LATCH_EX รอทรัพยากร METADATA_SEQUENCE_GENERATOR
เรามีกระบวนการที่สร้างรายงานสินค้าคงคลัง ในฝั่งไคลเอ็นต์กระบวนการแยกจำนวนเธรดผู้ปฏิบัติงานที่สามารถกำหนดค่าได้เพื่อสร้างกลุ่มข้อมูลสำหรับรายงานที่สอดคล้องกับที่เก็บหนึ่งแห่งจากหลาย ๆ ที่ (อาจเป็นพันหลายสิบโดยทั่วไป) เธรดผู้ปฏิบัติงานแต่ละคนเรียกบริการเว็บที่ดำเนินการตามขั้นตอนที่เก็บไว้ กระบวนการฐานข้อมูลสำหรับการประมวลผลแต่ละกลุ่มรวบรวมข้อมูลลงในตาราง #Temporary ในตอนท้ายของแต่ละชิ้นประมวลผลข้อมูลจะถูกเขียนไปยังตารางถาวรใน tempdb ในที่สุดเมื่อสิ้นสุดกระบวนการหนึ่งเธรดที่ฝั่งไคลเอ็นต์ร้องขอข้อมูลทั้งหมดจากตาราง tempdb ถาวร ยิ่งผู้ใช้ที่เรียกใช้รายงานนี้ยิ่งได้รับช้า ฉันวิเคราะห์กิจกรรมในฐานข้อมูล ณ จุดหนึ่งฉันเห็นคำขอ 35 รายการที่ถูกบล็อกทั้งหมดถูกบล็อก ณ จุดหนึ่งในกระบวนการ SPIDs ทั้งหมดเหล่านี้ได้ในคำสั่งของ 50 มิลลิวินาทีรอประเภททรัพยากรLATCH_EX METADATA_SEQUENCE_GENERATOR (00000010E13CA1A8)SPID หนึ่งมีทรัพยากรนี้และอื่น ๆ ทั้งหมดกำลังบล็อก ฉันไม่พบสิ่งใดเกี่ยวกับทรัพยากรการรอนี้ในการค้นหาเว็บ ตารางใน tempdb ที่เราใช้อยู่มีIDENTITY(1,1)คอลัมน์ SPID เหล่านี้กำลังรอคอลัมน์ประจำตัวหรือไม่ เราสามารถใช้วิธีการใดในการลดหรือกำจัดการบล็อก เซิร์ฟเวอร์เป็นส่วนหนึ่งของคลัสเตอร์ เซิร์ฟเวอร์กำลังเรียกใช้ SQL Server 2012 Standard Edition SP1 64 บิตใน Windows 2008 R2 …

1
เซสชันที่ถูกบล็อกรอด้วย PAGELATCH_ * รอประเภทหรือไม่
แก้ไข: เหตุใดการรายงานเซสชันถูกบล็อก แต่รอด้วยPAGELATCH_*และไม่LCK_M_เกี่ยวข้องกับประเภทการรอ ก่อนหน้านี้ฉันสันนิษฐานว่าเซิร์ฟเวอร์ SQL จะรายงานเฉพาะเซสชันการบล็อกในคอลัมน์บล็อค_session_Idเท่านั้น PAGELATCH_*หากการประชุมที่ถูกบล็อกกำลังรอล็อคตรรกะและไม่ได้อะไรอย่างอื่นเช่น

3
วิธีแก้ปัญหา enq: TX - การช่วงชิงล็อกการล็อกแถว
ฉันมีสถานการณ์ต่อไปนี้ ฉันมี RAC บนโหนดทั้งสองมีการล็อคอยู่ บนโหนดแรก SID EVENT USERNAME BLOCKING_SESSION ROW_WAIT_OBJ# OBJECT_NAME LOCKWAIT SQL_ID STATUS 1 102 enq: TX - row lock contention MYUSER 155 136972 TABLE1V 0000000810EFA958 5f4bzdg49fdxq ACTIVE 2 111 enq: TX - row lock contention MYUSER 155 136972 TABLE1V 0000000810EFAC98 5f4bzdg49fdxq ACTIVE การปิดกั้นข้อมูลเซสชั่น SID EVENT USERNAME ROW_WAIT_OBJ# OBJECT_NAME …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.