Οδηγίες προγραμματισμού εκχωρημένων πόρων για τον Power BI Report Server

Ο Power BI Report Server είναι ένα BI με λειτουργία από τον χρήστη και μια εταιρική λύση αναφορών που μπορούν να αναπτύξουν οι πελάτες στις εγκαταστάσεις τους, πίσω από το τείχος προστασίας τους. Συνδυάζει τη δυνατότητα αλληλεπιδραστικής αναφοράς του Power BI Desktop με την πλατφόρμα διακομιστή εσωτερικής εγκατάστασης του Υπηρεσίες αναφοράς του SQL Server. Με αυξημένη και αυξανόμενη χρήση αναλύσεων και αναφορών εντός των επιχειρήσεων, ο προϋπολογισμός για την υποδομή υλικού και τις άδειες χρήσης λογισμικού που απαιτούνται για κλιμάκωση σε μια εταιρική βάση χρηστών μπορεί να αποτελέσει πρόκληση. Στόχος του παρόντος εγγράφου είναι η παροχή οδηγιών σχετικά με τον προγραμματισμό δυναμικότητας για τον Power BI Report Server, κοινοποιώντας τα αποτελέσματα πολυάριθμων εκτελέσεων δοκιμών φόρτου διαφόρων φόρτων εργασίας σε έναν διακομιστή αναφορών. Ενώ οι αναφορές, ερωτήματα και μοτίβα χρήσης των οργανισμών ποικίλλουν σημαντικά, τα αποτελέσματα που παρουσιάζονται σε αυτό το έγγραφο, μαζί με τις πραγματικές δοκιμές που χρησιμοποιήθηκαν και μια λεπτομερή περιγραφή του τρόπου που εκτελέστηκαν, λειτουργούν ως σημείο αναφοράς για όλους στην πρώιμη διαδικασία σχεδιασμού της ανάπτυξης του Power BI Report Server.

Περίληψη

Εκτελέσαμε δύο διαφορετικούς τύπους φόρτων εργασίας στον Power BI Report Server. κάθε φόρτος εργασίας αποτελείται από την απόδοση διαφορετικών τύπων αναφορών, καθώς και την εκτέλεση διαφόρων λειτουργιών πύλης Web.

  • Στον φόρτο εργασίας "Φόρτος αναφοράς Power BI", η πλέον συχνά εκτελεσμένη λειτουργία (δηλαδή η λειτουργία που εκτελέστηκε στο 60% των εποχών) ήταν η απόδοση αναφορών Power BI.
  • Στον φόρτο εργασίας "Υψηλός φόρτος σελιδοποιημένης αναφοράς", η πλέον συχνά εκτελεσμένη λειτουργία ήταν η απόδοση σελιδοποιημένων αναφορών.

Σε μια τοπολογία τεσσάρων διακομιστών του Power BI Report Server και με την προσδοκία ότι το πολύ 5% των χρηστών θα έχει πρόσβαση σε έναν διακομιστή αναφορών οποιαδήποτε στιγμή, ο παρακάτω πίνακας περιγράφει τον μέγιστο αριθμό χρηστών που μπορεί να χειριστεί ο Power BI Report Server με τουλάχιστον 99% αξιοπιστία.

Φόρτος εργασίας 8 πυρήνες/32 GB RAM 16 πυρήνες/64 GB RAM
Βαρύς βάρος αναφοράς Power BI (>60%) 1.000 χρήστες 3.000 χρήστες
Υψηλός βάρος σελιδοποιημένης αναφοράς (RDL) (>60%) 2.000 χρήστες 3.200 χρήστες

Σε κάθε φάση, ο πόρος με το μεγαλύτερο κόπο ήταν η CPU. Για αυτόν τον λόγο, η αύξηση του αριθμού των πυρήνων στο Power BI Report Server θα αποφέρει υψηλότερο κέρδος στην αξιοπιστία του συστήματος από την αύξηση της ποσότητας μνήμης ή του χώρου στον σκληρό δίσκο.

Μεθοδολογία δοκιμής

Η τοπολογία δοκιμής που χρησιμοποιήθηκε βασίστηκε στο Microsoft Azure Εικονικές μηχανές αντί για το φυσικό υλικό για συγκεκριμένους προμηθευτές. Όλα τα μηχανήματα φιλοξενούνται σε περιοχές των Η.Π.Α. Αυτό αντικατοπτρίζει τη γενική τάση απεικόνισης υλικού τόσο στην εσωτερική εγκατάσταση όσο και στο δημόσιο cloud.

Τοπολογία του Power BI Report Server

