แชร์ผ่าน


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

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

สรุปสําหรับผู้บริหาร

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

  • ในปริมาณงาน "Power BI Report Heavy" เป็นการดําเนินการบ่อยที่สุด (เช่น ดําเนินการ 60% ของเวลา) ถูกแสดงรายงาน Power BI
  • ในปริมาณงาน "Paginated Report Heavy" เป็นการดําเนินการบ่อยที่สุด ถูกแสดงรายงาน

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

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

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

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

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

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

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

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

Diagram showing relationships between Power B I Report Server, Active Directory, and associated databases.

ดูภาคผนวก 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 ได้

หมายเหตุ

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

ปริมาณงาน

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

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

โหลดผู้ใช้

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

ผลลัพธ์

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

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

ปริมาณงาน 8 Core/32 GB 16 Core/64 GB
Power BI Report Heavy ผู้ใช้พร้อมกัน 50 ราย ผู้ใช้พร้อมกัน 150 ราย
Paginated Report Heavy ผู้ใช้พร้อมกัน 100 ราย ผู้ใช้พร้อมกัน 160 ราย

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

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

ปริมาณงาน 8 Core/32 GB 16 Core/64 GB
Power BI Report Heavy ผู้ใช้ 1,000 ราย ผู้ใช้ 3,000 ราย
Paginated Report Heavy ผู้ใช้ 2,000 ราย ผู้ใช้ 3,200 คน

สรุป

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

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

ภาคผนวก

โทโพโลยี 1 ตัว

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

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

ชนิดเครื่องเสมือน ผู้ประมวลผล หน่วยความจำ ขนาด Azure VM
Active Directory Domain Controller 2 แกน 7 GB Standard_DS2_v2
SQL Server Database Engine and Analysis Services 16 Cores 56 GB Standard_DS5_v2
ฐานข้อมูลเซิร์ฟเวอร์รายงาน 16 Cores 56 GB Standard_DS5_v2

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

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

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

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

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

  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