แชร์ผ่าน


คําแนะนําการวางแผนความจุสําหรับเซิร์ฟเวอร์รายงาน Power BI

เซิร์ฟเวอร์รายงาน Power BI เป็นโซลูชันการรายงาน BI แบบบริการตนเองและองค์กรที่ลูกค้าสามารถปรับใช้ในสถานที่ของตนหลังไฟร์วอลล์ได้ มันรวมความสามารถของรายงานแบบโต้ตอบของ Power BI Desktop กับแพลตฟอร์มเซิร์ฟเวอร์ภายในองค์กรของ SQL Server Reporting Services ด้วยการใช้การวิเคราะห์และการรายงานภายในองค์กรอย่างหนักและเพิ่มขึ้นการจัดทํางบประมาณโครงสร้างพื้นฐานฮาร์ดแวร์และใบอนุญาตซอฟต์แวร์ที่จําเป็นในการปรับขนาดไปยังฐานผู้ใช้ระดับองค์กรอาจเป็นเรื่องที่ท้าทาย เอกสารนี้มีวัตถุประสงค์เพื่อเสนอคําแนะนําเกี่ยวกับการวางแผนความจุสําหรับเซิร์ฟเวอร์รายงาน Power BI โดยการแชร์ผลลัพธ์การดําเนินการทดสอบการโหลดจํานวนมากของปริมาณงานต่าง ๆ กับเซิร์ฟเวอร์รายงาน แม้ว่ารายงาน คิวรี และรูปแบบการใช้งานขององค์กรจะแตกต่างกันอย่างมาก แต่ผลลัพธ์ที่นําเสนอในเอกสารนี้ พร้อมกับการทดสอบจริงที่ใช้และคําอธิบายโดยละเอียดเกี่ยวกับวิธีการดําเนินการ จะทําหน้าที่เป็นจุดอ้างอิงสําหรับทุกคนในกระบวนการวางแผนระยะเริ่มต้นของการปรับใช้เซิร์ฟเวอร์รายงาน Power BI

บทสรุปผู้บริหาร

เราดําเนินการปริมาณงานสองชนิดที่แตกต่างกันกับเซิร์ฟเวอร์รายงาน Power BI ปริมาณงานแต่ละรายการประกอบด้วยการแสดงรายงานประเภทต่างๆ ตลอดจนการดําเนินการเว็บพอร์ทัลต่างๆ

  • ในปริมาณงาน "รายงาน Power BI หนัก" การดําเนินการที่ดําเนินการบ่อยที่สุด (เช่น การดําเนินการดําเนินการ 60% ของเวลา) คือการแสดงรายงาน Power BI
  • ในปริมาณงาน "รายงานที่มีการแบ่งหน้าหนัก" การดําเนินการที่ดําเนินการบ่อยที่สุดคือการแสดงรายงานที่มีการแบ่งหน้า

ภายใต้โทโพโลยีสี่เซิร์ฟเวอร์ของเซิร์ฟเวอร์รายงาน Power BI และความคาดหวังว่าผู้ใช้ไม่เกิน 5% จะเข้าถึงเซิร์ฟเวอร์รายงานในคราวเดียว ตารางต่อไปนี้อธิบายจํานวนผู้ใช้สูงสุดที่เซิร์ฟเวอร์รายงาน Power BI สามารถจัดการได้ด้วยความน่าเชื่อถืออย่างน้อย 99%

ปริมาณงาน แรม 8 คอร์/32 GB แรม 16 คอร์/64 GB
รายงาน Power BI หนัก (>60%) ผู้ใช้ 1,000 คน ผู้ใช้ 3,000 คน
รายงานที่มีการแบ่งหน้า (RDL) หนัก (>60%) ผู้ใช้ 2,000 คน ผู้ใช้ 3,200 คน

ในการวิ่งแต่ละครั้งทรัพยากรที่ล้นหลามที่สุดคือ CPU ด้วยเหตุนี้ การเพิ่มจํานวนคอร์ไปยังเซิร์ฟเวอร์รายงาน Power BI จะให้ความน่าเชื่อถือของระบบที่สูงกว่าการเพิ่มจํานวนหน่วยความจําหรือพื้นที่ฮาร์ดดิสก์

วิธีการทดสอบ

โทโพโลยีการทดสอบที่ใช้นั้นใช้ Microsoft Azure Virtual Machines แทนฮาร์ดแวร์ทางกายภาพเฉพาะของผู้จําหน่าย เครื่องทั้งหมดโฮสต์ในภูมิภาคของสหรัฐอเมริกา สิ่งนี้สะท้อนให้เห็นถึงแนวโน้มทั่วไปของการจําลองเสมือนฮาร์ดแวร์ทั้งในองค์กรและในระบบคลาวด์สาธารณะ

โทโพโลยีเซิร์ฟเวอร์รายงาน Power BI