Η ανάπτυξη του Power BI Report Server αποτελείται από τις ακόλουθες εικονικές μηχανές:

  • Ελεγκτής τομέα Active Directory: Αυτό ήταν απαραίτητο από τον μηχανισμό βάσης δεδομένων του SQL Server, τον Υπηρεσίες ανάλυσης του SQL Server και τον Power BI Report Server για τον ασφαλή έλεγχο ταυτότητας όλων των αιτήσεων.
  • Μηχανισμός βάσης δεδομένων του SQL Server και Υπηρεσίες ανάλυσης του SQL Server: αυτό ήταν το σημείο όπου αποθηκεύσαμε όλες τις βάσεις δεδομένων για να καταναλώνουν οι αναφορές κατά την απόδοσή τους.
  • Power BI Report Server
  • Βάση δεδομένων του Power BI Report Server. Η βάση δεδομένων του διακομιστή αναφορών φιλοξενείται σε διαφορετικό υπολογιστή από τον Power BI Report Server, ώστε να μην χρειάζεται να είναι ανταγωνιστική με τη μηχανή βάσης δεδομένων του SQL Server για πόρους μνήμης, CPU, δικτύου και δίσκου.

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

Ανατρέξτε στο Παράρτημα 1.1 Τοπολογία του Power BI Report Server και Παράρτημα 1.2 Ρύθμιση παραμέτρων εικονικής μηχανής Power BI Report Server για μια αναλυτική ρύθμιση παραμέτρων κάθε εικονικής μηχανής που χρησιμοποιείται στην τοπολογία.

Tests

Οι δοκιμές που χρησιμοποιούνται στις εκτελέσεις δοκιμών φόρτου διατίθενται δημοσίως σε ένα έργο GitHub με την ονομασία LoadTest των υπηρεσιών αναφοράς. Αυτό το εργαλείο επιτρέπει στους χρήστες να μελετήσουν τα χαρακτηριστικά επιδόσεων, αξιοπιστίας, δυνατότητας κλιμάκωσης και ανάκτησης του Υπηρεσίες αναφοράς του SQL Server και του Power BI Report Server. Το έργο αυτό αποτελείται από τέσσερις ομάδες υποθέσεων δοκιμής:

  • Δοκιμές προσομοίωσης απόδοσης αναφορών Power BI,
  • Δοκιμές προσομοίωσης απόδοσης αναφορών κινητών συσκευών,
  • Δοκιμές προσομοίωσης μικρών και μεγάλων σελιδοποιημένων αναφορών και
  • Δοκιμές προσομοίωσης εκτέλεσης διαφόρων τύπων λειτουργιών πύλης Web.

Όλες οι δοκιμές έχουν γραφτεί για την εκτέλεση μιας λειτουργίας από άκρο σε άκρο (όπως απόδοση αναφοράς, δημιουργία νέας προέλευσης δεδομένων κ.λπ.). Το επιτυγχάνουν πραγματοποιώντας μία ή περισσότερες αιτήσεις Web στον διακομιστή αναφορών (μέσω API). Στον πραγματικό κόσμο, ένας χρήστης μπορεί να χρειαστεί να εκτελέσει μερικές ενδιάμεσες λειτουργίες για να ολοκληρώσει μία από αυτές τις λειτουργίες από άκρο σε άκρο. Για παράδειγμα, για την απόδοση μιας αναφοράς, ένας χρήστης θα πρέπει να μεταβεί στην πύλη Web, να μεταβεί στον φάκελο όπου βρίσκεται η αναφορά και, στη συνέχεια, να κάνει κλικ στην αναφορά για να την αποδώσει. Παρόλο που οι δοκιμές δεν εκτελούν όλες τις λειτουργίες που απαιτούνται για την επίτευξη μιας εργασίας από άκρο σε άκρο, εξακολουθούν να επιβάλλουν το μεγαλύτερο μέρος του φόρτου που θα αντιμετωπίσει ο Power BI Report Server. Μπορείτε να μάθετε περισσότερα σχετικά με τους διαφορετικούς τύπους αναφορών που χρησιμοποιούνται, καθώς και την ποικιλία των λειτουργιών που εκτελούνται εξερευνώντας το έργο GitHub.

Σημείωμα

Το εργαλείο δεν υποστηρίζεται επίσημα από τη Microsoft, αλλά η ομάδα προϊόντων συμβάλλει στο έργο και απαντά σε ζητήματα που προκύπτουν από άλλους συμβάλλοντες.

Φόρτοι εργασίας

