AWS vs GCP vs σύγκριση επιδόσεων CPU σε εγκαταστάσεις

Πρόσφατα είχα την ευκαιρία να συμμετάσχω σε ένα έργο όπου έπρεπε να αξιολογήσουμε την αναλογία τιμής / αξίας διαφόρων παρόχων cloud και έπρεπε να το συγκρίνουμε με το υπάρχον υλικό στο χώρο. Κατά τη διάρκεια της έρευνάς μας στο Διαδίκτυο, βρήκαμε μια εκπληκτικά μικρή ποσότητα πραγματικών και χρήσιμων σημείων αναφοράς όταν πρόκειται για ακατέργαστη απόδοση CPU, οπότε αποφασίσαμε να κάνουμε τη δική μας.

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

Αυτός ο κύκλος δοκιμών δεν έχει σκοπό να είναι τέλειος και διεξοδικός, υπάρχουν επαγγελματικά περιοδικά πληροφορικής που το κάνουν αυτό. θέλαμε να έχουμε γρήγορα και αξιόπιστα δεδομένα αναφοράς, τα οποία να ανταποκρίνονται στις ανάγκες μας. Αν έχετε περισσότερο χρόνο, θα ήταν ενδιαφέρον να δείτε λεπτομερή σημεία αναφοράς με διαφορετικούς πυρήνες, πριν / μετά τις δοκιμές Meltdown-Specter με διαφορετικό αριθμό πυρήνων / CPU κλπ.

Η μέθοδος

Ως αναφορά, πρόκειται να χρησιμοποιήσω έναν αυτοματοποιημένο φυσικό διακομιστή με ένα πρόσφατο μοντέλο της Intel Xeon. Όλοι οι συμμετέχοντες θα είναι διαφορετικά μοντέλα Xeon. Τόσο στο Amazon όσο και στο Google, μπορείτε να βρείτε μόνο επεξεργαστές Intel Xeon, κυριολεκτικά τίποτα άλλο, και αυτή η τάση είναι σχεδόν η ίδια στα datacenters.

