Πέντε τρόποι για την επιτάχυνση των εικονικών εφαρμογών

Συγγραφέας: Laura McKinney
Ημερομηνία Δημιουργίας: 2 Απρίλιος 2021
Ημερομηνία Ενημέρωσης: 1 Ιούλιος 2024
Anonim
The Third Industrial Revolution: A Radical New Sharing Economy
Βίντεο: The Third Industrial Revolution: A Radical New Sharing Economy

Περιεχόμενο


Πηγή: Viktorus / Dreamstime.com

Πάρε μακριά:

Μάθετε πέντε τεχνικές για την επιτάχυνση των εικονικών εφαρμογών χωρίς να σπάσετε την τράπεζα.

Μία από τις απογοητεύσεις του εικονικού για εφαρμογές και επιτραπέζιους υπολογιστές είναι η απόδοση. Κανείς δεν θέλει να περιμένει περισσότερο από ένα δευτερόλεπτο ή δύο για να εμφανιστεί μια εφαρμογή μετά την εκτόξευση. Ως χρήστες, αναμένουμε να εμφανίζονται οι εφαρμογές μας αμέσως μετά το διπλό κλικ στο εικονίδιο. Δεν συνειδητοποιούμε τι συμβαίνει στο παρασκήνιο για την παράδοση αυτών των εφαρμογών μεταξύ διακομιστή, μέσω τείχους προστασίας, μέσω ζυγοστάθμισης φορτίου, μέσω του αέρα ή μέσω των καλωδίων στους επιτραπέζιους υπολογιστές μας και στις κινητές συσκευές μας, ούτε μας ενδιαφέρει. Η συλλογική υπομονή μας φοριέται με υποσχέσεις καλύτερης, ταχύτερης και ασφαλέστερης τεχνολογίας και είναι καιρός για μια στιγμή που "βάζουμε ή κλείνουμε" από τους πωλητές και από το προσωπικό υποστήριξης. Με τη σειρά τους, οι πωλητές και το προσωπικό υποστήριξης μοιράζονται τον πόνο μας και έχουν ανταποκριθεί με κάποιες τεχνολογίες επιτάχυνσης που προσφέρουν απόδοση σε ή κοντά σε τοπικά εγκατεστημένα επίπεδα.


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

WAN και LAN Βελτιστοποίηση

Μπορείτε να ανατρέξετε στη βελτιστοποίηση WAN και LAN ως λύση εύρους ζώνης, όπου ο απώτερος στόχος είναι να βάλουμε περισσότερες πληροφορίες και περισσότερα δεδομένα σε έναν αγωγό δικτύου με πιο αποτελεσματικό τρόπο. Επειδή η απόδοση των εφαρμογών είναι τόσο σημαντική για τους τελικούς χρήστες, υπάρχουν κάποιες έξυπνες μέθοδοι για την παράδοση περισσότερου περιεχομένου σε μικρότερες χρονικές περιόδους, όπως η δημιουργία δικτύου παροχής περιεχομένου (CDN) που ουσιαστικά μεταφέρει τα δεδομένα πιο κοντά στον καταναλωτή ή τον τελικό χρήστη. Η μετακίνηση των δεδομένων πιο κοντά στον χρήστη μειώνει την καθυστέρηση επειδή τα δεδομένα πρέπει να διασχίσουν λιγότερα "λυκίσκους" ή δίκτυα για να φτάσουν στον προορισμό τους. Οι περισσότεροι πάροχοι υπηρεσιών cloud έχουν ήδη εγκατεστημένα CDN για να βοηθήσουν τους ιδιοκτήτες εφαρμογών να παραδώσουν κατανεμημένο περιεχόμενο κοντά στους καταναλωτές.


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

Η αύξηση του ακατέργαστου εύρους ζώνης μεταξύ των εφαρμογών και των πελατών φαίνεται σαν μια προφανής βελτίωση για να επιταχυνθεί η παράδοση των εφαρμογών. Ποιος μπορεί να υποστηρίξει ότι μια σύνδεση δικτύου gigabit μεταξύ της υποδομής εφαρμογής και του υπολογιστή-πελάτη είναι κακό; Ακόμη και μια κακώς σχεδιασμένη και σχεδιασμένη εφαρμογή θα λάβει σημαντική ώθηση στην απόδοση αυξάνοντας το εύρος ζώνης μεταξύ της πηγής και του στόχου.

Η συμπίεση δεδομένων και η χρήση συμπιεσμένων τύπων μέσων όπως JPEG, MPEG-4 και MP3 μπορούν να επηρεάσουν σημαντικά την παράδοση των εφαρμογών. Η συμπίεση δεδομένων με βάση το περιεχόμενο, που σημαίνει HTML, CSS και JavaScript, μπορεί να οδηγήσει σε μείωση του χρόνου φόρτωσης κατά 30% ή και περισσότερο.