Υπάρχουν 2 προφίλ φόρτου εργασίας που χρησιμοποιούνται για δοκιμές: Υψηλός φόρτος αναφοράς Power BI και Υψηλός φόρτος σελιδοποιημένης αναφοράς. Ο παρακάτω πίνακας περιγράφει την κατανομή αιτήσεων που εκτελούνται στο διακομιστή αναφορών.

Δραστηριότητα Βαρύς αριθμός αναφοράς Power BI, Συχνότητα εμφάνισης Υψηλός αριθμός σελιδοποιημένης αναφοράς, Συχνότητα εμφάνισης
Απόδοση αναφορών Power BI 60% 10%
Απόδοση σελιδοποιημένων αναφορών (RDL) 30% 60%
Απόδοση αναφορών κινητών συσκευών 5% 20%
Λειτουργίες πύλης Web 5% 10%

Φόρτος χρήστη

Για κάθε εκτέλεση της δοκιμής εκτελέστηκαν δοκιμές με βάση τη συχνότητα που καθορίζεται σε έναν από τους δύο φόρτους εργασίας. Οι δοκιμές ξεκίνησαν με 20 ταυτόχρονες αιτήσεις χρηστών στο διακομιστή αναφορών. Ο φόρτος χρήστη έπειτα αυξανόταν βαθμιαία μέχρι που η αξιοπιστία έπεσε κάτω από το στόχο του 99%.

Αποτελέσματα

Ταυτόχρονοι εκχωρημένοι πόροι χρηστών

Όπως προαναφέραμε, οι δοκιμές ξεκίνησαν με 20 ταυτόχρονους χρήστες να πραγματοποιούν αιτήσεις στο διακομιστή αναφορών. Ο αριθμός ταυτόχρονων χρηστών έπειτα αυξήθηκε βαθμιαία μέχρι που το 1% όλων των αιτήσεων αποτύγχανε. Τα αποτελέσματα στον παρακάτω πίνακα μάς ενημερώνουν για τον αριθμό των αιτημάτων ταυτόχρονων χρηστών που θα μπορούσε να διαχειριστεί ο διακομιστής με μέγιστο φόρτο με ρυθμό αποτυχίας μικρότερο από 1%.

Φόρτος εργασίας 8 πυρήνες/32 GB 16 πυρήνες/64 GB
Βαρύς βάρος αναφοράς Power BI 50 ταυτόχρονοι χρήστες 150 ταυτόχρονοι χρήστες
Υψηλός υψηλός βάρος σελιδοποιημένης αναφοράς 100 ταυτόχρονοι χρήστες 160 ταυτόχρονοι χρήστες

Σύνολο εκχωρημένων πόρων χρηστών

Στη Microsoft, έχουμε μια ανάπτυξη παραγωγής του Power BI Report Server που χρησιμοποιήθηκε από πολλές ομάδες. Όταν αναλύουμε την πραγματική χρήση αυτού του περιβάλλοντος, παρατηρούμε ότι ο αριθμός ταυτόχρονων χρηστών σε οποιαδήποτε δεδομένη στιγμή (ακόμη και κατά τη διάρκεια της κορυφής φόρτου) δεν τείνει να υπερβεί το 5% της συνολικής βάσης χρηστών. Χρησιμοποιώντας αυτόν τον λόγο 5% ταυτόχρονης εκτέλεσης ως σημείο αναφοράς, συμπερήκαμε ότι η συνολική βάση χρηστών του Power BI Report Server θα μπορούσε να διαχειριστεί με 99% αξιοπιστία.

Φόρτος εργασίας 8 πυρήνες/32 GB 16 πυρήνες/64 GB
Βαρύς βάρος αναφοράς Power BI 1.000 χρήστες 3.000 χρήστες
Υψηλός υψηλός βάρος σελιδοποιημένης αναφοράς 2.000 χρήστες 3.200 χρήστες

Σύνοψη

Για κάθε εκτέλεση δοκιμής φόρτου, η CPU ήταν ο πόρος με το μεγαλύτερο βαθμό καταπόνησης στο σημείο κορυφής φόρτου στη μηχανή Power BI Report Server. Για αυτόν τον λόγο, ο πρώτος πόρος που πρέπει να αυξηθεί είναι ο αριθμός των πυρήνων. Εναλλακτικά, μπορείτε να εξετάσετε την κλιμάκωση προσθέτοντας περισσότερους διακομιστές φιλοξενίας του Power BI Report Server στην τοπολογία σας.

Τα αποτελέσματα που παρουσιάζονται σε αυτό το έγγραφο προέρχονται από την εκτέλεση ενός συγκεκριμένου συνόλου αναφορών που καταναλώνουν ένα συγκεκριμένο σύνολο δεδομένων, το οποίο έχει επαναληφθεί με συγκεκριμένο τρόπο. Είναι ένα χρήσιμο σημείο αναφοράς, αλλά να θυμάστε ότι η χρήση σας θα εξαρτάται από τις αναφορές, τα ερωτήματα, τα μοτίβα χρήσης και την ανάπτυξή σας στον Power BI Report Server.