การปรับใช้เซิร์ฟเวอร์รายงาน Power BI ประกอบด้วยเครื่องเสมือนต่อไปนี้:

  • ตัวควบคุมโดเมนไดเรกทอรีที่ใช้งานอยู่: จําเป็นสําหรับกลไกจัดการฐานข้อมูล SQL Server, SQL Server Analysis Services และเซิร์ฟเวอร์รายงาน Power BI เพื่อรับรองความถูกต้องของคําขอทั้งหมดอย่างปลอดภัย
  • กลไกจัดการฐานข้อมูล SQL Server และ SQL Server Analysis Services: นี่คือที่ที่เราจัดเก็บฐานข้อมูลทั้งหมดสําหรับรายงานที่จะใช้เมื่อเราแสดงผล
  • เซิร์ฟเวอร์รายงาน Power BI
  • ฐานข้อมูลเซิร์ฟเวอร์รายงาน Power BI ฐานข้อมูลเซิร์ฟเวอร์รายงานถูกโฮสต์บนเครื่องที่แตกต่างจากเซิร์ฟเวอร์รายงาน Power BI ดังนั้นจึงไม่จําเป็นต้องแข่งขันกับกลไกจัดการฐานข้อมูล SQL Server สําหรับหน่วยความจํา CPU เครือข่าย และทรัพยากรดิสก์

สกรีนช็อตแสดงไดอะแกรมของความสัมพันธ์ระหว่างเซิร์ฟเวอร์รายงาน Power BI, Active Directory และฐานข้อมูลที่เกี่ยวข้อง

ดู ภาคผนวก 1.1 โทโพโลยีเซิร์ฟเวอร์รายงาน Power BI และภาคผนวก 1.2 การกําหนดค่าเครื่องเสมือนเซิร์ฟเวอร์รายงาน Power BI สําหรับการกําหนดค่าอย่างละเอียดของเครื่องเสมือนแต่ละเครื่องที่ใช้ในโทโพโลยี

ทดสอบ

การทดสอบที่ใช้ในการเรียกใช้การทดสอบโหลดจะพร้อมใช้งานต่อสาธารณะในโครงการ GitHub ที่เรียกว่า Reporting Services LoadTest เครื่องมือนี้ช่วยให้ผู้ใช้สามารถศึกษาประสิทธิภาพ ความน่าเชื่อถือ ความสามารถในการปรับขนาด และลักษณะการกู้คืนของ SQL Server Reporting Services และเซิร์ฟเวอร์รายงาน Power BI โครงการนี้ประกอบด้วยกรณีทดสอบสี่กลุ่ม:

  • ทดสอบการจําลองการแสดงรายงาน Power BI
  • การทดสอบการจําลองการแสดงผลรายงานบนอุปกรณ์เคลื่อนที่
  • การทดสอบการจําลองการแสดงรายงานที่มีการแบ่งหน้าขนาดเล็กและขนาดใหญ่ และ
  • การทดสอบการจําลองการดําเนินการเว็บพอร์ทัลประเภทต่างๆ

การทดสอบทั้งหมดถูกเขียนขึ้นเพื่อดําเนินการแบบ end-to-end (เช่น การแสดงรายงาน การสร้างแหล่งข้อมูลใหม่ ฯลฯ) พวกเขาทําได้โดยการร้องขอเว็บอย่างน้อยหนึ่งรายการไปยังเซิร์ฟเวอร์รายงาน (ผ่าน API) ในโลกแห่งความเป็นจริง ผู้ใช้อาจต้องดําเนินการระดับกลางสองสามอย่างเพื่อดําเนินการแบบ end-to-end เหล่านี้ให้เสร็จสมบูรณ์ ตัวอย่างเช่น เมื่อต้องการแสดงรายงาน ผู้ใช้จะต้องไปที่เว็บพอร์ทัล ให้นําทางไปยังโฟลเดอร์ที่มีรายงานอยู่ จากนั้นคลิกรายงานเพื่อแสดงผล แม้ว่าการทดสอบจะไม่ได้ดําเนินการทั้งหมดที่จําเป็นในการทํางานแบบ end-to-end ให้สําเร็จ แต่ก็ยังคงกําหนดภาระงานส่วนใหญ่ที่เซิร์ฟเวอร์รายงาน Power BI จะประสบ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับรายงานประเภทต่างๆ ที่ใช้ ตลอดจนความหลากหลายของการดําเนินการที่ดําเนินการโดยการสํารวจโครงการ GitHub

Note

เครื่องมือนี้ไม่ได้รับการสนับสนุนอย่างเป็นทางการจาก Microsoft แต่ทีมผลิตภัณฑ์มีส่วนร่วมในโครงการและตอบปัญหาที่ผู้มีส่วนร่วมรายอื่นหยิบยกขึ้นมา