SSD και Flash Arrays

Τα SSD και οι συστοιχίες flash φαίνονται να είναι η νέα τεχνολογία "go to" για κάθε είδους βελτίωση των επιδόσεων των εφαρμογών. Είναι αλήθεια ότι η αποθήκευση σε στερεά κατάσταση είναι πολύ πιο γρήγορη από ότι οι δίσκοι περιστροφής, αλλά είναι επίσης πολύ πιο ακριβό. Η λύση θα μπορούσε να είναι καλά να εξετάσουμε τη χρήση SSD διαφορετικά - ως cache για "ζεστά" δεδομένα αντί για δεδομένα σε ηρεμία. Τα SSD μπορούν να μεταφέρουν δεδομένα πολύ πιο γρήγορα από ό, τι οι δίσκοι περιστρεφόμενου δίσκου, αλλά ορισμένες από αυτές αποτυγχάνουν στη μετάφραση μέσω του δικτύου και μέσω διαφόρων εξαρτημάτων δικτύωσης. Ωστόσο, εάν κάποιος χρησιμοποιεί την αποκαλούμενη "προσωρινή μνήμη flash" για να αξιοποιήσει την ταχύτητα SSD για την αποθήκευση αποθηκευμένων πληροφοριών, τα αποτελέσματα είναι εντυπωσιακά. Η Intel αναφέρει έως και "12 φορές περισσότερη απόδοση στην επεξεργασία βάσεων δεδομένων συναλλαγών και έως και 36 φορές πιο γρήγορη επεξεργασία των εντατικών φορτίων εικονικοποίησης I / O".

Τα SSD για κρυπτογράφηση δεδομένων έχουν νόημα λόγω της ταχύτητας με την οποία τα δεδομένα μπορούν να ανακτηθούν και να τοποθετηθούν στη μνήμη. Και αν τα SSD χρησιμοποιούνται αποκλειστικά για σκοπούς προσωρινής αποθήκευσης, τότε θα πρέπει να αγοραστούν σημαντικά λιγότερα από αυτά για να ικανοποιηθούν οι προκύπτουσες επιδόσεις. (Για περισσότερες πληροφορίες σχετικά με την αποθήκευση, ανατρέξτε στην ενότητα Τρόπος βελτιστοποίησης της λύσης αποθήκευσης για επιχειρήσεις.)

No Bugs, No Stress - Ο οδηγός σας βήμα προς βήμα για τη δημιουργία λογισμικού που αλλάζει τη ζωή χωρίς να καταστρέφει τη ζωή σας

Δεν μπορείτε να βελτιώσετε τις δεξιότητες προγραμματισμού σας όταν κανείς δεν ενδιαφέρεται για την ποιότητα του λογισμικού.

Εικονικές GPU

Ρωτήστε οποιονδήποτε χρησιμοποιεί ένα πρόγραμμα CAD, λογισμικό επεξεργασίας βίντεο ή ακόμη και μια εφαρμογή διαχείρισης έργου, όπου θέλει να φορτώσει αυτές τις εφαρμογές και θα ακούσετε μια χορωδία "τοπικά". Η μετατροπή αυτών των γραφικών εφαρμογών σε ένα εικονικό περιβάλλον μέχρι την απελευθέρωση της τεχνολογίας εικονικής μονάδας επεξεργασίας γραφικών (GPU).

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

Αυτό που κατέστησε εφικτή αυτή την τεχνολογία είναι ότι σε αυτά τα συστήματα κεντρικού υπολογιστή εγκαθίστανται ειδικές πλακέτες GPU, συμβατές με συστήματα κεντρικών υπολογιστών εικονικής μηχανής, και στη συνέχεια οι ιδιότητες υλικού τους είναι αφαιρεμένες ή εικονικοποιημένες έτσι ώστε να μπορούν να χρησιμοποιηθούν από εικονικές μηχανές.

Λογισμικό βελτιστοποιημένης απόδοσης

Οι θυμωμένοι και απογοητευμένοι διαχειριστές του συστήματος θα σας πουν συχνά ότι ο καθορισμός κώδικα δεν είναι δουλειά τους. Το πανταχού παρόν πρόβλημα είναι ωστόσο ότι οι προγραμματιστές μπορεί να είναι κορυφαίοι στο προγραμματισμό μιας εφαρμογής, αλλά δεν έχουν απολύτως καμία ιδέα ή επιθυμία να αποκτήσουν ιδέα για τη βελτιστοποίηση του κώδικα για απόδοση.Συχνά η στάση είναι ότι περισσότερη μνήμη RAM, ταχύτεροι δίσκοι ή πιο ισχυρές CPU θα καθορίσει τυχόν προβλήματα που σχετίζονται με την απόδοση που μπορεί να υπάρχουν στον κώδικα και είναι αλήθεια σε κάποιο βαθμό. Εναλλακτικά, ο καθορισμός κώδικα είναι πολύ λιγότερο δαπανηρός και πολύ πιο εύκολος στην επίλυση από την ανακατασκευή μιας υποδομής απλώς για την επιτάχυνση των κακώς γραπτών εφαρμογών.

