Τι κάνουμε · Storage και υπολογιστική ισχύς: Μηχανική επιδόσεων και χωρητικότητας

Οι περισσότερες αργές πλατφόρμες δεν χρειάζονται περισσότερο hardware. Χρειάζονται κάποιον να βρει το ένα πράγμα που πραγματικά τις κρατά πίσω. Μετράμε το πραγματικό bottleneck, αλλάζουμε ένα πράγμα και μετράμε ξανά, και οι περισσότερες από τις μεγαλύτερες νίκες μας ήρθαν από μία επαληθευμένη αλλαγή και όχι από μια εντολή αγοράς.
Τι είναι
Η πρακτική μηχανικής που δένει μαζί την υπολογιστική ισχύ, το storage και το δίκτυό μας. Όταν ένας φόρτος εργασίας χρειάζεται περισσότερη χωρητικότητα, σας λέμε ακριβώς ποιον πόρο, και γιατί.
Πώς το χτίζουμε
Κανόνες που εφαρμόζονται σε κάθε build. Κάποιες νίκες είναι πολύ αξιόπιστες για να τις αφήσουμε στην τύχη, γι' αυτό είναι πάγιοι κανόνες σε κάθε server και VM που παραδίδουμε:
- VMs διαστασιολογημένες μέσα σε ένα socket. Ποτέ περισσότερα vCPU από όσους πυρήνες έχει ένα φυσικό socket, ποτέ περισσότερη μνήμη από όση εξυπηρετεί ένας κόμβος NUMA. Πέρα από αυτό το όριο, η πρόσβαση στη μνήμη γίνεται απομακρυσμένη, σε περίπου 1,7 φορές το τοπικό latency, και η ποινή συσσωρεύεται, οπότε η μεγαλύτερη VM είναι συχνά η πιο αργή.
- Bonds που χρησιμοποιούν και τις δύο ζεύξεις. Hashing σε διευθύνσεις IP και ports, με αντίστοιχη ρύθμιση στην πλευρά του switch, ώστε κάθε μέλος ενός bond να μεταφέρει κίνηση.
- Flash που αντιμετωπίζεται ως flash. Το hardware RAID μπορεί να κρύψει το γεγονός ότι ένα volume είναι solid state, γι' αυτό διαβάζουμε τον τύπο μέσου από τους δίσκους και ρυθμίζουμε scheduler, read ahead και queue depth αναλόγως.
- Βάσεις δεδομένων με τη μνήμη τους. Buffer pools διαστασιολογημένα στο working set.
- Χωρίς swap στις VMs. Η πίεση μνήμης λύνεται με μνήμη ή με διόρθωση στην εφαρμογή, ποτέ με το να σπρωχτεί στο storage.
Μέτρηση σε κάθε επίπεδο. I/O ανά volume στις συστοιχίες, μετρητές ανά port σε bonds και switches, query logs και slow logs στις βάσεις δεδομένων, χρονισμός από έξω προς τα μέσα μέσω του CDN, ισχύς ανά rack και ανά φάση.
Από τι σας προστατεύει
- Το να πληρώνετε για χωρητικότητα που σπαταλούσε μια προεπιλεγμένη ρύθμιση.
- Το να αγοράζετε hardware για ένα πρόβλημα που στην πραγματικότητα είναι πρόβλημα ρύθμισης.
- Μια μεγαλύτερη VM που τρέχει πιο αργά από τη μικρότερη που αντικατέστησε.
- Το μισό bandwidth του δικτύου σας να κάθεται αδρανές.
- Flash storage που ξοδεύει την αντοχή του σε αναγνώσεις που μια βάση δεδομένων θα έπρεπε να έχει σε cache.
Στην πράξη
Το edge ενός εκδότη, αποδεδειγμένο υπό φορτίο. Πριν από την έναρξη στην Αθήνα, το caching tier του εκδότη χτίστηκε ως δύο επίπεδα, μνήμη μπροστά από flash στο SAN, και δοκιμάστηκε υπό φορτίο με είκοσι χιλιάδες εικονικούς χρήστες. Άντεξε, και ο σχεδιασμός έγινε το πρότυπό μας για πλατφόρμες εκδοτών.
Γιατί EuroVPS
- Μετράμε πριν πουλήσουμε, και η απάντηση είναι συχνά μια αλλαγή, όχι μια αναβάθμιση.
- Πάγιοι κανόνες ρύθμισης που εφαρμόζονται σε κάθε build, όχι κατόπιν αιτήματος.
- Συστάσεις που λένε ποιον πόρο, πόσο και γιατί.
Συχνές ερωτήσεις
- Το site μου είναι αργό. Χρειάζομαι μεγαλύτερο server; Ίσως, αλλά πρώτα θα μετρήσουμε. Συχνά η απάντηση είναι μια ρύθμιση, το caching ή ένα query, και θα σας δείξουμε τα στοιχεία σε κάθε περίπτωση.
- Γιατί δεν δίνετε στη VM μου περισσότερους πυρήνες; Πέρα από το ένα socket, οι επιπλέον πυρήνες προσθέτουν απομακρυσμένο latency μνήμης. Διαστασιολογούμε ώστε να χωρά στο socket, και αυτό είναι συνήθως πιο γρήγορο.
- Ρυθμίζετε τις εφαρμογές των πελατών; Ρυθμίζουμε ό,τι λειτουργούμε εμείς και συμβουλεύουμε για ό,τι τρέχετε εσείς: μνήμη βάσεων δεδομένων, αριθμό workers, επίπεδα caching, queries. Όπου η διόρθωση είναι στον κώδικά σας, θα σας πούμε ακριβώς πού.
- Είναι ξεχωριστή υπηρεσία; Είναι ο τρόπος που δουλεύουμε σε κάθε πλατφόρμα που διαχειριζόμαστε. Διατίθενται επίσης αποκλειστικοί έλεγχοι επιδόσεων με γραπτό «πριν» και «μετά».
Closing: Το «πιο γρήγορα» συνήθως ξεκινά με μια μέτρηση, όχι με ένα τιμολόγιο. Μιλήστε με έναν μηχανικό για το τι πραγματικά σας επιβραδύνει.
Ο επόμενος συνεργάτης σας στην υποδομή
Ας δούμε την υποδομή σας.
Πείτε μας τι τρέχετε σήμερα και τι χρειάζεται βελτίωση. Ένας μηχανικός θα εξετάσει το αίτημά σας και θα σας βοηθήσει να σχεδιάσετε το επόμενο βήμα.
+357 222 32280
Ας ξεκινήσουμε από την υποδομή σας.
Λίγο πλαίσιο μάς βοηθά να ξεκινήσουμε τη σωστή συζήτηση.
