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