ค้นหาว่าคิวรีใดก่อให้เกิดปริมาณการรับส่งข้อมูลเครือข่ายมากที่สุด


23

บนเซิร์ฟเวอร์ SQL ที่ใช้งานจริงฉันเห็นหนทางอันมหาศาลในการรับส่งข้อมูล มากถึง 200Mbit / s ซึ่งเป็นสาเหตุให้ NETWORK IO รอซึ่งจะทำให้หมดเวลาของแบบสอบถาม ฉันจะทราบได้อย่างไรว่าข้อความค้นหาใดที่ส่งคืนชุดผลลัพธ์ขนาดใหญ่

คำตอบ:


18

คุณสามารถค้นหาได้จากDMV s:

SELECT session_id, num_writes, st.text AS statement_text
FROM sys.dm_exec_connections AS ec
CROSS APPLY sys.dm_exec_sql_text(ec.most_recent_sql_handle) AS st
ORDER BY num_writes DESC

ซึ่งแตกต่างจากการติดตามสิ่งนี้ควรจะปลอดภัยอย่างสมบูรณ์ในการทำงานบนเซิร์ฟเวอร์การผลิต


7

ฉันจะติดตามข้อมูลการผลิตโดยใช้ SQL Profiler และฉันจะรวบรวมรหัส / แบทช์ที่มีการอ่านและเขียนที่ใหญ่ที่สุด กรองการติดตามเพื่อรับเฉพาะโพรซีเดอร์และแบตช์ที่มีค่าสูงในการอ่าน / เขียน เลือกตัวอย่างที่เหมาะกับสายตาของคุณ: สมมติว่ามีผู้อ่านหรือเขียนมากกว่า 1 ล้านคน

ฉันจะนำตัวอย่างของการโทรเหล่านั้นไปยังเครื่อง dev / การทดสอบและเรียกใช้พวกเขาใน Management Studio พร้อมตัวเลือก 'รวมสถิติลูกค้า' (ในแบบสอบถามเมนู - รวมสถิติลูกค้า) จากนั้นคุณจะมีหน้าต่างแยกต่างหากพร้อมข้อมูลสถิติไคลเอ็นต์: จำนวนไบต์ที่ส่งจากลูกค้า, จำนวนไบต์ที่ได้รับจากเซิร์ฟเวอร์

อย่าเปิดใช้งานการติดตามบนฐานข้อมูลการผลิตโดยไม่ต้องกรองข้อมูล !!! กรองที่เป็นไปได้มากที่สุด (โดย db, ชื่อโฮสต์, สิ่งที่คุณเคยเชื่อ) และจากนั้นเริ่มติดตาม อย่าลืมปิด Profiler หลังจาก :-)

PS: ฉันจำอีกตัวเลือกที่ดี: ตามรอยเป็นระยะเวลาคุณควรบันทึกข้อมูลโดยใช้ Perfmon (เลือกเฉพาะ IO params) Profiler มีคุณสมบัติที่ดีในการนำเข้าไฟล์ติดตามและไฟล์ข้อมูล perfmon ร่วมกัน และคุณสามารถเห็นได้เมื่อคุณมีสไปค์ไอโอที่ยิ่งใหญ่ที่สุด

PS2: ฉันยอมรับว่าตัวเลือกของออกุสตุสนั้นสง่างามกว่า แต่ฉันทิ้งคำตอบที่ใหญ่โตไว้สำหรับลูกหลาน! :-)


5

หากคุณยังไม่ได้ดูคุณอาจต้องการตรวจสอบ sp_WhoIsActive ของ Adam Machanic เมื่อไม่นานมานี้เขาได้ทำการโพสต์บล็อกหลายชุดเพื่ออธิบายคุณสมบัติต่าง ๆ ที่สร้างขึ้นใน sp_WhoIsActive ซึ่งหนึ่งในนั้นคือ @delta_interval

ไม่เพียง แต่จะแสดงให้คุณเห็นว่าสิ่งใดที่ทำให้ CPU หรือ I / O โดยรวมส่วนใหญ่แสดงผลได้

ลองอ่านซีรี่ส์บล็อกต่อไปนี้สำหรับคำอธิบายแบบเต็มของคุณสมบัตินี้:

http://whoisactive.com/docs/01_background/

โพสต์บล็อกต่อไปนี้อธิบายวิธีเรียงลำดับผลลัพธ์ของ sp_WhoIsActive และเลือกคอลัมน์ที่จะแสดง:

http://whoisactive.com/docs/24_output/

นี่เป็นหนึ่งในโพสต์มากมายที่มีอยู่ในลิงค์อัปเดตต่อไปนี้ที่เขาตั้งค่าไว้

http://whoisactive.com

รุ่น 11.0 มีให้บริการตามเวลาของคำตอบนี้ดังนั้นหากคุณกำลังใช้รุ่นที่เก่ากว่าอาจถึงเวลาอัพเกรด: D

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.