ภาพรวมของความแตกต่างประสิทธิภาพของการกำหนดค่าสตอเรจเซิร์ฟเวอร์ SQL ที่มีอยู่สูงใน #Azure: บริการไฟล์หรือที่เก็บข้อมูลระดับสูงของ SMB 3.0
มีบางตัวเลือกเมื่อพูดถึงการกำหนดค่าเซิร์ฟเวอร์ SQL ใน Azure ถ้าคุณต้องการทราบคุณสามารถขอรับความคิดที่ดีจากบทความนี้เซิร์ฟเวอร์ Windows Server Failover Cluster บน Azure IAAS VM – ตอนที่ 1 (Storage) เกี่ยวกับ Azure File Service ที่เพิ่งเปิดตัวซึ่งสามารถใช้จัดเก็บข้อมูลคลัสเตอร์ SQL Server ผ่าน SMB 3.0 ได้ จำไว้ว่าจนถึงวันที่ Azure File Service ไม่สามารถรองรับ Premium Storage ได้ คุณต้องใช้ IOPS ประมาณ 1,000 หรือ 60 MB ต่อวินาทีต่อไฟล์ ด้วยข้อ จำกัด เหล่านี้ Azure File Service น่าจะเป็นตัวเลือกสำหรับฐานข้อมูลที่มีความต้องการ IO น้อยที่สุด
ตรวจสอบผลการทดสอบของฉัน
ดังนั้นแผนคือการทดสอบ SQL Server Storage Configures ที่แตกต่างกัน ฉันจัดเตรียม VM4 DS4 และแนบเก็บข้อมูลพรีเมียมบางอย่างไว้ ถัดไปฉันแนบไฟล์แชร์ SMB 3.0 โดยใช้ Azure File Service ต่อไปนี้เป็นวิธีที่ฉันกำหนดค่าการกำหนดค่าที่เก็บข้อมูล SQL Server ของฉัน
- F: – ดิสก์พรีเมี่ยมขนาดใหญ่ 1 TB P30 ขนาด 1 TB ที่เพิ่มลงในสระ 3TB
- G: – หนึ่ง TB 1 พรีเมี่ยม Storage Disk (ไม่มีสระเก็บ)
- Z: – SMB 3.0 ใช้ไฟล์ร่วมกับ Azure File Services
กระบวนการ
ระมัดระวังเมื่อคุณกำหนดค่า Storage Pool เพื่อใช้ในคลัสเตอร์ คุณสร้างพูลเก็บข้อมูลก่อนที่คลัสเตอร์จะทำงานหรือใช้สคริปต์ Powershell ในพื้นที่เก็บข้อมูล Sql Alwayson กับ Windows 2012 R2 Storage ถ้าคลัสเตอร์ถูกสร้างขึ้นแล้ว ฉันได้สร้างมิเรอร์แบบธรรมดา (RAID o) โปรดทราบว่าฉันไม่ได้กังวลเกี่ยวกับความซ้ำซ้อนเนื่องจากพื้นที่จัดเก็บข้อมูล Azure มีความซ้ำซ้อนสามอย่างในแบ็กเอนด์
ในการกำหนดค่า Storage Pool เพื่อใช้ในคลัสเตอร์คุณต้องระมัดระวังในการดำเนินการต่อ คุณต้องสร้างพูลเก็บข้อมูลก่อนที่คุณจะสร้างคลัสเตอร์หรือถ้ามีการสร้างคลัสเตอร์ไว้ให้ใช้สคริปต์ Powershell ที่อธิบายไว้ใน Sql Alwayson with Windows 2012 R2 Storage Spaces สำหรับประสิทธิภาพที่เพิ่มขึ้นสระว่ายน้ำที่ฉันสร้างขึ้นคือ Simple mirror (RAID 0) ฉันไม่กังวลเกี่ยวกับความซ้ำซ้อนเนื่องจากพื้นที่เก็บข้อมูล Azure บนแบ็กเอนด์มีความซ้ำซ้อนสามเท่า
ฉันควรจะได้ถึงสามครั้งประสิทธิภาพของดิสก์เดียวเนื่องจากฉันมีสามดิสก์ใน Storage Pool ใน RAID 0 ตอนนี้ถ้าฉันเลือกที่จะเพิ่มดิสก์มากยิ่งขึ้นไปยังสระว่ายน้ำฉันจะเพลิดเพลินไปกับประสิทธิภาพที่สูงขึ้น ดิสก์ P30 เดียวทำให้ฉันมี 5000 IOPS และ 200 MB / S จากนี้ฉันควรคาดหวังถึง 15,000 IOPS และ 600 MB / S throughput สำหรับสระของฉัน
ขณะนี้ฉันมีพื้นที่จัดเก็บข้อมูลอยู่ไม่ไกลฉันกำหนดค่า Dskspd เพื่อเรียกใช้การทดสอบเดียวกันในแต่ละวอลุ่มที่ต่างกัน นี่คือสิ่งที่ฉันทำกับพารามิเตอร์ที่ใช้ Dskspd
ดิสเก็ตไดด์ -b8k-d60-h -L-o8 -t16-r -w30-c50M F: io.dat
ดิสเก็ตไดรด์ -d8-d60-h -L -o8 -t16 -r -w30 -c50M G: io.dat Diskspd.exe -b8k -d60 -h -L-o8 -t16 -r -w30 -c50M Z: io.dat
และผลลัพธ์ออกไป
ผลลัพธ์ในการกำหนดค่าที่เก็บ SQL Server แตกต่างกันค่อนข้างคาดการณ์ได้และสรุปไว้ด้านล่าง
เมื่อพิจารณาจากผลลัพธ์แล้วงานนี้ไม่ได้ผลักดันขีด จำกัด สูงสุดของทฤษฎีสูงสุดของโซลูชันการจัดเก็บข้อมูลใด ๆ เหล่านี้ อย่างไรก็ตามความล่าช้ามีผลกระทบอย่างมีนัยสำคัญต่อประสิทธิภาพโดยรวมของการทดสอบนี้โดยเฉพาะ การทดสอบใช้บล็อก 8k ในการผสม 30% เขียนและ 70% อ่านเพื่อจำลองปริมาณงาน OLTP โดยทั่วไปของ SQL Server
แน่นอนว่าคุณต้องการใช้เงินมากขึ้นเท่าใดประสิทธิภาพในการทำงานที่คุณคาดหวังได้มากขึ้น เป็นญาติ
เปรียบเทียบราคาของ SQL Server Storage Configuration ใน Azure
ณ วันที่ 24 พฤศจิกายน 2015 ราคาสำหรับโซลูชันที่ดีที่สุดที่แสดงไว้ที่นี่ (F: ) จะมีราคา 1,216 เหรียญต่อเดือน สัญญานี้สามารถเข้าถึงพื้นที่เก็บข้อมูลขนาด 3 TB ได้อย่างเต็มรูปแบบโดยสามารถอ่าน / เขียนได้ไม่ จำกัด
โซลูชันที่ดีที่สุดอันดับที่สอง (G: ) จะให้พื้นที่เก็บข้อมูล 1 TB ในราคา 1/3 ราคา $ 405 / เดือน Azure File Share มีราคาอยู่ที่ $ 0.10 / GB บวกค่าใช้จ่ายเพิ่มเติมสำหรับการดำเนินการอ่าน / เขียน คุณจะถูกเรียกเก็บเงินสำหรับการใช้งานจริงเท่านั้น ดังนั้นการประมาณค่าใช้จ่ายจริงจะขึ้นอยู่กับการใช้งานของคุณมาก คุณมีค่าใช้จ่ายประมาณ 25% ของ Premium Storage ก่อนค่าใช้จ่ายเพิ่มเติมสำหรับการดำเนินการอ่าน / เขียน
ราคาเช่นทุกสิ่งทุกอย่างใน Cloud มีแนวโน้มที่จะเปลี่ยนแปลงอย่างรวดเร็วเพื่อตอบสนองความต้องการของตลาด ดูข้อมูลราคาล่าสุดที่ https://azure.microsoft.com/en-us/pricing/details/storage/ สำหรับข้อมูลราคาล่าสุด
สรุป
จากการรวบรวมและภาพรวมราคาของการกำหนดค่าที่เก็บข้อมูล SQL Server Azure File Services จะดูล่อลวงจากมุมมองราคา เวลาแฝง ณ จุดนี้ไม่ได้ทำให้เป็นตัวเลือกที่ทำงานได้สำหรับปริมาณงาน SQL Server ที่ร้ายแรงใด ๆ แต่ให้ดูที่การใช้พื้นที่เก็บข้อมูลระดับพรีเมียมและใช้ประโยชน์จากโซลูชันการจำลองแบบบนพื้นฐานของโฮสต์เช่น SIOS DataKeeper เพื่อสร้าง SQL Server Failover Cluster Instances (SQL Standard หรือ Enterprise) หรือดูที่ SQL Server Enterprise Edition และ AlwaysOn AG
ทำซ้ำโดยได้รับอนุญาตจาก https://clusteringformeremortals.com/2015/11/24/highly-available-sql-server-storage-options-in-azure-smb-3-0-file-service-or-premium-storage- ที่มีลักษณะที่มีประสิทธิภาพ-แตกต่าง /