การรันเคียวรีขนาดใหญ่บนฐานข้อมูลรองในกลุ่มความพร้อมใช้งานจะส่งผลต่อประสิทธิภาพของธุรกรรมในฐานข้อมูลหลักหรือไม่


17

ฉันต้องการให้ข้อมูลตามเวลาจริงหรือเกือบตามเวลาจริงสำหรับการรายงาน SSRS และ Tableau ฉันไม่ต้องการให้ระบบ OLTP ที่ใช้ในการผลิตได้รับผลกระทบทางลบจากการสืบค้นที่ใช้เวลานาน การรันเคียวรีขนาดใหญ่บนฐานข้อมูลรองในกลุ่มความพร้อมใช้งานจะส่งผลต่อประสิทธิภาพของธุรกรรมในฐานข้อมูลหลักหรือไม่

คำตอบ:


14

การรันเคียวรีขนาดใหญ่บนฐานข้อมูลรองในกลุ่มความพร้อมใช้งานจะส่งผลต่อประสิทธิภาพของธุรกรรมในฐานข้อมูลหลักหรือไม่

ขึ้นอยู่กับโหมดซิงค์ที่คุณใช้เมื่อกำหนดค่ากลุ่มความพร้อมใช้งาน - ซิงค์หรือ Async!

บนแบบจำลองมัธยมศึกษา , การทำธุรกรรมทั้งหมดใช้ระดับการแยกภาพรวมเท่านั้นและคำแนะนำล็อคทั้งหมดจะถูกละเลยเช่นกัน จึงเป็นสิ่งสำคัญที่ต้องทดสอบปริมาณงานของคุณเมื่อเปิดใช้ AlwaysON

จาก: การย่อขนาดบล็อกของ REDO เมื่อเรียกใช้การรายงานภาระงานใน Replica สำรอง

ในขณะที่การทำแผนที่การรายงานภาระงานที่จะกำจัดการแยกภาพรวมการปิดกั้นระหว่าง DML ภาระงานที่ใช้โดยด้ายทำซ้ำบนแบบจำลองมัธยมศึกษาและอ่านหรือภาระการรายงานก็ไม่ได้กำจัดการปิดกั้นศักยภาพของด้ายทำซ้ำเมื่อมีการดำเนินการดำเนินการ DDL

หากใช้งาน

  • โหมดซิงโครนัส

    • การบล็อกปัญหาในเรพลิการองของคุณจะส่งผลต่อประสิทธิภาพของเคียวรีของคุณในเรพลิกาหลัก ดังนั้นเวิร์กโหลดการอ่าน (เลือก) ที่รันบนโหนดสำรองอาจบล็อกเธรดการทำซ้ำจากการใช้การเปลี่ยนแปลงที่มาจากเรพลิกาหลัก ซึ่งหมายความว่าแบบจำลองหลักจะต้องรอการเปลี่ยนแปลงที่จะนำไปใช้กับแบบจำลอง SYNC รองทั้งหมดก่อนที่จะกระทำในพื้นที่ & อาจสิ้นสุดในหมดเวลาหรือปิดกั้นหรือการล็อค

      ด้ายทำซ้ำสามารถมองเห็นได้ในที่สามารถอ่านได้รองเป็นคำสั่งในDB STARTUP sys.dm_exec_requestsหากเธรดนั้นถูกบล็อกการอ่านเวิร์กโหลดของคุณบนเวิร์กโหลดอาจส่งผลกระทบต่อเธรดหลัก

      สำหรับรายละเอียดเพิ่มเติมให้ตรวจสอบ - สถานการณ์ที่ 1: REDO ที่ถูกบล็อกเนื่องจากเคียวรีขนาดใหญ่บนเรพลิคารอง

  • โหมดอะซิงโครนัส

    • หลักไม่รอการรับรู้จากรอง ปัญหาการบล็อกบนตัวที่สองจะถูกแยกออกเป็นลำดับที่สองซึ่งคิวการทำซ้ำจะเพิ่มขึ้นบนตัวที่สองจนกระทั่งการล็อคนั้นชัดเจนและเธรดการทำซ้ำสามารถใช้บล็อกการบันทึกได้ สิ่งนี้จะไม่ส่งผลกระทบกับแบบจำลองหลัก

คำจำกัดความของคุณของ "เรียลไทม์หรือเกือบเรียลไทม์" ต้องคำนึงถึงวิธีการซิงค์ที่ใช้มากขึ้นเวลาแฝงของเครือข่ายและการยุ่งเป็นเรพลิกาหลักและกิจกรรมบันทึกที่ต้องขนส่งรอง

SQL Server 2016 ได้ทำการปรับปรุงที่สำคัญใน AlwaysON realm เช่น


2
เธรด REDO ที่ถูกบล็อกจะไม่ส่งผลกระทบต่อ "ประสิทธิภาพของการสืบค้นของคุณในเรพลิกาหลัก" การช่วงชิงของ IO บนอุปกรณ์รองสามารถชะลอการบันทึกเร็กคอร์ดในเรคคอร์ดรองซึ่งสามารถส่งผลต่อเวลาการคอมมิชชันบนหลัก แต่สิ่งนี้ไม่เกี่ยวกับเธรด REDO หลักไม่รอให้ REDO ใช้การเปลี่ยนแปลง เพียงเพื่อให้เขียนไปยังล็อกไฟล์ ดูblogs.msdn.microsoft.com/sqlserverstorageengine/2011/12/22/ …
David Browne - Microsoft
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.