ปริมาณงาน

มีโพรไฟล์ปริมาณงาน 2 โปรไฟล์ที่ใช้ในการทดสอบ: รายงาน Power BI หนัก และรายงานที่มีการแบ่งหน้าหนัก ตารางด้านล่างอธิบายการกระจายของคําขอที่ดําเนินการกับเซิร์ฟเวอร์รายงาน

กิจกรรม รายงาน Power BI หนัก ความถี่ในการเกิดขึ้น รายงานที่มีการแบ่งหน้าหนักความถี่ในการเกิด
การแสดงรายงาน Power BI 60% 10%
การแสดงรายงานที่มีการแบ่งหน้า (RDL) 30% 60%
การแสดงรายงานบนอุปกรณ์เคลื่อนที่ 5% 20%
การดําเนินงานของเว็บพอร์ทัล 5% 10%

โหลดผู้ใช้

สําหรับการทดสอบแต่ละครั้ง การทดสอบจะดําเนินการตามความถี่ที่ระบุในหนึ่งในสองปริมาณงาน การทดสอบเริ่มต้นด้วยคําขอของผู้ใช้พร้อมกัน 20 รายการไปยังเซิร์ฟเวอร์รายงาน ภาระของผู้ใช้จะค่อยๆ เพิ่มขึ้นจนกว่าความน่าเชื่อถือจะลดลงต่ํากว่าเป้าหมาย 99%

ผลลัพธ์

ความจุของผู้ใช้พร้อมกัน

การทดสอบเริ่มต้นด้วยผู้ใช้พร้อมกัน 20 คนที่ส่งคําขอไปยังเซิร์ฟเวอร์รายงาน จํานวนผู้ใช้พร้อมกันจะค่อยๆ เพิ่มขึ้นจนกระทั่ง 1% ของคําขอทั้งหมดล้มเหลว ผลลัพธ์ในตารางต่อไปนี้บอกเราถึงจํานวนคําขอของผู้ใช้พร้อมกันที่เซิร์ฟเวอร์จะสามารถจัดการได้ภายใต้ภาระสูงสุดที่มีอัตราความล้มเหลวน้อยกว่า 1%

ปริมาณงาน 8 คอร์/32 GB 16 คอร์/64 GB
รายงาน Power BI หนัก ผู้ใช้พร้อมกัน 50 คน ผู้ใช้พร้อมกัน 150 คน
รายงานที่มีการแบ่งหน้าหนัก ผู้ใช้พร้อมกัน 100 คน ผู้ใช้พร้อมกัน 160 คน

ความจุของผู้ใช้ทั้งหมด

ที่ Microsoft เรามีการปรับใช้เซิร์ฟเวอร์รายงาน Power BI ที่ใช้งานจริงที่หลายทีมใช้ เมื่อเราวิเคราะห์การใช้งานจริงของสภาพแวดล้อมนี้ เราจะสังเกตเห็นว่าจํานวนผู้ใช้พร้อมกัน ณ เวลาใดก็ตาม (แม้ในช่วงที่มีการโหลดสูงสุดรายวัน) มักจะไม่เกิน 5% ของฐานผู้ใช้ทั้งหมด การใช้อัตราส่วนการทํางานพร้อมกัน 5% นี้เป็นเกณฑ์มาตรฐาน เราคาดการณ์ฐานผู้ใช้ทั้งหมดที่เซิร์ฟเวอร์รายงาน Power BI สามารถจัดการได้ด้วยความน่าเชื่อถือ 99%

ปริมาณงาน 8 คอร์/32 GB 16 คอร์/64 GB
รายงาน Power BI หนัก ผู้ใช้ 1,000 คน ผู้ใช้ 3,000 คน
รายงานที่มีการแบ่งหน้าหนัก ผู้ใช้ 2,000 คน ผู้ใช้ 3,200 คน

Summary

สําหรับการทดสอบการโหลดแต่ละครั้ง CPU เป็นทรัพยากรที่ถูกครอบงํามากที่สุด ณ จุดโหลดสูงสุดบนเครื่องเซิร์ฟเวอร์รายงาน Power BI ด้วยเหตุนี้ทรัพยากรแรกที่ควรเพิ่มคือจํานวนคอร์ อีกวิธีหนึ่งคือ คุณสามารถพิจารณาปรับขนาดออกโดยการเพิ่มเซิร์ฟเวอร์เพิ่มเติมที่โฮสต์เซิร์ฟเวอร์รายงาน Power BI ในโทโพโลยีของคุณ

ผลลัพธ์ที่นําเสนอในบทความนี้ได้มาจากการดําเนินการรายงานชุดเฉพาะโดยใช้ชุดข้อมูลเฉพาะ โดยทําซ้ําในลักษณะเฉพาะ เป็นจุดอ้างอิงที่มีประโยชน์ แต่โปรดทราบว่าการใช้งานของคุณจะขึ้นอยู่กับรายงาน คิวรี รูปแบบการใช้งาน และการปรับใช้เซิร์ฟเวอร์รายงาน Power BI ของคุณ

