Συνήθη ζητήματα απόδοσης εφαρμογής καμβά και τρόποι επίλυσης
Μπορείτε να δημιουργήσετε εφαρμογές καμβά χρησιμοποιώντας διαφορετικό πίνακα προελεύσεων δεδομένων. Επιλέξτε την προέλευση δεδομένων και σύνδεση με βάση τις επιχειρηματικές ανάγκες και τα σενάρια για τα οποία σχεδιάζετε την εφαρμογή. Για εταιρικές εφαρμογές, το Microsoft Dataverse είναι η συνιστώμενη προέλευση δεδομένων, επειδή παρέχει διάφορα πλεονεκτήματα επιδόσεων. Για εφαρμογές με λίγες συναλλαγές, μπορείτε να μεταβείτε με οποιαδήποτε άλλη διαθέσιμη προέλευση δεδομένων στο περιβάλλον σας.
Για λόγους απόδοσης μιας εφαρμογής, σκεφτείτε τον αριθμό χρηστών που θα χρησιμοποιούν την εφαρμογή όταν αυτή δημοσιευτεί. Ο όγκος συναλλαγών δημιουργίας, ανάκτησης, ενημέρωσης και διαγραφής (CRUD), τον τύπο των αλληλεπιδράσεων δεδομένων, γεωγραφική πρόσβαση, και τα είδη των συσκευών που έχουν οι χρήστες.
Σε αυτό το άρθρο, θα μάθετε σχετικά με ορισμένα από τα πιο συνηθισμένα ζητήματα επιδόσεων που μπορούν να κάνουν τις εφαρμογές καμβά να εκτελούνται αργά και πώς να τα λύνετε. Αυτές οι πληροφορίες θα σας βοηθήσουν να βελτιώσετε τις επιδόσεις της εφαρμογής με το επιχειρηματικό σας σχέδιο και την ανάπτυξη κατά νου.
Θα ξεκινήσουμε με ορισμένα από τα κοινά ζητήματα επιδόσεων που συμβαίνουν ανεξάρτητα από τη σύνδεση που χρησιμοποιείται. Στις επόμενες ενότητες, θα μάθετε περισσότερα για τα ζητήματα επιδόσεων και τις επιλύσεις που αφορούν διάφορες συνδέσεις.
Πριν ξεκινήσετε, βεβαιωθείτε ότι κατανοείτε τις φάσεις εκτέλεσης εφαρμογών καμβά και τη ροή κλήσεων δεδομένων. Επίσης, διαβάστε Κοινές πηγές αργών επιδόσεων για μια εφαρμογή καμβά για να μάθετε για κοινές παγίδες που μπορείτε να αποφύγετε κατά τη σχεδίαση ή την ενημέρωση εφαρμογών καμβά.
Μεγάλα σύνολα δεδομένων φορτώνονται αργά σε διαφορετικές πλατφόρμες
Οι επιδόσεις μιας εφαρμογής μπορεί να διαφέρει κατά τη φόρτωση μεγάλων συνόλων δεδομένων σε διαφορετικές πλατφόρμες, όπως το iOS ή το Android. Αυτή η παραλλαγή συμβαίνει εξαιτίας των διαφορετικών περιορισμών αιτήσεων δικτύου σε κάθε πλατφόρμα. Για παράδειγμα, ο αριθμός των ταυτόχρονων αιτήσεων δικτύου που επιτρέπονται μπορεί να διαφέρει κατά πλατφόρμα. Αυτή η διαφορά μπορεί να έχει σημαντικό αντίκτυπο στον χρόνο φόρτωσης δεδομένων για μεγάλα σύνολα δεδομένων.
Συνιστούμε να φορτώνετε μόνο τα δεδομένα που χρειάζεται να εμφανίζονται αμέσως στην οθόνη. Για άλλα δεδομένα, σελιδοποιήστε και κρύψτε προσωρινά τα δεδομένα σας. Περισσότερες πληροφορίες: Συμβουλές και βέλτιστες πρακτικές για τη βελτίωση της απόδοσης εφαρμογών καμβά
Ανακτήθηκαν πάρα πολλές στήλες
Συνιστούμε να επιλέξετε μόνο τις στήλες που απαιτούνται για την εφαρμογή. Η προσθήκη περισσότερων (ή όλων) των στηλών από την προέλευση δεδομένων κάνει λήψη όλων των δεδομένων στις στήλες. Αυτή η ενέργεια έχει ως αποτέλεσμα μεγάλο αριθμό κλήσεων γενικής διαχείρισης δικτύου και, επομένως, υψηλή χρήση μνήμης στη συσκευή-πελάτη. Αυτό το ζήτημα μπορεί να επηρεάσει τους χρήστες με κινητές συσκευές ακόμα περισσότερο, εάν το εύρος ζώνης δικτύου είναι περιορισμένο ή εάν μια συσκευή έχει περιορισμένη μνήμη ή έναν επεξεργαστή παλαιού τύπου.
Για παράδειγμα, εάν χρησιμοποιείτε το Dataverse ως προέλευση δεδομένων για την εφαρμογή σας, βεβαιωθείτε ότι έχετε ενεργοποιήσει τη δυνατότητα Ρητή επιλογή στηλών. Αυτή η δυνατότητα επιτρέπει στο Power Apps τον περιορισμό της ανάκτησης δεδομένων μόνο για τις στήλες που χρησιμοποιούνται στην εφαρμογή.
Για να ενεργοποιήσετε τη δυνατότητα επιλογής ρητών στηλών στην εφαρμογή καμβά, μεταβείτε στις Ρυθμίσεις>Προσεχείς δυνατότητες>Προεπισκόπηση και, στη συνέχεια, ενεργοποιήστε την εναλλαγή επιλογής ρητών στηλών.
Μη υποστηριζόμενα ή παλαιού τύπου προγράμματα περιήγησης
Οι χρήστες που χρησιμοποιούν προγράμματα περιήγησης που δεν υποστηρίζονται ή παλαιού τύπου, ενδέχεται να αντιμετωπίσουν ζητήματα απόδοσης. Βεβαιωθείτε ότι οι χρήστες χρησιμοποιούν μόνο τα υποστηριζόμενα προγράμματα περιήγησης για την εκτέλεση εφαρμογών καμβά.
Χαμηλές επιδόσεις λόγω γεωγραφικής απόστασης
Η γεωγραφική θέση του περιβάλλοντος και η απόσταση της προέλευση δεδομένων από τους χρήστες μπορεί να επηρεάσει τις επιδόσεις.
Συνιστούμε το περιβάλλον σας να βρίσκεται κοντά στους χρήστες. Παρόλο που το Power Apps χρησιμοποιεί δίκτυο παροχής περιεχομένου Azure για περιεχόμενο, οι κλήσεις δεδομένων εξακολουθούν να λαμβάνουν τα δεδομένα από την προέλευση δεδομένων. Μια προέλευση δεδομένων που βρίσκεται σε άλλη γεωγραφική θέση μπορεί να επηρεάσει αρνητικά τις επιδόσεις της εφαρμογής.
Η υπερβολική γεωγραφική απόσταση επηρεάζει τις επιδόσεις με διαφορετικούς τρόπους, όπως λανθάνουσα κατάσταση, μειωμένη απόδοση, χαμηλότερο εύρος ζώνης ή απώλεια πακέτων.
Δεν έχουν ρυθμιστεί οι παράμετροι της λίστας επιτρεπομένων
Βεβαιωθείτε ότι οι απαιτούμενες διευθύνσεις URL υπηρεσιών δεν έχουν αποκλειστεί ή ότι έχουν προστεθεί στη λίστα επιτρεπόμενων διευθύνσεων του τείχους προστασίας σας. Προκειμένου μια πλήρη λίστα όλων των διευθύνσεων URL υπηρεσίας που πρέπει να επιτρέπονται για το Power Apps, μεταβείτε στην επιλογή Απαιτούμενες υπηρεσίες.
Χρήση συναρτήσεων χωρίς δυνατότητας ανάθεσης και ακατάλληλου ορίου γραμμών δεδομένων για μη αποπροσφορά ερωτήματα
Οι συναρτήσεις με δυνατότητα ανάθεσης αναθέτουν την επεξεργασία δεδομένων στην προέλευση δεδομένων, ελαχιστοποιώντας την επιβάρυνση στην πλευρά του υπολογιστή-πελάτη. Όταν δεν είναι δυνατή η ανάθεση, μπορείτε να περιορίσετε το όριο γραμμής δεδομένων για ερωτήματα χωρίς δυνατότητα ανάθεσης, έτσι ώστε ο αριθμός των γραμμών που επιστρέφονται από μια σύνδεση που βασίζεται σε διακομιστή να παραμένει βέλτιστος.
Η χρήση συναρτήσεων χωρίς δυνατότητα ανάθεσης και ακατάλληλο όριο γραμμών δεδομένων για ερωτήματα χωρίς δυνατότητα ανάθεσης προσθέτουν επιπλέον επιβάρυνση κατά τη μεταφορά δεδομένων. Αυτή η επιβάρυνση έχει ως αποτέλεσμα τον χειρισμό των ληφθέντων δεδομένων στον σωρό JS στην πλευρά του υπολογιστή-πελάτη. Βεβαιωθείτε ότι χρησιμοποιείτε λειτουργίες με δυνατότητα ανάθεσης για την εφαρμογή όποτε είναι διαθέσιμες και το βέλτιστο όριο γραμμών δεδομένων για ερωτήματα χωρίς δυνατότητα ανάθεσης.
Περισσότερες πληροφορίες: Χρήση ανάθεσης, Επισκόπηση ανάθεσης
Το συμβάν OnStart χρειάζεται ρύθμιση
Το συμβάν OnStart εκτελείται κατά τη φόρτωση της εφαρμογής. Η κλήση μεγάλων ποσοτήτων δεδομένων χρησιμοποιώντας τις συναρτήσεις στην ιδιότητα OnStart θα προκαλέσει αργή φόρτωση της εφαρμογής. Μια οθόνη με μεγάλη εξάρτηση των στοιχείων ελέγχου και των τιμών που ορίζονται σε άλλη οθόνη θα επηρεαστεί από αργή πλοήγηση στην οθόνη.
Στις ακόλουθες ενότητες περιγράφονται ορισμένα από τα πιο συνηθισμένα προβλήματα που αντιμετωπίζουν σε αυτές τις περιπτώσεις.
Μεγάλος αριθμός κλήσεων σε συμβάν OnStart με αποτέλεσμα η εφαρμογή να ξεκινά αργά
Σε μια επιχείρηση, ο όγκος των κλήσεων δεδομένων σε μια κεντρική προέλευση δεδομένων μπορεί να οδηγήσει το συμφόρηση διακομιστή ή διένεξη πόρων.
Χρησιμοποιήστε ένα μηχανισμό προσωρινής μνήμης για να βελτιστοποιήσετε τις κλήσεις δεδομένων. Μια μεμονωμένη εφαρμογή μπορεί να χρησιμοποιηθεί από πολλούς χρήστες, με αποτέλεσμα πολλές κλήσεις δεδομένων ανά χρήστη που φτάνουν στα τελικά σημεία του διακομιστή. Αυτές οι κλήσεις δεδομένων μπορεί να είναι ένα σημείο όπου μπορεί να συμβεί η συμφόρηση ή ο περιορισμός.
Λανθάνων χρόνος σε συμβάν OnStart εξαιτίας βαρέων δεσμών ενεργειών
Οι βαριές δέσμες ενεργειών στο συμβάν OnStart είναι ένα από τα πιο συνηθισμένα λάθη κατά τη σχεδίαση εφαρμογών καμβά. Θα πρέπει να λαμβάνετε μόνο τα δεδομένα που απαιτούνται για την εκκίνηση της εφαρμογής.
Βελτιστοποίηση του τύπου σε συμβάν OnStart. Για παράδειγμα, μπορείτε να μετακινήσετε ορισμένες συναρτήσεις στην ιδιότητα OnVisible. Με αυτόν τον τρόπο, μπορείτε να αφήσετε την εφαρμογή να ξεκινήσει γρήγορα και άλλα βήματα μπορούν να συνεχιστούν κατά το άνοιγμα της εφαρμογής.
Περισσότερες πληροφορίες: Βελτιστοποίηση της ιδιότητας OnStart
Φιλοδώρημα
Συνιστούμε τη χρήση της ιδιότητας App.StartScreen καθώς απλοποιεί την εκκίνηση της εφαρμογής και ενισχύει την απόδοση της εφαρμογής.
Πίεση μνήμης στην πλευρά του υπολογιστή-πελάτη
Είναι σημαντικός ο έλεγχος της κατανάλωσης μνήμης της εφαρμογής καμβά επειδή τις περισσότερες φορές η εφαρμογή εκτελείται σε κινητές συσκευές. Οι εξαιρέσεις μνήμης στον σωρό είναι η πιο πιθανή αιτία πίσω από μια εφαρμογή καμβά που διακόπτεται ή παγώνει («κολλάει») σε ορισμένες συσκευές.
Ένας σωρός JavaScript (JS) μπορεί να φτάσει το όριο εξαιτίας των βαριών δεσμών ενεργειών στην πλευρά του υπολογιστή-πελάτη για την προσθήκη τη σύνδεση, το φιλτράρισμα, την ταξινόμηση ή την ομαδοποίηση στηλών. Στις περισσότερες περιπτώσεις, μια εξαίρεση εκτός μνήμης στον σωρό του υπολογιστή-πελάτη μπορεί να προκαλέσει τη διακοπή λειτουργίας ή τη διακοπή ανταπόκρισης της εφαρμογής.
Όταν χρησιμοποιείτε δεδομένα από προελεύσεις, όπως το Dataverse ή ο SQL Server, μπορείτε να χρησιμοποιήσετε ένα αντικείμενο Προβολή για να εξασφαλίσετε ότι η σύνδεση, το φιλτράρισμα, η ομαδοποίηση ή η ταξινόμηση πραγματοποιείται από την πλευρά του διακομιστή αντί για την πλευρά του υπολογιστή-πελάτη. Αυτή η προσέγγιση μειώνει την επιβάρυνση του υπολογιστή-πελάτη για δέσμες ενεργειών για τέτοιες ενέργειες.
Εάν οι λειτουργίες με μεγάλο φόρτο υπολογιστή-πελάτη, όπως το JOIN ή η ομαδοποίηση κατά, συνέβησαν στην πλευρά του υπολογιστή-πελάτη με ένα σύνολο δεδομένων που έχει 2000 καρτέλες ή περισσότερες, τα αντικείμενα στον σωρό θα αυξηθούν με αποτέλεσμα υπέρβαση των ορίων της μνήμης.
Τα εργαλεία προγραμματιστή για τα περισσότερα προγράμματα περιήγησης σάς επιτρέπουν να δημιουργήσετε προφίλ μνήμης. Σας βοηθά να απεικονίσετε το μέγεθος σωρού, τα έγγραφα, τους κόμβους, και τους ακροατές. Δημιουργήστε το προφίλ των επιδόσεων της εφαρμογής χρησιμοποιώντας ένα πρόγραμμα περιήγησης, όπως περιγράφεται στην Επισκόπση των εργαλείων προγραμματιστών του Microsoft Edge (Chromium). Ελέγξτε τα σενάρια που υπερβαίνουν το όριο μνήμης του σωρού JS. Περισσότερες πληροφορίες: Διόρθωση προβλημάτων μνήμης
Ζητήματα επιδόσεων για τη σύνδεση του SQL Server
Μπορείτε να χρησιμοποιήσετε τη σύνδεση του SQL Server για το Power Apps για να συνδεθείτε στο SQL Server εσωτερικής εγκατάστασης ή τη βάση δεδομένων SQL Azure. Σε αυτήν την ενότητα περιγράφονται συνήθη προβλήματα που σχετίζονται με την απόδοση και λύσεις για τη χρήση αυτού της σύνδεσηης για μια εφαρμογή καμβά.
Σημείωμα
Παρόλο που αυτή η ενότητα αναφέρεται στη σύνδεση του SQL Server για ζητήματα επιδόσεων και επιλύσεις, οι περισσότερες από τις συστάσεις ισχύουν επίσης για να χρησιμοποιείτε οποιονδήποτε τύπο βάσης δεδομένωνόπως MySQL ή PostgreSQLως προέλευση δεδομένων.
Ας ρίξουμε μια ματιά στα συνηθισμένα προβλήματα επιδόσεων και τις λύσεις για τη χρήση της σύνδεσης του SQL Server για εφαρμογές καμβά.
Ερώτημα N+1
Οι συλλογές που δημιουργούν πάρα πολλές αιτήσεις σε διακομιστές προκαλούν πρόβλημα ερωτήματος N+1. Το πρόβλημα ερωτήματος N+1 είναι ένα από τα πιο συχνά προβλήματα που προκύπτουν με τη χρήση του στοιχείου ελέγχου συλλογής.
Για να αποφύγετε το πρόβλημα, χρησιμοποιήστε αντικείμενα προβολής στο πίσω μέρος του SQL ή αλλάξτε τα σενάρια του περιβάλλοντος εργασίας χρήστη.
Σάρωση πίνακα αντί για τη δημιουργία ευρετηρίου
Μια εφαρμογή μπορεί να επιβραδυνθεί εάν οι συναρτήσεις που χρησιμοποιούνται από την εφαρμογή εκτελούν ερωτήματα στη βάση δεδομένων που οδηγούν σε σαρώσεις πίνακα αντί για αναζήτηση ευρετηρίου. Περισσότερες πληροφορίες: Υποδείξεις, σάρωση πίνακα και αναζήτηση ευρετηρίου
Για να επιλύσετε αυτά τα προβλήματα, χρησιμοποιήστε το startsWith αντί για το IN στον τύπο. Με μια προέλευση δεδομένων SQL, ο τελεστής StartsWith έχει ως αποτέλεσμα μια αναζήτηση ευρετηρίου, αλλά ο τελεστής IN έχει ως αποτέλεσμα ένα ευρετήριο ή σάρωση πίνακα.
Αργά ερωτήματα
Μπορείτε να δημιουργήσετε προφίλ και ρυθμίστε τα αργά ερωτήματα και ευρετήρια στη βάση δεδομένων SQL. Για παράδειγμα, εάν ένας τύπος λάβει δεδομένα με φθίνουσα σειρά (DESC) σε μια συγκεκριμένη στήλη, αυτή η στήλη ταξινόμησης θα πρέπει να έχει ένα ευρετήριο με φθίνουσα σειρά. Το κλειδί ευρετηρίου δημιουργεί αύξουσα σειρά (ASC) από προεπιλογή.
Μπορείτε επίσης να ελέγξετε τη διεύθυνση URL των αιτήσεων δεδομένων. Για παράδειγμα, η ακόλουθη αίτηση δεδομένων τμήματος κώδικα (μερική κλήση OData) ζητά από τον SQL να επιστρέψει 500 καρτέλες που ταιριάζουν με τη στήλη σε Τιμή και σειρά κατά Αναγνωριστικό σε φθίνουσα σειρά.
Items? \$filter=Column eq 'Value' & Orderby = ID desc & top 500
Αυτό βοηθά στην κατανόηση των απαιτήσεων ευρετηρίου για την κάλυψη παρόμοιων συνθηκών αίτησης. Σε αυτό το παράδειγμα, εάν η στήλη αναγνωριστικού έχει ένα ευρετήριο με φθίνουσα σειρά, το ερώτημα θα εκτελεστεί πιο γρήγορα.
Ελέγξτε το σχέδιο εκτέλεσης αργών ερωτημάτων για να δείτε εάν υπάρχει κάποια σάρωση πίνακα ή ευρετηρίου. Παρακολουθήστε τυχόν υπερβολικό κόστος της αναζήτησης κλειδιού στο σχέδιο εκτέλεσης.
Περισσότερες πληροφορίες:
- Παρακολούθηση και ρύθμιση για επιδόσεις
- Παρακολούθηση επιδόσεων με χρήση του χώρου αποθήκευσης ερωτημάτων
- Επισκόπηση εκτεταμένων συμβάντων
Διένεξη πόρων βάσης δεδομένων
Βεβαιωθείτε ότι η προέλευση δεδομένων, βάση δεδομένων SQL, δεν έχει διένεξη πόρων, όπως συμφόρηση επεξεργαστή, διένεξη εισόδου/εξόδου, πίεση μνήμης ή διένεξη tempDB. Επίσης, ελέγξτε για κλειδώματα, αναμονές, αδιέξοδα και χρονικά όρια ερωτήματος.
Φιλοδώρημα
Χρησιμοποιήστε την αυτόματη ρύθμιση για πληροφορίες σχετικά με πιθανά προβλήματα επιδόσεων ερωτήματος, προτεινόμενες λύσεις και για να διορθώσετε αυτόματα τα προβλήματα που εντοπίστηκαν.
Παχιά αιτήματα πελατών ή υπερβολικά αιτήματα
Μια εφαρμογή που εκτελεί λειτουργίες Ομαδοποίηση κατά, Φιλτράρισμα κατά ή JOIN από την πλευρά του υπολογιστή-πελάτη χρησιμοποιεί επεξεργαστή και πόρους μνήμης από τις συσκευές-πελάτες. Ανάλογα με το μέγεθος των δεδομένων, αυτές οι λειτουργίες μπορεί να χρειαστούν περισσότερο χρόνο δέσμης ενεργειών από την πλευρά του υπολογιστή-πελάτη, αυξάνοντας το μέγεθος του σωρού JS στον υπολογιστή-πελάτη. Αυτό το πρόβλημα αυξάνεται για μια προέλευση δεδομένων εσωτερικής εγκατάστασης, επειδή κάθε κλήση δεδομένων αναζήτησης μετακινείται στην προέλευση δεδομένων μέσω της πύλης δεδομένων.
Σε τέτοιες περιπτώσεις, χρησιμοποιήστε την Προβολή αντικειμένου στη βάση δεδομένων SQL για λειτουργίες Ομαδοποίηση κατά, Φιλτραρίσματο κατά ή JOIN. Οι προβολές μπορούν να χρησιμοποιήσουν επιλεκτικές στήλες και να καταργήσουν περιττές στήλες με τύπους μεγάλων δεδομένων, όπως NVARCHAR(MAX), VARCHAR(MAX) και VARBINARY(MAX).
Φιλοδώρημα
Αυτή η προσέγγιση βοηθά επίσης στην αντιμετώπιση του προβλήματος ερωτήματος N+1.
Μέγεθος δεδομένων που μεταφέρεται στον υπολογιστή-πελάτη
Από προεπιλογή, μια εφαρμογή καμβά εμφανίζει δεδομένα χρησιμοποιώντας τους πίνακες ή προβολές από τα διαθέσιμα αντικείμενα βάσης δεδομένων. Η ανάκτηση όλων των στηλών από έναν πίνακα μπορεί να έχει ως αποτέλεσμα μια αργή απόκριση, ειδικά όταν χρησιμοποιείτε τύπους μεγάλων δεδομένων όπως το NVARCHAR(MAX).
Η μεταφορά μεγάλων ποσοτήτων δεδομένων σε υπολογιστές-πελάτες παίρνει χρόνο. Αυτή η μεταφορά έχει επίσης ως αποτέλεσμα περισσότερο χρόνο δέσμης ενεργειών όταν υπάρχουν μεγάλες ποσότητες δεδομένων στον σωρό JS στην πλευρά του προγράμματος-πελάτη, όπως περιγράφεται νωρίτερα σε αυτό το άρθρο.
Για να μειώσετε το μέγεθος των δεδομένων που μεταφέρονται στο πρόγραμμα-πελάτη, χρησιμοποιήστε προβολές με τις συγκεκριμένες στήλες που απαιτούνται για την εφαρμογή και βεβαιωθείτε ότι είναι ενεργοποιημένη η ρητή επιλογή στήλης, όπως περιγράφεται νωρίτερα σε αυτό το άρθρο.
Θέματα που αφορούν ειδικά τον SQL Server εσωτερικής εγκατάστασης
Οι επιδόσεις μιας εφαρμογής καμβά που χρησιμοποιεί τη σύνδεση του SQL Server με μια εσωτερικής εγκατάστασης πύλη δεδομένων ενδέχεται να επηρεαστούν με διάφορους τρόπους. Αυτή η ενότητα παραθέτει τα κοινά ζητήματα επιδόσεων και τις λύσεις που αφορούν τη χρήση μιας προέλευσης βάσης δεδομένων εσωτερικής εγκατάστασης.
Μη υγειής πύλη δεδομένων εσωτερικής εγκατάστασης
Οι οργανισμοί μπορούν να ορίσουν πολλούς κόμβους για πύλες δεδομένων εσωτερικής εγκατάστασης. Ακόμα και αν ένας από τους κόμβους δεν είναι προσβάσιμος, οι αιτήσεις δεδομένων στον μη υγιή κόμβο δεν θα επιστρέψουν το αποτέλεσμα μέσα σε ένα αποδεκτό χρονικό πλαίσιο ή μπορεί να προκαλέσουν «μη προσιτά» μηνύματα λάθους μετά από αναμονή για λίγο.
Βεβαιωθείτε ότι όλοι οι κόμβοι πύλης δεδομένων εσωτερικής εγκατάστασης είναι υγιείς και έχουν ρυθμιστεί με ελάχιστο λανθάνοντα χρόνο δικτύου μεταξύ των κόμβων και της παρουσίας SQL.
Τοποθεσία μιας πύλης δεδομένων εσωτερικής εγκατάστασης
Μια πύλη δεδομένων απαιτεί κλήσεις δικτύου σε προελεύσεις δεδομένων εσωτερικής εγκατάστασης για την ερμηνεία των αιτήσεων OData. Για παράδειγμα, η πύλη δεδομένων πρέπει να κατανοήσει το σχήμα του πίνακα δεδομένων για να μεταφραστεί το αίτημα OData σε δηλώσεις γλώσσας χειρισμού δεδομένων SQL (DML). Επιπλέον επιβάρυνση προστίθεται όταν η πύλη δεδομένων έχει ρυθμιστεί σε ξεχωριστή θέση με υψηλό λανθάνοντα χρόνο δικτύου μεταξύ της πύλης δεδομένων και της παρουσίας SQL.
Σε ένα εταιρικό περιβάλλον, συνιστάται η ύπαρξη ενός συμπλέγματος πύλης δεδομένων με δυνατότητα κλιμάκωσης όταν αναμένονται αιτήσεις για πολλά δεδομένα. Ελέγξτε πόσες συνδέσεις δημιουργούνται μεταξύ των κόμβων πύλης δεδομένων και της παρουσίας SQL.
Ελέγχοντας τις ταυτόχρονες συνδέσεις σε μια πύλη δεδομένων εσωτερικής εγκατάστασης ή σε μια παρουσία SQL, η εταιρεία σας μπορεί να προσδιορίσει το σημείο όπου πρέπει να κλιμακωθεί η πύλη δεδομένων και με ποιον αριθμό κόμβων.
Δυνατότητα κλιμάκωσης πύλης δεδομένων
Εάν αναμένετε να αποκτήσετε πρόσβαση σε μεγάλο όγκο δεδομένων από την πύλη δεδομένων εσωτερικής εγκατάστασης, μόνο ένας κόμβος της πύλης δεδομένων εσωτερικής εγκατάστασης μπορεί να μετατραπεί σε σημείο συμφόρησης για τον χειρισμό τόσο μεγάλου όγκου αιτήσεων.
Ένας μόνο κόμβος της πύλης δεδομένων εσωτερικής εγκατάστασης μπορεί να είναι επαρκής για την αντιμετώπιση 200 ή λιγότερες ταυτόχρονες συνδέσεις. Ωστόσο, εάν όλες αυτές οι ταυτόχρονες συνδέσεις εκτελούν ερωτήματα ενεργά, άλλες αιτήσεις καταλήγουν να περιμένουν μια διαθέσιμη σύνδεση.
Για πληροφορίες σχετικά με τη διασφάλιση ότι η πύλη δεδομένων εσωτερικής εγκατάστασης θα κλιμακωθεί σύμφωνα με τον όγκο των δεδομένων και των αιτήσεων, μεταβείτε στην επιλογή Παρακολούθηδη και βελτιστοποίηση επιδόσεων της πύλης εσωτερικής εγκατάστασηςδεδομένων.
Θέματα που αφορούν τη βάση δεδομένων SQL Azure
Οι εφαρμογές καμβά μπορούν να συνδεθούν με τη βάση δεδομένων SQL Azure χρησιμοποιώντας τη σύνδεση του SQL Server. Μια συνήθης αιτία προβλημάτων επιδόσεων κατά τη χρήση της Βάσης δεδομένων SQL Azure είναι η επιλογή εσφαλμένου επιπέδου για τις επιχειρηματικές σας απαιτήσεις.
Η βάση δεδομένων SQL Azure είναι διαθέσιμη σε διαφορετικά επίπεδα υπηρεσιών, με ποικίλες δυνατότητες για την αντιστοίχιση διαφορετικών επιχειρηματικών απαιτήσεων. Για περισσότερες πληροφορίες σχετικά τα επίπεδα, μεταβείτε στην τεκμηρίωση βάσης δεδομένων Azure SQL.
Με τις αιτήσεις βαριών δεδομένων, οι πόροι στο επίπεδο που επιλέγετε ενδέχεται να περιοριστούν μόλις επιτευχθεί η τιμή κατωφλίου. Αυτός ο περιορισμός θέτει σε κίνδυνο τις επιδόσεις του επόμενου συνόλου ερωτημάτων.
Ελέγξτε το επίπεδο υπηρεσίας της βάσης δεδομένων SQL Azure. Ένα χαμηλότερο επίπεδο θα έχει ορισμένους περιορισμούς. Από την άποψη των επιδόσεων, η CPU, η ταχύτητα μετάδοσης εισόδου/εξόδου και ο λανθάνων χρόνος είναι σημαντικά. Επομένως, συνιστούμε να ελέγχετε περιοδικά τις επιδόσεις της βάσης δεδομένων SQL και να ελέγχετε εάν η χρήση πόρων υπερβαίνει το όριο. Για παράδειγμα, SQL Server εσωτερικής εγκατάστασης ορίζει συνήθως το όριο χρήσης της CPU σε περίπου 75τοις εκατό.
Ζητήματα επιδόσεων για τη σύνδεση του SharePoint
Μπορείτε να χρησιμοποιήσετε τη σύνδεση SharePoint για να δημιουργήσετε εφαρμογές χρησιμοποιώντας δεδομένα από τις Λίστες Microsoft. Μπορείτε επίσης να δημιουργήσετε εφαρμογές καμβά απευθείας από την προβολή λίστας. Ας ρίξουμε μια ματιά στα συνηθισμένα προβλήματα επιδόσεων και τις λύσεις για τη χρήση μιας προέλευσης δεδομένων SharePoint με εφαρμογές καμβά.
Πάρα πολλές στήλες δυναμικής αναζήτησης
Το SharePoint υποστηρίζει διάφορους τύπους δεδομένων,συμπεριλαμβανομένων δυναμικών αναζητήσεων, όπως Άτομο, Ομάδα και Υπολογισμός. Εάν μια λίστα ορίζει πάρα πολλές δυναμικές στήλες, χρειάζεται περισσότερος χρόνος για να χειριστείτε αυτές τις δυναμικές στήλες μέσα στο SharePoint πριν επιστρέψετε δεδομένα στον υπολογιστή-πελάτη που εκτελεί την εφαρμογή καμβά.
Μην κάνετε υπερβολική χρήση των στηλών δυναμικής αναζήτησης στο SharePoint. Αυτή η υπερβολική χρήση μπορεί να έχει ως αποτέλεσμα επιβάρυνση που δύνατανι να αποφευχθεί και επιπλέον επιβάρυνση από την πλευρά του SharePoint για τον χειρισμό των δεδομένων. Αντίθετα, μπορείτε να χρησιμοποιήσετε στατικές στήλες για να διατηρήσετε ψευδώνυμα ηλεκτρονικού ταχυδρομείου ή ονόματα ατόμων για παράδειγμα.
Στήλη εικόνας και συνημμένο
Το μέγεθος μιας εικόνας και ενός συνημμένου αρχείου μπορούν να συμβάλουν σε αργή απόκριση κατά την ανάκτηση στον υπολογιστή-πελάτη.
Εξετάστε τη λίστα και βεβαιωθείτε ότι έχουν οριστεί μόνο οι απαραίτητες στήλες. Ο αριθμός των στηλών στη λίστα επηρεάζει τις επιδόσεις των αιτήσεων δεδομένων. Αυτό οφείλεται στις αντιστοιχισμένες καρτέλες ή οι καρτέλες μέχρι τα καθορισμένα όρια γραμμών δεδομένων ανακτώνται και μεταδίδονται ξανά στον υπολογιστή-πελάτη με όλες τις στήλες που ορίζονται στη λίστα, ακόμα κι αν η εφαρμογή δεν τις χρησιμοποιεί όλες.
Για να θέσετε ερώτημα μόνο στις στήλες που χρησιμοποιούνται από την εφαρμογή, ενεργοποιήστε τη δυνατότητα ρητής επιλογής στηλών, όπως περιγράφηκε πιο πάνω σε αυτό το άρθρο.
Μεγάλες λίστες
Εάν έχετε μια μεγάλη λίστα με εκατοντάδες χιλιάδες καρτέλες, εξετάστε το ενδεχόμενο να δημιουργήσετε διαμερίσματα στη λίστα ή διαιρέστε τη λίστα σε διάφορες λίστες με βάση παραμέτρους όπως οι κατηγορίες ή η ημερομηνία και η ώρα.
Για παράδειγμα, τα δεδομένα σας μπορεί να αποθηκευτούν σε διαφορετικές λίστες σε ετήσια ή μηνιαία βάση. Σε τέτοια περίπτωση, μπορείτε να σχεδιάσετε την εφαρμογή για να επιτρέψετε σε έναν χρήστη να επιλέξει ένα χρονικό παράθυρο για να ανακτήσει τα δεδομένα εντός αυτής της περιοχής.
Μέσα σε ένα ελεγχόμενο περιβάλλον, η συγκριτική αξιολόγηση επιδόσεων έχει αποδείξει ότι οι επιδόσεις των αιτήσεων Odata σε σχέση με τις Λίστες Microsoft ή SharePoint σχετίζεται σε μεγάλο βαθμό με τον αριθμό των στηλών στη λίστα και τον αριθμό των σειρών που ανακτώνται (που περιορίζεται από το όριο γραμμών δεδομένων για ερωτήματα που μπορούν να ανατεθούν). Το να έχετε μικρότερο αριθμό στηλών και ρύθμιση χαμηλότερου ορίου γραμμών δεδομένων μπορούν να κάνουν μια εφαρμογή καμβά να έχει καλύτερη απόδοση.
Στον πραγματικό κόσμο όμως, οι εφαρμογές έχουν σχεδιαστεί για να ανταποκρίνονται σε ορισμένες επιχειρηματικές απαιτήσεις. Ενδέχεται να μην είναι γρήγορο ή απλό να μειώσετε το όριο γραμμών δεδομένων ή τον αριθμό των στηλών σε μια λίστα. Ωστόσο, συνιστούμε να παρακολουθείτε τις αιτήσεις OData από την πλευρά του υπολογιστή-πελάτη και να ρυθμίζετε το όριο γραμμής δεδομένων για ερωτήματα χωρίς δυνατότητα ανάθεσης και τον αριθμό των στηλών στη λίστα.
Ζητήματα επιδόσεων για τη χρήση του Dataverse ως την προέλευση δεδομένων
Όταν χρησιμοποιείτε το Microsoft Dataverse ως προέλευση δεδομένων, τα αιτήματα δεδομένων περνούν απευθείας στην παρουσία περιβάλλοντος, χωρίς να περάσουν μέσω της Διαχείρισης API Azure. Περισσότερες πληροφορίες: Ροή κλήσεων δεδομένων κατά τη σύνδεση στο Microsoft Dataverse
Φιλοδώρημα
Όταν χρησιμοποιούνται προσαρμοσμένοι πίνακες στο Dataverse ενδέχεται να απαιτούνται πρόσθετες ρυθμίσεις παραμέτρων ασφαλείας προκειμένου οι χρήστες να μπορούν να προβάλλουν τις καρτέλες με εφαρμογές καμβά. Περισσότερες πληροφορίες: Έννοιες ασφαλείας στο Dataverse, Ρύθμιση παραμέτρων ασφάλειας χρήστη σε πόρους σε ένα περιβάλλον και Ρόλοι ασφαλείας και δικαιώματα
Μια εφαρμογή καμβά που συνδέεται με το Dataverse μπορεί να λειτουργεί αργά, εάν εκτελεί δέσμες ενεργειών με μεγάλο φόρτο υπολογιστή-πελάτη, όπως Φιλτράρισμα κατά ή ΣΥΜΜΕΤΟΧΗ στην πλευρά του υπολογιστή-πελάτη αντί για την πλευρά του διακομιστή.
Χρησιμοποιήστε προβολές Dataverse όταν είναι δυνατό. Μια προβολή με τα απαιτούμενα κριτήρια συμμετοχής ή φίλτρου βοηθά στη μείωση της επιβάρυνσης της χρήσης ενός ολόκληρου πίνακα. Για παράδειγμα, εάν χρειάζεται να ενώσετε πίνακες και να φιλτράρετε τα δεδομένα τους, μπορείτε να ορίσετε μια προβολή ενώνοντας τους πίνακες και να καθορίσετε μόνο τις στήλες που χρειάζεστε. Στη συνέχεια, μπορείτε να χρησιμοποιήσετε αυτήν την προβολή στην εφαρμογή σας που δημιουργεί αυτήν την επιβάρυνση από την πλευρά του διακομιστή για τη λειτουργία σύνδεση/φίλτρο αντί για την πλευρά του υπολογιστή-πελάτη. Αυτή η μέθοδος δεν μειώνει μόνο τις επιπλέον λειτουργίες, αλλά και τη μετάδοση δεδομένων. Για πληροφορίες σχετικά με την επεξεργασία φίλτρων και κριτηρίων ταξινόμησης, μεταβείτε στην ενότητα Επεξεργασία κριτηρίων φίλτρου.
Ζητήματα επιδόσεων για τη σύνδεση του Excel
Η σύνδεση του Excel παρέχει συνδεσιμότητα από μια εφαρμογή καμβά στα δεδομένα ενός πίνακα σε ένα αρχείο του Excel. Αυτή η σύνδεση έχει περιορισμούς σε σύγκριση με άλλες προελεύσεις δεδομένων, για παράδειγμα, περιορισμένες συναρτήσεις με δυνατότητα ανάθεσης που αποτρέπουν την εφαρμογή καμβά να φορτώνει δεδομένα από τον πίνακα μόνο έως 2000 καρτέλες. Για να φορτωθούν περισσότερες από 2.000 καρτέλες, χωρίστε τα δεδομένα σας σε διαφορετικούς πίνακες δεδομένων όπως και άλλες προελεύσεις δεδομένων.
Ας ρίξουμε μια ματιά στα συνηθισμένα προβλήματα επιδόσεων με τη χρήση του Excel ως προέλευση δεδομένων για εφαρμογές καμβά και στον τρόπο επίλυσης τους.
Πάρα πολλοί πίνακες δεδομένων και μεγάλο μέγεθος δεδομένων
Μια εφαρμογή μπορεί να λειτουργεία αργά όταν χρησιμοποιεί ένα αρχείο Excel που έχει πάρα πολλούς πίνακες δεδομένων ή πίνακες δεδομένων που περιέχουν ένα τεράστιο μέγεθος δεδομένων σε πολλές στήλες. Ένα αρχείο Excel δεν είναι σχεσιακή βάση δεδομένων ή προέλευση δεδομένων που παρέχει συναρτήσεις με δυνατότητα ανάθεσης. Το Power Apps πρέπει να φορτώνει δεδομένα από τους καθορισμένους πίνακες δεδομένων πρώτα και, στη συνέχεια, χρησιμοποιεί συναρτήσεις, όπως Filter, Sort, JOIN, Group By και Search.
Η ύπαρξη πάρα πολλών πινάκων δεδομένων, με πολλές γραμμές και στήλες επηρεάζει τις επιδόσεις της εφαρμογής και την επιβάρυνση από την πλευρά του υπολογιστή-πελάτη, επειδή κάθε πίνακας δεδομένων πρέπει να υποβληθεί σε χειρισμό μέσα στον σωρό JS. Αυτό το αποτέλεσμα οδηγεί επίσης την εφαρμογή να καταναλώσει περισσότερη μνήμη υπολογιστή-πελάτη.
Για να εξασφαλίσετε ότι η εφαρμογή σας δεν επηρεάζεται από αυτό το πρόβλημα, ορίστε μόνο τις στήλες που χρειάζεστε στον πίνακα δεδομένων σε ένα αρχείο Excel.
Βαριές συναλλαγές
Το Excel δεν είναι σχεσιακή βάση δεδομένων. Η διαχείριση τυχόν αλλαγών από μια εφαρμογή γίνεται από το Excel με τον ίδιο τρόπο όπως εάν ένας χρήστης άλλαζε δεδομένα σε ένα αρχείο Excel. Εάν η εφαρμογή έχει μεγάλο αριθμό αναγνώσεων, αλλά λιγότερες λειτουργίες CRUD, ενδέχεται να έχει καλή απόδοση. Ωστόσο, εάν η εφαρμογή πραγματοποιεί βαριές συναλλαγές, μπορεί να επηρεάσει αρνητικά την απόδοση της εφαρμογής.
Δεν υπάρχει συγκεκριμένη τιμή κατωφλίου για τον αριθμό των συναλλαγών, επειδή εξαρτάται επίσης από τα δεδομένα που υποβάλλοντα σε χειρισμό. Αρκετές άλλες πτυχές επηρεάζουν επίσης την απόδοση της εφαρμογής, όπως η επιβάρυνση δικτύου ή η συσκευή του χρήστη.
Εάν έχετε δεδομένα μόνο για ανάγνωση, μπορείτε να εισαγάγετε αυτά τα δεδομένα στην εφαρμογή τοπικά αντί να τα φορτώσετε από την προέλευση δεδομένων. Για εταιρικές εφαρμογές, χρησιμοποιήστε προελεύσεις δεδομένων όπως οι Dataverse, SQL Server ή SharePoint αντίθετα.
Μέγεθος αρχείου
Μπορείτε να επιλέξετε από ένα ευρύ φάσμα επιλογών χώρου αποθήκευσης στο cloud με μεταβλητή δυνατότητα αποθήκευσης ή με δυνατότητα αποθήκευσης δυνάμενη να ρυθμιστεί για το αρχείο του Excel. Ωστόσο, το να υπάρχει ένα μεγάλο αρχείο του Excel με όλους τους πίνακες που ορίζονται σε αυτό το αρχείο προσθέτει μια επιπλέον επιβάρυνση για την εφαρμογή κατά τη λήψη του αρχείου και την ανάγνωση των δεδομένων που θα φορτωθούν στην πλευρά του υπολογιστή-πελάτη.
Αντί να χρησιμοποιήσετε ένα μεγάλο αρχείο, χωρίστε τα δεδομένα σε πολλά αρχεία του Excel με ελάχιστους πίνακες δεδομένων. Στη συνέχεια, συνδεθείτε σε κάθε αρχείο μόνο όταν το χρειάζεστε. Με αυτόν τον τρόπο, η φόρτωση των δεδομένων από τον πίνακα δεδομένων γίνεται σε τμήματα, μειώνοντας την επιβάρυνση των πολλών πινάκων ή του μεγάλου συνόλου δεδομένων.
Θέση αρχείων
Η γεωγραφική θέση της προέλευσης δεδομένων και η απόσταση από τις θέσεις πελατών μπορεί να οδηγήσουν σε ένα κοινό σημείο συμφόρησης επιδόσεων για την εφαρμογή και να προκαλέσουν λανθάνουσα κατάσταση δικτύου. Αυτό το αποτέλεσμα μπορεί να ενισχυθεί όταν ένα πρόγραμμα-πελάτη κινητής τηλεφωνίας έχει περιορισμένο εύρος ζώνης για συνδεσιμότητα.
Είναι καλύτερα να διατηρείτε το αρχείο κοντά στους τελικούς χρήστες σας (ή τους περισσότερους χρήστες, εάν έχετε παγκόσμιο κοινό), ώστε να είναι δυνατή η γρήγορη λήψη του αρχείου.
Επόμενα βήματα
Συμβουλές και βέλτιστες πρακτικές για τη βελτίωση της απόδοσης της εφαρμογής καμβά
Δείτε επίσης
Κατανόηση των φάσεων εκτέλεσης εφαρμογών καμβά και της ροής κλήσης δεδομένων
Κοινές πηγές αργής απόδοσης για μια εφαρμογή καμβά
Συνήθη ζητήματα και τρόποι επίλυσης για το Power Apps
Αντιμετώπιση προβλημάτων εκκίνησης για το Power Apps