คําแนะนําในการวางแผนความจุสําหรับเซิร์ฟเวอร์รายงาน 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 เครือข่าย และทรัพยากรบนดิสก์
ดูภาคผนวก 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 ของคุณ ให้ทําตามขั้นตอนเหล่านี้
- โคลนโครงการ 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