ภาคผนวก

1 โทโพโลยี

1.1 โทโพโลยีเซิร์ฟเวอร์รายงาน Power BI

เมื่อต้องการมุ่งเน้นไปที่พฤติกรรมของเซิร์ฟเวอร์รายงาน Power BI ภายใต้การกําหนดค่าที่แตกต่างกัน การกําหนดค่า VM สําหรับเครื่องแต่ละชนิด (ยกเว้นเครื่องที่โฮสต์เซิร์ฟเวอร์รายงาน Power BI) ได้รับการแก้ไข แต่ละเครื่องได้รับการจัดเตรียมตามเครื่อง D Series รุ่นที่สอง (v2) ที่มีดิสก์จัดเก็บข้อมูลระดับพรีเมียม คุณสามารถค้นหาข้อมูลโดยละเอียดเกี่ยวกับ VM แต่ละขนาดได้ในส่วน "วัตถุประสงค์ทั่วไป"

ประเภทเครื่องเสมือน หน่วยประมวลผลกลาง ความจำ ขนาด Azure VM
ตัวควบคุมโดเมนไดเรกทอรีที่ใช้งานอยู่ 2 คอร์ 7 กิกะไบต์ Standard_DS2_v2
กลไกจัดการฐานข้อมูล SQL Server และ Analysis Services 16 คอร์ 56 กิกะไบต์ Standard_DS5_v2
ฐานข้อมูลเซิร์ฟเวอร์รายงาน 16 คอร์ 56 กิกะไบต์ Standard_DS5_v2

1.2 การกําหนดค่าเครื่องเสมือนเซิร์ฟเวอร์รายงาน Power BI

การกําหนดค่าที่แตกต่างกันของโปรเซสเซอร์และหน่วยความจําถูกใช้สําหรับเครื่องเสมือนที่โฮสต์เซิร์ฟเวอร์รายงาน Power BI เครื่องนี้แตกต่างจาก VM อื่น ๆ เครื่องนี้ได้รับการจัดเตรียมตามเครื่อง D Series รุ่นที่สาม (v3) พร้อมดิสก์จัดเก็บข้อมูลระดับพรีเมียม คุณสามารถค้นหาข้อมูลโดยละเอียดเกี่ยวกับขนาด VM นี้ได้ในส่วน "วัตถุประสงค์ทั่วไป"

เครื่องเสมือน หน่วยประมวลผลกลาง ความจำ ขนาด Azure VM
เซิร์ฟเวอร์รายงาน Power BI (ขนาดเล็ก) 8 คอร์ 32 กิกะไบต์ Standard_D8S_v3
เซิร์ฟเวอร์รายงาน Power BI (ขนาดใหญ่) 16 คอร์ 64 กิกะไบต์ vStandard_D16S_v3

2 เรียกใช้เครื่องมือ LoadTest

ถ้าคุณต้องการเรียกใช้เครื่องมือ Reporting Services LoadTest กับการปรับใช้เซิร์ฟเวอร์รายงาน Power BI ของคุณหรือ Microsoft Azure ให้ทําตามขั้นตอนเหล่านี้

  1. โคลนโครงการ Reporting Services LoadTest จาก GitHub (https://github.com/Microsoft/Reporting-Services-LoadTest)
  2. ในไดเร็กทอรีโครงการ คุณจะพบไฟล์โซลูชันที่เรียกว่า RSLoadTests.sln เปิดไฟล์นี้ใน Visual Studio 2015 หรือใหม่กว่า
  3. กําหนดว่าคุณต้องการเรียกใช้เครื่องมือนี้กับการปรับใช้เซิร์ฟเวอร์รายงาน Power BI ของคุณหรือกับการปรับใช้เซิร์ฟเวอร์รายงาน Power BI ใน Microsoft Azure หากคุณกําลังจะเรียกใช้กับการปรับใช้ของคุณเอง ให้ไปที่ขั้นตอนที่ 5
  4. ทําตามคําแนะนําที่ระบุไว้ https://github.com/Microsoft/Reporting-Services-LoadTest#create-a-sql-server-reporting-services-load-environment-in-azure เพื่อสร้างสภาพแวดล้อมเซิร์ฟเวอร์รายงาน Power BI ใน Azure
  5. เมื่อคุณปรับใช้สภาพแวดล้อมเสร็จแล้ว ให้ทําตามคําแนะนําที่ระบุไว้ https://github.com/Microsoft/Reporting-Services-LoadTest#load-test-execution เพื่อเรียกใช้การทดสอบ

มีคำถามเพิ่มเติมหรือไม่? ลองถามชุมชน Power BI