Προσάρτημα

1 Τοπολογία

1.1 Τοπολογία του Power BI Report Server

Για να εστιάσετε αποκλειστικά στη συμπεριφορά του Power BI Report Server υπό διαφορετικές ρυθμίσεις παραμέτρων, η ρύθμιση παραμέτρων VM για κάθε τύπο υπολογιστή (με την εξαίρεση της μηχανής που φιλοξενεί το Power BI Report Server) επιδιορθώθηκε. Κάθε μηχανή παρέχεται σύμφωνα με τις μηχανές D σειράς δεύτερης γενιάς (v2) με δίσκους Premium Υπηρεσία αποθήκευσης. Μπορείτε να βρείτε λεπτομερείς πληροφορίες σχετικά με το μέγεθος κάθε εικονικής μηχανής στην ενότητα "Γενικού σκοπού".

Τύπος εικονικής μηχανής Επεξεργαστής Μνήμη Μέγεθος εικονικής μηχανής Azure
Ελεγκτής τομέα Active Directory 2 πυρήνες 7 GB Standard_DS2_v2
Μηχανισμός βάσης δεδομένων και υπηρεσίες ανάλυσης του SQL Server 16 πυρήνες 56 GB Standard_DS5_v2
Βάση δεδομένων διακομιστή αναφορών 16 πυρήνες 56 GB Standard_DS5_v2

1.2 Ρύθμιση παραμέτρων εικονικής μηχανής Power BI Report Server

Διαφορετικές ρυθμίσεις παραμέτρων επεξεργαστή και μνήμης χρησιμοποιήθηκαν για τη φιλοξενία της εικονικής μηχανής Power BI Report Server. Σε αντίθεση με άλλες εικονικές μηχανές, αυτή η μηχανή παρέχεται σύμφωνα με τη D σειρά μηχανών τρίτης γενιάς (v3) με Δίσκους Premium Υπηρεσία αποθήκευσης. Μπορείτε να βρείτε λεπτομερείς πληροφορίες σχετικά με το μέγεθος αυτής της εικονικής μηχανής στην ενότητα "Γενικού σκοπού"

Εικονική μηχανή Επεξεργαστής Μνήμη Μέγεθος εικονικής μηχανής Azure
Power BI Report Server (Μικρός) 8 πυρήνες 32 GB Standard_D8S_v3
Power BI Report Server (Μεγάλος) 16 πυρήνες 64 GB vStandard_D16S_v3

2 Εκτέλεση του εργαλείου LoadTest

Εάν θέλετε να εκτελέσετε το εργαλείο LoadTest των Υπηρεσιών αναφοράς στο δικό σας περιβάλλον ανάπτυξης ή σε μια ανάπτυξη Microsoft Azure του Power BI Report Server, ακολουθήστε αυτά τα βήματα.

  1. Κλωνοποιήστε το έργο LoadTest των Υπηρεσιών αναφοράς από το GitHub (https://github.com/Microsoft/Reporting-Services-LoadTest).
  2. Στον κατάλογο έργου, θα βρείτε ένα αρχείο λύσης με την ονομασία RSLoadTests.sln. Ανοίξτε αυτό το αρχείο στο Visual Studio 2015 ή νεότερη έκδοση.
  3. Προσδιορίστε εάν θέλετε να εκτελέσετε αυτό το εργαλείο στην ανάπτυξή σας Power BI Report Server ή σε μια ανάπτυξη του Power BI Report Server στο Microsoft Azure. Εάν πρόκειται να το εκτελέσετε στο δικό σας περιβάλλον ανάπτυξης, μεταβείτε στο βήμα 5.
  4. Ακολουθήστε τις οδηγίες που αναφέρονται στο θέμα https://github.com/Microsoft/Reporting-Services-LoadTest#create-a-sql-server-reporting-services-load-environment-in-azure για να δημιουργήσετε ένα περιβάλλον Power BI Report Server στο Azure.
  5. Αφού ολοκληρώσετε την ανάπτυξη του περιβάλλοντος, ακολουθήστε τις οδηγίες που αναφέρονται στο https://github.com/Microsoft/Reporting-Services-LoadTest#load-test-execution θέμα για την εκτέλεση των δοκιμών.

Περισσότερες ερωτήσεις; Δοκιμάστε να ρωτήσετε τον Κοινότητα Power BI