Burstable EC2 VPN: τυπικές ή απεριόριστες μονάδες CPU;
Η μία λειτουργία περιορίζει στη βασική γραμμή, η άλλη συνεχίζει και μπορεί να σας χρεώσει. Κάντε την αριθμητική των μονάδων πριν μια μικρή instance γίνει η πύλη σας.
Μια μικρή πύλη VPN περνά ένα τεστ ταχύτητας, φαίνεται καλή και μετά υποβαθμίζεται μετά το μεσημέρι. Η instance δεν έλεγε ψέματα κατά τη διάρκεια του τεστ· ξόδευε μονάδες που είχε κερδίσει όσο ήταν αδρανής. Οι burstable instances είναι σχεδιασμένες ακριβώς γι’ αυτό, κάτι που κάνει ένα σύντομο benchmark κακό προγνωστικό για ένα απόγευμα μεταφορών. Οι δύο λειτουργίες μονάδων αποτυγχάνουν επίσης με διαφορετικούς τρόπους, και η επιλογή ανάμεσά τους είναι η πραγματική απόφαση.
Από πού δανείστηκε το τεστ ταχύτητας
Μία μονάδα CPU είναι ένα vCPU που τρέχει σε πλήρη αξιοποίηση για ένα λεπτό. Μια burstable instance κερδίζει μονάδες με τον ρυθμό της βασικής γραμμής της και τις ξοδεύει όταν την ξεπερνά. Μια ήσυχη νύχτα χτίζει υπόλοιπο· ένα πολυάσχολο πρωινό το καταναλώνει.
Γι’ αυτό το πρώτο τεστ φαίνεται καλό. Η instance είχε αποταμιευμένο προϋπολογισμό, τον ξόδεψε σε εργασία κρυπτογράφησης και ανέφερε υγιή ρυθμό. Τίποτα στο αποτέλεσμα δεν σας λέει τι συμβαίνει όταν το υπόλοιπο φτάσει στο μηδέν. Το benchmark μέτρησε μια έκρηξη, και η έκρηξη είναι αυτό για το οποίο είναι σχεδιασμένη η instance. Ποτέ δεν μέτρησε τη σταθερή κατάσταση στην οποία πρόκειται να βασιστείτε.
Η αριθμητική που πρέπει να κάνετε
Οι είσοδοι είναι το ποσοστό βασικής γραμμής ανά vCPU, ο αριθμός vCPU, το συσσωρευμένο υπόλοιπο και το φορτίο που περιμένετε. Μόνο ως παράδειγμα: πάρτε μια υποθετική instance με δύο vCPU, βασική γραμμή δέκα τοις εκατό ανά vCPU, 24 συσσωρευμένες μονάδες και ένα vCPU πλήρως απασχολημένο ενώ το άλλο είναι αδρανές. Αυτοί οι αριθμοί είναι δηλωμένες είσοδοι, όχι η προδιαγραφή κάποιου συγκεκριμένου μεγέθους instance.
Earn rate: 2 x 10% x 60 = 12 credits/hour
Workload usage: 1 x 100% x 60 = 60 credits/hour
Net draw: 60 - 12 = 48 credits/hour
Accrued budget: 24 / 48 = 0.5 hoursΜε αυτές τις παραδοχές ο προϋπολογισμός εξαντλείται σε περίπου μισή ώρα. Η εργασία στο παρασκήνιο, το μεταβαλλόμενο φορτίο και η δική της λογιστική της instance μετακινούν το αποτέλεσμα, και τίποτα από αυτά δεν προβλέπει τη διαμεταγωγή του VPN. Αυτό που προβλέπει είναι πότε θα αρχίσει να πιέζει ο διαρκής περιορισμός.
Προσέξτε και τη δεύτερη ανάγνωση: ένα απασχολημένο vCPU είναι περίπου η μισή συνολική χωρητικότητα CPU σε αυτό το παράδειγμα. Ένα μέτριο συνολικό ποσοστό μπορεί να κρύψει έναν κορεσμένο πυρήνα, οπότε κοιτάξτε τη συμπεριφορά ανά πυρήνα μαζί με τους αριθμούς των μονάδων.
Standard και Unlimited: το ίδιο μηδέν, διαφορετική σημασία
Στη λειτουργία Standard, ένα εξαντλημένο υπόλοιπο περιορίζει τη διαρκή CPU προς τη βασική γραμμή. Η instance συνεχίζει να δουλεύει, απλώς πιο αργά, και το όριο είναι προβλέψιμο. Στη λειτουργία Unlimited η instance μπορεί να συνεχίσει να αντλεί από πλεονάζουσες μονάδες αφού το υπόλοιπο φτάσει στο μηδέν, και η διαρκής χρήση πάνω από τη βασική γραμμή μπορεί να παράγει χρεώσεις σύμφωνα με τους λογιστικούς κανόνες της υπηρεσίας.
Έτσι, ένα CPUCreditBalance ίσο με μηδέν σημαίνει περιορισμό στη μία λειτουργία και πιθανή χρέωση στην άλλη. Αυτή είναι όλη η σύγκριση, και γι’ αυτό η ανάγνωση της μέτρησης χωρίς τη λειτουργία είναι παραπλανητική.
Το πλεόνασμα επίσης δεν είναι ένα απλό τιμολόγιο ανά μονάδα. Η μεταγενέστερη λειτουργία κάτω από τη βασική γραμμή μπορεί να μειώσει τη χρήση πλεονάσματος, και ισχύουν άλλοι όροι χρέωσης. Ελέγξτε τη διαμορφωμένη λειτουργία και τους τρέχοντες κανόνες της υπηρεσίας αντί να βασίζεστε σε ισχυρισμό περί δωρεάν επιπέδου από ένα παλιό άρθρο ιστολογίου.
Τι να προσέχετε κατά την πραγματική εργασία
Καταγράψτε τα CPUCreditUsage και CPUCreditBalance δίπλα στη διάρκεια και τον ρυθμό της μεταφοράς. Στο Unlimited προσθέστε τα CPUSurplusCreditBalance και CPUSurplusCreditsCharged. Ο οδηγός παρακολούθησης μονάδων CPU της AWS εξηγεί τι αναφέρει το καθένα και πόσο συχνά.
Δοκιμάστε ξανά με αντιπροσωπευτική ταυτοχρονία και αρκετή διάρκεια για να δείτε την τάση, και καταγράψτε το αρχικό υπόλοιπο. Ένα ήσυχο πρωινό και ένα πολυάσχολο απόγευμα δεν είναι το ίδιο πείραμα, ακόμη και με πανομοιότυπες εντολές.
Όρια που δεν είναι CPU
Το εύρος ζώνης δικτύου έχει τη δική του βασική γραμμή και συμπεριφορά έκρηξης, και τα όρια ρυθμού πακέτων ή συνδέσεων μπορεί να δεσμεύσουν πριν από την CPU. Η μνήμη μετράει όταν η υλοποίηση VPN κρατά κατάσταση ανά σύνδεση, και μια μικρή instance μπορεί να ξεμείνει από αυτήν πολύ πριν ξεμείνει από μονάδες.
Ένα υγιές υπόλοιπο μονάδων αποδεικνύει επομένως ένα πράγμα: ο προϋπολογισμός CPU δεν είναι ο τρέχων περιορισμός. Δεν λέει τίποτα για τη διαδρομή δικτύου, ούτε για το τι συμβαίνει με διπλή ταυτοχρονία. Παρακολουθήστε τις μετρήσεις δικτύου στο ίδιο παράθυρο με τις μετρήσεις μονάδων, ώστε μια πτώση διαμεταγωγής να έχει πιθανή αιτία αντί για θεωρία.
Επιλέγοντας βασική γραμμή σκόπιμα
Χρησιμοποιήστε το μετρημένο διαρκές φορτίο για να επιλέξετε βασική γραμμή, ή αποδεχτείτε ρητά την έκρηξη και προϋπολογίστε την. Κάθε απάντηση είναι υπερασπίσιμη όταν είναι γραμμένη· καμία δεν είναι υπερασπίσιμη όταν συνάγεται από τη ροή βίντεο κάποιου άλλου που πέτυχε.
Αν η πύλη είναι κρίσιμη, αντιμετωπίστε τη λειτουργία μονάδων ως μέρος του σχεδίου χωρητικότητας και όχι ως προεπιλογή που δεν ανοίξατε ποτέ. Η λειτουργία που επιλέγετε είναι η αστοχία που μπορείτε να προβλέψετε.