Έκανα τις δοκιμές χρησιμοποιώντας μια εικόνα Docker του γνωστού εργαλείου sysbench, αλλά ως σύγκριση, έκανα την ίδια μέτρηση με το δυαδικό, χωρίς να χρησιμοποιήσω το Docker. Βρήκα μια διαφορά <0.5% σε πολλαπλές διαδρομές, ώστε να διευκολυνθεί η διαδικασία δοκιμής και να διασφαλίσουμε ότι χρησιμοποιούμε την ίδια ακριβώς έκδοση sysbench με τις ίδιες βιβλιοθήκες (sysbench 1.0.13 (χρησιμοποιώντας το πακέτο LuaJIT 2.1.0-beta2) για να πάει all-in στο Docker (CE 17.xx σταθερό).

Χρησιμοποιήθηκαν οι ακόλουθες εντολές δοκιμής:

πύλη τρέξιμο - cpus 1 -rm -ti severalnines / sysbench sysbench cpu - cpu-max-prime = 20000 - thread = 1 - χρόνος = 900 εκτέλεση
docker run - cpus 2 -rm -ti severalnines / sysbench sysbench cpu - cpu-max-prime = 20000 - θόρυβος = 2 - χρόνος = 900 εκτέλεση
docker run - cpus 8 -rm -ti severalnines / sysbench sysbench cpu - cpu-max-prime = 20000 - θρήκες = 8 - χρόνος = 900 εκτέλεση

Ο χρόνος μέτρησης θα είναι

  • 10 δευτερόλεπτα για να δείτε απόδοση και ακίδα
  • 15 λεπτά για να δείτε τις πραγματικές μακροπρόθεσμες επιδόσεις.

Πρόκειται να συγκρίνουμε την ταχύτητα της CPU ανά συμβάντα ανά δευτερόλεπτο των αποτελεσμάτων των δοκιμών.

Σε γυμνό μέταλλο, έκανα αρκετές δοκιμές για να διαπιστώσω αν υπάρχει σημαντική διαφορά με βάση το λειτουργικό σύστημα (και ως εκ τούτου ο πυρήνας) που χρησιμοποιήθηκε: Δοκίμασα το ίδιο μηχάνημα με το CoreOS Container Linux σταθερό (1632.3.0 - πυρήνας 4.14.19) , Ubuntu 14.04 LTS και CentOS 7. Και πάλι, η διαφορά ήταν η κατηγορία σφάλματος μέτρησης, οπότε θα δούμε τα παρακάτω λειτουργικά συστήματα:

  • σε γυμνό μέταλλο: CentOS 7 και CoreOS 1632.3.0
  • στις υπηρεσίες Amazon Web: Amazon Linux
  • στην πλατφόρμα Google Cloud: CoreOS 1632.3.0

Ομάδα 1: φυσικοί διακομιστές

Το μηχάνημα αναφοράς: μοντέλο 2016 Intel Xeon (R) CPU E5-2690 v4 @ 2.60GHz.

Φωτογραφία του Igor Ovsyannykov στο Unsplash

Σε μία μονόπλευρη εγκατάσταση μονής κλωστής, κατά τη διάρκεια μιας σύντομης δοκιμής 10 δευτερολέπτων, έχουμε 303,13 συμβάντα / δευτερόλεπτο, ενώ η δοκιμή μακράς διάρκειας εμφάνισε μια ελαφρώς καλύτερη απόδοση με 321,84 e / s. Θα λάβουμε το αποτέλεσμα των 15 λεπτών ως 100% και θα συγκρίνουμε τα υπόλοιπα με αυτή την τιμή.

Στη συνέχεια θα κάνουμε το σημείο αναφοράς σε 2 ειδικούς πυρήνες CPU, χρησιμοποιώντας 2 παράλληλα νήματα. Είναι ενδιαφέρον ότι τώρα η διαφορά του δείκτη 10 έναντι 900 δευτερολέπτων φαίνεται να είναι πολύ μικρή: 670,61 έναντι 672,89 e / s. Αυτά τα αποτελέσματα δείχνουν ότι 2 πυρήνες CPU έναντι 2 * 1 CPU πυρήνες είναι 4,54% πιο αποδοτικοί σε αυτό το συγκεκριμένο μοντέλο Intel Xeon.

Ομοίως, σε 8 πυρήνες-8 σπειρώματα, έχουμε 2716,31 συμβάντα ανά δευτερόλεπτο, γεγονός που μας δίνει + 5,50% (ή 105,50%) της βασικής απόδοσης CPU 8 * 1.

Ας συγκρίνουμε λοιπόν αυτό με άλλες φυσικές μηχανές!

Συναγωνιστές:

  • Το μοντέλο 2014 της Intel® Xeon® CPU E5-2660 v3 @ 2.60GHz
  • 2013 μοντέλο της Intel® Xeon® CPU E5-2658 v2 @ 2.40GHz
  • και για κάποια διασκέδαση, ένα μοντέλο του 2009 της Intel (R) Xeon (R) CPU X3460 @ 2.80GHz

Όπως αναμενόταν, όσο μεγαλύτερη είναι η CPU, τόσο πιο αργή θα είναι:

2016 → 2014 → 2013: 321.84 → 308.67 → 284.93 για το δείκτη ενιαίου πυρήνα

Ή σε ποσοστά, σε σύγκριση με το Xeon 2016:

100,00% → 95,91% → 88,53% (1-πυρήνας)
100,00% → 96,36% → 86,55% (2-πυρήνα)
100,00% → 95,14% → 86,53% (8-πυρήνα)

Όπως μπορείτε να δείτε, σε φυσικούς διακομιστές η απόδοση της CPU είναι γραμμική με τον αριθμό των πυρήνων και των νημάτων. Η απόδοση του ν πυρήνα έναντι n * 1 πυρήνα είναι μεταξύ 102-105%, όπως και το πρώτο δοκιμασμένο μοντέλο.

Αλλά hey, δεν αναφέρατε 4 Xeons στη σύγκριση ;!

* drumroll * - το Xeon X3450 σχεδόν 10 ετών προκάλεσε κάποιες απροσδόκητες εκπλήξεις: χτύπησε τα χάλια όλων των νεότερων αδελφών στο συνθετικό σημείο αναφοράς με ένα μόνο νήμα, βαθμολογώντας μια απίστευτη τιμή 431,13 e / s - δηλαδή το 133,96% του 2016 μοντέλο αναφοράς. Ναι, τότε τα πολλά σπειρώματα δεν ήταν πραγματικά ένα πράγμα για τη μέση εφαρμογή.

Φυσικά, όπως αναμενόταν, αυτό το πλεονέκτημα λιώνει πολύ γρήγορα καθώς αυξάνουμε τον αριθμό των νημάτων πρώτα σε 2, αργότερα σε 8: ενώ στη ρύθμιση διπλού πυρήνα επιτυγχάνουμε ακόμα ένα αφρώδες 127,71% της αναφοράς 2016, σε 8-πυρήνες εμείς 'είναι ήδη μόνο 73,52% απόδοση του μεγάλου αδελφού (1996,96 e / s έναντι 2716,31 e / s). Αυτή η CPU έχει 8 λογικούς πυρήνες, οπότε δεν μπορούμε να προχωρήσουμε περαιτέρω με τις δοκιμές.

Το αποτέλεσμα αναφοράς ακτίνας 10 δευτερολέπτων προκύπτει στα κτίριαΤα αποτελέσματα των 15 λεπτών συγκριτικής αξιολόγησης, σε χώρους

Ενδεικτικά, το σημείο αναφοράς έδειξε τα ίδια αποτελέσματα στον 20 πυρήνα E5-2658 v2 με 40 κλωστές (ή 40 λογικούς πυρήνες, όπως στο Hyper Threading), με 60 κλωστές, 80 κλωστές ή 160 κλωστές - και μέχρι το 40 αυξήθηκαν γραμμικά: ο 10 πυρήνας ήταν 25% των αποτελεσμάτων των 40 πυρήνων, ο πυρήνας 20 ήταν 50%, ο πυρήνας 30% 75% κτλ. Έτσι φαίνεται ότι ταιριάζετε με τον πραγματικό αριθμό των λογικών πυρήνων της CPU, Δεν θα κερδίσεις τίποτα μακροπρόθεσμα.

Τα μαθήματα από τις εξετάσεις φυσικής μηχανής

  • η απόδοση κλιμακώνει γραμμικά με τον αριθμό των πυρήνων: εάν βάζετε περισσότερους πυρήνες, παίρνετε γραμμικά περισσότερες επιδόσεις
  • φαίνεται ότι το κέρδος + 5% κάθε χρόνο στο νέο μοντέλο Xeon, σε σύγκριση με το προηγούμενο έτος
  • το παλιό μοντέλο Xeon 2009 είναι σημαντικά ισχυρότερο σε φόρμες εργασίας ενός νήματος, αλλά γρήγορα χάνει καθώς εμφανίζονται πολλαπλά θέματα
Σχετική απόδοση σε σχέση με το 2016 Xeon E5-2690 v4Βελτιστοποίηση πολλαπλών νημάτων έναντι ροών εργασίας ενός κλωστή, στις εγκαταστάσεις

Ομάδα 2: Παραστάσεις του Αμαζονίου EC2

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

  • αναφορά: Εσωτερική μονάδα Intel® Xeon® CPU E5-2690 v4 @ 2.60GHz
  • t2 (βασικό): Intel (R) Xeon (R) CPU E5-2676 v3 @ 2.40GHz
  • m5 (γενική): Intel (R) Xeon® Platinum 8175M CPU @ 2.50GHz
  • c5 (υψηλή CPU): Intel® Xeon® Platinum 8124M CPU @ 3.00GHz
  • r4 (υψηλή μνήμη): Intel (R) Xeon (R) CPU E5-2686 v4 @ 2.30GHz
  • i3 (υψηλό IOPS): Intel® Xeon® CPU E5-2686 v4 @ 2.30GHz

Εκτός από τον τύπο βάσης t2 (2015), όλες οι CPU είναι μοντέλα 2016 ή μοντέλα 2017, επομένως όλα είναι συγκρίσιμα με τα στοιχεία αναφοράς μας. Μια ενδιαφέρουσα πλευρά: αυτά τα συγκεκριμένα μοντέλα Xeon Platinum είναι στην πραγματικότητα ειδικά σχεδιασμένα για Amazon, δεν μπορείτε να τα αγοράσετε στην αγορά.

Η Amazon πωλεί vCPUs, τα οποία είναι σύμφωνα με την εκτύπωση, τους λογικούς πυρήνες της CPU, με ενεργοποιημένο το Hyper Threading και όχι μόνο τους πραγματικούς φυσικούς πυρήνες. Αυτοί οι πυρήνες δεν είναι κανονικά υπερβολικοί. ενώ δεν είναι κοινόχρηστοι πυρήνες "καλύτερης προσπάθειας" CPU, δεν υπάρχει καμία εγγύηση ότι δεν κάνουν βελτιστοποιήσεις μεταξύ των διαφορετικών χρηστών στον ίδιο κεντρικό υπολογιστή. (Με τις μικρές περιπτώσεις, έχετε την επιλογή να αγοράσετε μερικούς πυρήνες που μοιράζονται μεταξύ πολλών ενοικιαστών, για πολύ μικρότερη τιμή.)

Ας δούμε λοιπόν τις δοκιμές! Αφού κάναμε τις ίδιες μετρήσεις sysbench, φτάσαμε στις παρακάτω τιμές στη σύντομη δοκιμασία των 10 δευτερολέπτων:

Το αποτέλεσμα αναφοράς 10 δευτερολέπτων κορυφής, AWS

Μπορείτε ήδη να δείτε:

  • η απόδοση ενός μόνο πυρήνα είναι πολύ καλύτερη από την αναφορά μας, με μία μόνο εξαίρεση
  • αλλά ήδη με 2 θέματα, ξεκινάτε να χάσετε 10-25% σε σύγκριση με το φυσικό υλικό που φιλοξενείται αυτόνομα
  • το t2 μοιάζει με ένα πολύ αξιόπιστο, σταθερό παράδειγμα με απόδοση γυμνού μετάλλου

Μην ξεχνάτε ότι το Amazon μπορεί να επιτρέψει προσωρινές αιχμές στον φόρτο εργασίας σας χωρίς να περιορίζει την απόδοση της CPU σας. Γι 'αυτό κάναμε τα 15-λεπτά αναφοράς:

Τα 15λεπτα αποτελέσματα αναφοράς, AWS

Μακροπρόθεσμα, οι φυσικές εμφανίσεις παρουσίασαν σταθερή απόδοση 105% σε σύγκριση με τα αποτελέσματα ενός νήματος.

Και πάλι, το t2 λειτουργεί σαν τους δικούς μας αυτο-φιλοξενούμενους διακομιστές, με μια πολύ προβλέψιμη απόδοση.

Το υπόλοιπο δεν είναι τόσο ελκυστικό, ακόμη και η καλύτερη περίπτωση χάνουμε ~ 17%, η οποία ανεβαίνει στο ~ 27% με τις περιπτώσεις γενικής χρήσης m5. Αυτό σημαίνει ότι αν έχετε 100 πυρήνες CPU στο κέντρο δεδομένων σας, πρέπει να αγοράσετε 127 vCPU πυρήνες στο Amazon για να ταιριάζει με την ίδια απόδοση.

Σχετική απόδοση AWS σε σύγκριση με το 2016 Xeon E5-2690 v4Βελτιστοποίηση πολλαπλών νημάτων έναντι ροών εργασίας με ένα νήμα, AWS

Ενημέρωση: ένας από τους συναδέλφους μου επεσήμανε ότι το t2 είναι ένας burstable τύπος, εκτός αν οι άλλοι? λειτουργεί με τις αποκαλούμενες "πιστώσεις CPU": https://aws.amazon.com/ec2/instance-types/#burst

Έτσι, γενικά, αυτό σημαίνει είτε ότι θα υποστείτε θορυβώδη απόδοση από ένα συνθετικό σημείο αναφοράς (με χρήση CPU 100%) διαδοχικών 2 ωρών είτε θα χρειαστεί να πληρώσετε ένα ελάχιστο επιπλέον 5 λεπτών ανά ώρα για να πάρετε το απεριόριστο χαρακτηριστικό έκρηξης CPU το t2. Αν δεν γνωρίζετε πολύ καλά τα χαρακτηριστικά της αίτησής σας, αυτό θα μπορούσε να οδηγήσει σε απρόβλεπτα έξοδα.

Αναρωτιέμαι αν θα ήταν εφικτό να καταστρέψει και να αναδημιουργήσει όλες τις περιπτώσεις t2 μου κάθε 23 ώρες, έτσι ώστε να μπορώ να μείνω στην σταθερή τιμή, φτηνή περίπτωση υψηλής απόδοσης ...; (Φυσικά αν η εφαρμογή και η υποδομή την υποστηρίζουν.)

Ομάδα 3: Παρουσιάσεις μηχανών Google Compute Engine

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

Φαίνεται ότι χρησιμοποιούν ένα πολύ απλό, πολύ επίπεδο πάρκο υλικού και πιθανώς τους βοηθάει πολύ με τη συντήρηση. Δεν σας λένε πραγματικά ποιο υλικό τρέχει στο VM σας όταν κάνετε μια γάτα / proc / cpuinfo, αλλά από τη συχνότητα που μπορείτε να υποθέσετε, επειδή ισχυρίζονται ότι έχουν το ακόλουθο χαρτοφυλάκιο:

  • 2.6 GHz Intel Xeon E5 (αμμώδης γέφυρα)
  • 2,5 GHz Intel Xeon E5 v2 (γέφυρα Ivy)
  • 2.3 GHz Intel Xeon E5 v3 (Haswell)
  • 2.2 GHz Intel Xeon E5 v4 (Broadwell)
  • 2,0 GHz Intel Xeon (Skylake)

Σε όλες τις δοκιμές μου έλαβα πάντα ένα μοντέλο 2,5 GHz, οι πληροφορίες CPU είπαν μόνο τα εξής: Intel (R) Xeon (R) CPU @ 2.50GHz. Αυτό φαίνεται να είναι ένα μοντέλο 2013.

Δεδομένου ότι υπάρχουν μόνο 2 τύποι περιπτώσεων, η δοκιμή ήταν πολύ γρήγορη και εύκολη. Διάλεξα τους τύπους n1-standard και n1-highcpu.

Ας τραγουδήσουμε τους αριθμούς!

Τα αποτελέσματα αναφοράς 10 δευτερολέπτων κορυφής, GCP

Όλα τα αποτελέσματα του single-core ήταν καλύτερο από το υλικό μας (2016 Xeon), αλλά μόνο ελαφρώς. Αν είναι πραγματικά το 2013 Xeon, τότε wow, όλος ο σεβασμός μου προς τους μηχανικούς Google βελτιστοποίησης!

Σαν υπενθύμιση: η Amazon είχε απώλεια απόδοσης 10-24%, καθώς αυξήσαμε τον αριθμό των πυρήνων. (Εκτός από την πολύ σταθερή περίπτωση t2.) Φαίνεται σαν το Google είναι λίγο πολύ το ίδιο μέχρι στιγμής.

Παραδόξως, η υψηλή εμφάνιση CPU ήταν στην πραγματικότητα πιο αργή από το πρότυπο. Αλλά όπως ανέφερα παραπάνω, αυτό είναι ο ίδιος τύπος υλικού, είναι μόνο περισσότεροι πυρήνες από RAM σε σύγκριση με την τυπική περίπτωση.

Και πάλι, όπως και με το Amazon, η Google σάς επιτρέπει να έχετε προσωρινές αιχμές στη χρήση της CPU σας, χωρίς να περιορίζετε τη διαθέσιμη χωρητικότητα υπολογιστών σας. Επομένως, ας δούμε τα μακροπρόθεσμα σημεία αναφοράς:

Τα 15λεπτα αποτελέσματα αναφοράς, το GCP

Προφανώς, καθώς αυξάνουμε τον φόρτο εργασίας, θα χάσουμε συνεχώς το 15-22% των επιδόσεων. Στο Amazon ήταν 17-27%.

Εδώ, δυστυχώς, δεν έχω δει ένα t2 ισοδύναμο παράδειγμα, υποτίθεται ότι είναι το n1-πρότυπο, αλλά σίγουρα δεν λειτουργεί όπως οι φυσικές μηχανές μας.

Σχετική απόδοση GCP σε σύγκριση με το μοντέλο 2016 Xeon E5-2690 v4Βελτιστοποίηση πολλαπλών νημάτων έναντι ροών εργασίας με ένα νήμα, GCP

Περίληψη: AWS vs GCP

Όταν κοιτάζετε μόνο την ακατέργαστη απόδοση, η Amazon φαίνεται να είναι πολύ ισχυρή στον ανταγωνισμό:

Σχετική απόδοση CPU, AWS vs GCP σε σύγκριση με το 2016 Xeon E5-2690 v4

Ωστόσο, μια τέτοια συγκριτική σύγκριση δεν είναι ποτέ πραγματικά χρήσιμη: η Amazon προσφέρει πολλούς διαφορετικούς τύπους στιγμιότυπων, οι οποίοι μπορεί να έχουν αδύναμη CPU, αλλά λαμβάνετε NVMe flashing αποθήκευσης κλπ. Μερικές φορές αυτό είναι ακριβώς αυτό που χρειάζεστε. Ακόμα, αυτό το άρθρο αφορά μόνο τις πρώτες επιδόσεις CPU, οπότε ας δούμε πού θα τελειώσει ο λογαριασμός:

Τιμές κατ 'απαίτηση για 8 πυρήνες vCPU, Amazon vs Google

Τώρα μπορείτε να δείτε ότι είναι πολύ πιο ισορροπημένο! Παίρνεις ότι πληρώνεις.

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

Τιμές κατ 'απαίτηση για 2 πυρήνες vCPU, Amazon vs Google

Φυσικά, μπορείτε να εξοικονομήσετε χρήματα με τη χρήση στιγμιότυπων Amazon (χρηματιστηριακές προσφορές για ελεύθερη υπολογιστική χωρητικότητα) ή με τις προεπιλεγμένες εμφανίσεις Google (οι οποίες μπορούν να απενεργοποιηθούν τυχαία από την Google αλλά αργότερα μετά από 24 ώρες) . Για ένα πραγματικό φόρτο εργασίας παραγωγής, δεν θεωρώ ρεαλιστικό ότι θα μπορούσατε να διατηρήσετε όλη την παραγωγική σας ικανότητα με επικίνδυνες διαπραγματεύσεις για να κερδίσετε το 20-90% των εκπτώσεων.

Ένα ρεαλιστικό σενάριο μπορεί να είναι η αγορά προκαθορισμένων περιπτώσεων κατά παραγγελία για το συνηθισμένο φόρτο εργασίας σας και στη συνέχεια η αυτόματη κλιμάκωση με φθηνές στιγμιαίες στιγμές όταν υπάρχει μέγιστη κυκλοφορία. Επίσης, για το περιβάλλον QA, το φτηνό θα πρέπει να είναι τέλεια - απλώς προσαρμόστε όλα τα εργαλεία σας για να διαχειριστείτε σωστά ξαφνικά την εξαφάνιση των εικονικών μηχανών και να ανακατανομήσετε δυναμικά τους πόρους. Και φυσικά, το σύννεφο αφορά μόνο την αυτόματη κλιμάκωση: όταν δεν έχετε πολλούς επισκέπτες κατά τη διάρκεια της νύχτας, δεν χρειάζεται να πληρώσετε για πολλά τρέχοντα περιστατικά. Και αυτό είναι ένα από τα πράγματα που μπορείτε να έχετε ένα μεγάλο κέρδος σε σύγκριση με τις παραδοσιακές υποδομές στην εσωτερική αγορά. (Δεν χρειάζεται να αγοράσετε +200 φυσικές μηχανές με συμβάσεις συντήρησης κ.λπ. μόνο επειδή έχετε καθημερινά 2 ώρες αιχμής, τότε αυτά τα μηχανήματα καταναλώνουν μόνο ηλεκτρισμό με 40% CPU ...)

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

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

Βασικές διαφορές: απόδοση σε cloud vs εσωτερική απόδοση CPU

Εάν υπάρχουν μερικά βασικά πράγματα που έχουμε σίγουρα συνειδητοποιήσει κάνοντας αυτή τη σύγκριση:

  • σε φυσικές μηχανές: αν προσθέσετε περισσότερους πυρήνες CPU, θα έχετε γραμμικότερη απόδοση
  • ενώ στους παροχείς cloud ήταν εν μέρει αληθές: αυξάνεται γραμμικά με τις περισσότερες vCPU, αλλά εξακολουθείτε να τείνετε να έχετε απόδοση ~ 80% μιας φυσικής μηχανής (= πρέπει να αγοράσετε περισσότερες CPU στο σύννεφο)
  • σε μονο-κλωστές, μεμονωμένες ροές εργασίας CPU, οι πάροχοι νέφους κερδίζουν τα χέρια-κάτω, επειδή έχουν τις πιο ακριβές, μεγαλύτερες CPU που είναι πολύ ισχυρές σε ένα μονό νήμα

Ενημέρωση: σχόλια από τους παρόχους σύννεφο

Ένας από τους δύο παρόχους cloud μας έδωσε άμεση ανατροφοδότηση για τα αποτελέσματα που επιτύχαμε. Είπαν ότι η απώλεια απόδοσης οφείλεται στη χρήση των πυρήνων του Hyper Thread, αντί να έχουν τις πραγματικές, όπως σε μια δοκιμή γυμνών μετάλλων - επειδή στη φυσική μηχανή όταν περιορίζετε το Docker σε 8 πυρήνες CPU, έχετε ακόμα 12 ακόμα εγκατεστημένους, έτοιμο για να χρησιμοποιήσει το λειτουργικό σύστημα για διακοπές, κλπ.

Έτσι, πρότειναν ότι αν χρειαστούμε 8 πραγματικούς πυρήνες για να συγκρίνουμε με τις φυσικές μηχανές, θα πρέπει να επιλέξουμε ένα παράδειγμα 16 πυρήνων για να φτάσουμε τους πραγματικούς 8 φυσικούς πυρήνες της CPU για εμάς. Ένας στο χέρι, έχει απολύτως νόημα, από την άλλη όμως εξακολουθεί να σημαίνει ότι πρέπει να αγοράσω 2 φορές το μέγεθος (και την τιμή) του στιγμιότυπου για να πετύχω / ξεπεράσω την πραγματική επίδοση στις εγκαταστάσεις ...

Για να επικυρώσουμε τους ισχυρισμούς τους, κάναμε τα ίδια σημεία αναφοράς στο cluster KVM που διαθέτουμε, αποδίδοντας 8, 2, 1 vCPU πυρήνες, όπως και στο cloud. Στη συνέχεια, για να ελέγξουμε όσα πρότειναν, πραγματοποιήσαμε επίσης ένα γύρο με επιπλέον vCPUs +2, αριστερά μόνο για το λειτουργικό σύστημα.

Τα αποτελέσματα ήταν σύμφωνα με τις προηγούμενες μετρήσεις μας από τις μη-KVM δοκιμές υλικού στο χώρο:

Τα αποτελέσματα των 15 λεπτών αναφοράς, η KVM στο χώρο

Όπως μπορείτε να δείτε, είναι ακριβώς το ίδιο αποτέλεσμα: αν βάλετε 8x περισσότερους εικονικούς πυρήνες στην KVM, θα έχετε 8 φορές μεγαλύτερη απόδοση. Όχι μόνο 6 φορές περισσότερο.

Λόγω έλλειψης χρόνου, έκανα μια γρήγορη δοκιμή στο Google Cloud, χρησιμοποιώντας την παραπάνω μέθοδο: υπερβολική προμήθεια των διαθέσιμων πυρήνων από πολλά - έτσι βασικά χρειάζομαι μόνο 2 πυρήνες για την εφαρμογή μου, αλλά θα αγοράσω 8:

Τα αποτελέσματα των 15λεπτων συγκριτικών αξιολογήσεων, το GCP με υπερτιμημένους πόρους

Ναι, είναι αλήθεια ότι εδώ έχω γραμμική αύξηση των επιδόσεων, όπως και με ένα γυμνό μέταλλο, αλλά για την τιμή αγοράς 2x, 8x, κλπ. Περισσότερο από αυτό που ήθελα να πληρώσω αρχικά, ενώ με τις φυσικές μηχανές δεν είχα αυτό ακόμα και με virtualization KVM.

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

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