การรันเคียวรีขนาดใหญ่บนฐานข้อมูลรองในกลุ่มความพร้อมใช้งานจะส่งผลต่อประสิทธิภาพของธุรกรรมในฐานข้อมูลหลักหรือไม่
ขึ้นอยู่กับโหมดซิงค์ที่คุณใช้เมื่อกำหนดค่ากลุ่มความพร้อมใช้งาน - ซิงค์หรือ Async!
บนแบบจำลองมัธยมศึกษา , การทำธุรกรรมทั้งหมดใช้ระดับการแยกภาพรวมเท่านั้นและคำแนะนำล็อคทั้งหมดจะถูกละเลยเช่นกัน จึงเป็นสิ่งสำคัญที่ต้องทดสอบปริมาณงานของคุณเมื่อเปิดใช้ AlwaysON
จาก: การย่อขนาดบล็อกของ REDO เมื่อเรียกใช้การรายงานภาระงานใน Replica สำรอง
ในขณะที่การทำแผนที่การรายงานภาระงานที่จะกำจัดการแยกภาพรวมการปิดกั้นระหว่าง DML ภาระงานที่ใช้โดยด้ายทำซ้ำบนแบบจำลองมัธยมศึกษาและอ่านหรือภาระการรายงานก็ไม่ได้กำจัดการปิดกั้นศักยภาพของด้ายทำซ้ำเมื่อมีการดำเนินการดำเนินการ DDL
หากใช้งาน
โหมดซิงโครนัส
การบล็อกปัญหาในเรพลิการองของคุณจะส่งผลต่อประสิทธิภาพของเคียวรีของคุณในเรพลิกาหลัก ดังนั้นเวิร์กโหลดการอ่าน (เลือก) ที่รันบนโหนดสำรองอาจบล็อกเธรดการทำซ้ำจากการใช้การเปลี่ยนแปลงที่มาจากเรพลิกาหลัก ซึ่งหมายความว่าแบบจำลองหลักจะต้องรอการเปลี่ยนแปลงที่จะนำไปใช้กับแบบจำลอง SYNC รองทั้งหมดก่อนที่จะกระทำในพื้นที่ & อาจสิ้นสุดในหมดเวลาหรือปิดกั้นหรือการล็อค
ด้ายทำซ้ำสามารถมองเห็นได้ในที่สามารถอ่านได้รองเป็นคำสั่งในDB STARTUP
sys.dm_exec_requests
หากเธรดนั้นถูกบล็อกการอ่านเวิร์กโหลดของคุณบนเวิร์กโหลดอาจส่งผลกระทบต่อเธรดหลัก
สำหรับรายละเอียดเพิ่มเติมให้ตรวจสอบ - สถานการณ์ที่ 1: REDO ที่ถูกบล็อกเนื่องจากเคียวรีขนาดใหญ่บนเรพลิคารอง
โหมดอะซิงโครนัส
- หลักไม่รอการรับรู้จากรอง ปัญหาการบล็อกบนตัวที่สองจะถูกแยกออกเป็นลำดับที่สองซึ่งคิวการทำซ้ำจะเพิ่มขึ้นบนตัวที่สองจนกระทั่งการล็อคนั้นชัดเจนและเธรดการทำซ้ำสามารถใช้บล็อกการบันทึกได้ สิ่งนี้จะไม่ส่งผลกระทบกับแบบจำลองหลัก
คำจำกัดความของคุณของ "เรียลไทม์หรือเกือบเรียลไทม์" ต้องคำนึงถึงวิธีการซิงค์ที่ใช้มากขึ้นเวลาแฝงของเครือข่ายและการยุ่งเป็นเรพลิกาหลักและกิจกรรมบันทึกที่ต้องขนส่งรอง
SQL Server 2016 ได้ทำการปรับปรุงที่สำคัญใน AlwaysON realm เช่น