Υπάρχουν αυτοί, όπως ο πρωτοπόρος ηλεκτρονικών υπολογιστών Donald Knuth, ο οποίος είπε ότι βελτιστοποιώντας τον κώδικα του υπολογιστή: "Αν βελτιστοποιήσετε τα πάντα, θα είστε πάντοτε δυσαρεστημένοι." Ωστόσο, οι απόψεις του κ. Knuth, βελτιστοποιώντας τον κώδικα για μια ισορροπημένη βελτίωση, . Αλλά τι γίνεται με τα εμπορικά προγράμματα που αγοράζετε και αναπτύσσετε στους χρήστες σας; Για παράδειγμα, η αειθαλής σουίτα του Microsoft Office είναι μια τυπική σουίτα εφαρμογών που οι διαχειριστές του συστήματος πρέπει να θέτουν στη διάθεση τόσο των τοπικών όσο και των απομακρυσμένων χρηστών.

Στην περίπτωση εμπορικών προγραμμάτων που οι διαχειριστές δεν έχουν μόχλευση, θα πρέπει να εφαρμόσουν μια στρατηγική πολλαπλών επιπέδων βελτίωσης επιδόσεων. Η προσωρινή αποθήκευση κοινών δυαδικών εφαρμογών θα είναι η μεγαλύτερη τεχνολογία του διαχειριστή για την επιτάχυνση της παράδοσης μεγάλων εφαρμογών στους χρήστες.

Caching

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

Η προσωρινή αποθήκευση αποδίδει λιγότερη πίεση στην αποθήκευση, στο εύρος ζώνης δικτύου και στις CPU. Τα δεδομένα περιμένουν στη μνήμη μέχρι να καλέσουν και μετά προχωρήσουν στο πολύ μικρότερο ταξίδι στον τελικό χρήστη. Οι περισσότερες τεχνολογίες συνδυάζουν την προσωρινή αποθήκευση με την τοποθεσία για την ταχύτερη παροχή περιεχομένου. Με άλλα λόγια, κοινά δεδομένα - αυτά είναι δεδομένα κοινά για όλους τους χρήστες - τοποθετούνται στα προαναφερθέντα CDN και στη συνέχεια παραδίδονται σε χρήστες που βρίσκονται κοντά στα ζητούμενα δεδομένα. Ορισμένες λύσεις πηγαίνουν τόσο μακριά όσο τοπικά αποθηκεύουν δεδομένα σε απομακρυσμένες ή δορυφορικές τοποθεσίες, έτσι ώστε αυτά τα κοινά bits να βρίσκονται εκεί όπου καταναλώνονται και δεν χρειάζεται να τραβούν φρέσκα μέσω του WAN ή ενός διαδικτυακού συνδέσμου.

Η προσωρινή αποθήκευση είναι συχνά μια προτιμώμενη μέθοδος επιτάχυνσης της εφαρμογής, επειδή είναι πολύ λιγότερο δαπανηρή από ό, τι συγκριτικά επιτελεί λύσεις που βασίζονται σε βελτιώσεις της υποδομής. (Για να μάθετε περισσότερα σχετικά με την προσωρινή αποθήκευση, ανατρέξτε στην ενότητα Τι είδους γραφή είναι σωστή; Μια ματιά στις μεθόδους προσωρινής αποθήκευσης I / O.)

Περίληψη

Ίσως ο βασικός κανόνας όταν επιχειρείτε να βελτιστοποιήσετε ή να επιταχύνετε τις εικονικές εφαρμογές σε οποιοδήποτε περιβάλλον είναι να δοκιμάσετε πρώτα την προσωρινή αποθήκευση και στη συνέχεια να την συμπληρώσετε με άλλες τεχνολογίες. Η προσωρινή αποθήκευση είναι η λιγότερο δαπανηρή λύση και είναι και η λιγότερο επεμβατική λύση. Η καλύτερη συμβουλή είναι να αγοράσετε άφθονα μνήμη RAM για προσωρινή μνήμη και SSD για προσωρινή αποθήκευση δεδομένων. Προσπαθήστε να διατηρήσετε το κόστος διαχειρίσιμο, αλλά να θυμάστε ότι όταν ξοδεύετε χρήματα για την υποδομή και το λογισμικό, μπορείτε να το αποσβένετε στη διάρκεια της τεχνολογίας και να το διανέμετε ανά χρήστη για να διευκολύνετε τη διαχείριση της διαχείρισης. Στο τέλος, κρατήστε τους χρήστες σας παραγωγικούς και ευτυχείς και θα σας κρατήσουν κερδοφόρα.