Πώς να τσιμπήσετε το SSD σας στο Ubuntu για καλύτερη απόδοση
Υπάρχουν πολλές συμβουλές για να τροποποιήσετε το SSD σας στο Linux και πολλές ανεκδοτικές αναφορές για το τι λειτουργεί και τι όχι. Πραγματοποιήσαμε τα δικά μας σημεία αναφοράς με μερικά συγκεκριμένα τσιμπήματα για να σας δείξουμε την πραγματική διαφορά.
Στοιχεία αναφοράς
Για να συγκρίνουμε το δίσκο μας, χρησιμοποιήσαμε το Phoronix Test Suite. Είναι δωρεάν και έχει ένα αποθετήριο για το Ubuntu, ώστε να μην χρειάζεται να καταρτίζετε από το μηδέν για να εκτελέσετε γρήγορες δοκιμές. Δοκιμάσαμε το σύστημά μας αμέσως μετά από μια νέα εγκατάσταση του Ubuntu Natty 64-bit χρησιμοποιώντας τις προεπιλεγμένες παραμέτρους για το σύστημα αρχείων ext4.
Οι προδιαγραφές του συστήματός μας ήταν οι εξής:
- AMD Phenom II quad-core @ 3.2 GHz
- MSI 760GM E51 μητρική πλακέτα
- 3,5 GB RAM
- Η ενσωματωμένη AMD Radeon 3000 w / 512MB RAM
- Ubuntu Natty
Και, φυσικά, το SSD που δοκιμάσαμε ήταν μια κίνηση OCZ Onyx 64GB ($ 117 στο Amazon.com την ώρα της γραφής).
Έντονα τσίμπημα
Υπάρχουν αρκετές αλλαγές που συνιστούν οι άνθρωποι κατά την αναβάθμιση σε SSD. Μετά το φιλτράρισμα μερικών από τα παλαιότερα πράγματα, κάναμε μια σύντομη λίστα των τροποποιήσεων που οι διανομές Linux δεν συμπεριέλαβαν ως προεπιλογές για SSD. Τρεις από αυτές περιλαμβάνουν την επεξεργασία του αρχείου fstab, γι 'αυτό και πάλι πριν συνεχίσετε με την ακόλουθη εντολή:
sudo cp / etc / fstab /etc/fstab.bak
Αν κάτι πάει στραβά, μπορείτε πάντα να διαγράψετε το νέο αρχείο fstab και να το αντικαταστήσετε με ένα αντίγραφο του αντιγράφου ασφαλείας. Αν δεν ξέρετε τι είναι αυτό ή θέλετε να βουρτσίζετε για το πώς λειτουργεί, ρίξτε μια ματιά στο HTG Εξηγεί: Τι είναι το fstab του Linux και πώς λειτουργεί?
Αποφεύγοντας τους χρόνους πρόσβασης
Μπορείτε να βοηθήσετε να αυξήσετε τη διάρκεια ζωής του SSD σας μειώνοντας πόσο το OS γράφει στο δίσκο. Αν χρειάζεται να γνωρίζετε πότε έχετε πρόσβαση σε κάθε αρχείο ή κατάλογο, μπορείτε να προσθέσετε αυτές τις δύο επιλογές στο αρχείο / etc / fstab:
noatime, nodiratime
Προσθέστε τις μαζί με τις άλλες επιλογές και βεβαιωθείτε ότι διαχωρίζονται με κόμματα και χωρίς κενά.
Ενεργοποίηση του TRIM
Μπορείτε να ενεργοποιήσετε το TRIM για να βοηθήσετε στη διαχείριση της απόδοσης του δίσκου μακροπρόθεσμα. Προσθέστε την ακόλουθη επιλογή στο αρχείο fstab:
απορρίπτω
Αυτό λειτουργεί καλά για συστήματα αρχείων ext4, ακόμη και σε τυπικούς σκληρούς δίσκους. Πρέπει να έχετε έκδοση πυρήνα τουλάχιστον 2.6.33 ή νεότερη. είστε καλυμμένοι αν χρησιμοποιείτε Maverick ή Natty, ή έχετε ενεργοποιημένα backports στη Lucid. Αν και αυτό δεν βελτιώνει ειδικά την αρχική συγκριτική αξιολόγηση, θα πρέπει να καταστήσει το σύστημα πιο αποτελεσματικό μακροπρόθεσμα και έτσι έκανε τη λίστα μας.
Tmpfs
Η προσωρινή μνήμη του συστήματος αποθηκεύεται στο / tmp. Μπορούμε να πούμε στο fstab να το τοποθετήσετε στη μνήμη RAM ως ένα προσωρινό σύστημα αρχείων, ώστε το σύστημά σας να αγγίξει λιγότερο τον σκληρό δίσκο. Προσθέστε την ακόλουθη γραμμή στο κάτω μέρος του αρχείου / etc / fstab σε μια νέα γραμμή:
tmpfs / tmp tmpfs προεπιλογές, noatime, mode = 1777 0 0
Αποθηκεύστε το αρχείο fstab για να δεσμεύσετε αυτές τις αλλαγές.
Αλλαγή προγραμματιστών IO
Το σύστημά σας δεν γράφει αμέσως όλες τις αλλαγές στο δίσκο και πολλά αιτήματα μπαίνουν στην ουρά. Ο προεπιλεγμένος χρονοπρογραμματιστής εισόδου-εξόδου - cfq - χειρίζεται αυτό εντάξει, αλλά μπορούμε να το αλλάξουμε σε αυτό που λειτουργεί καλύτερα για το υλικό μας.
Πρώτον, ορίστε ποιες επιλογές έχετε στη διάθεσή σας με την ακόλουθη εντολή, αντικαθιστώντας το "X" με το γράμμα της ριζικής σας μονάδας:
cat / sys / block / sdX / ουρά / χρονοδιακόπτης
Η εγκατάσταση μου είναι στο sda. Θα πρέπει να δείτε μερικές διαφορετικές επιλογές.
Αν έχετε προθεσμία, θα πρέπει να το χρησιμοποιήσετε, καθώς σας δίνει ένα επιπλέον τσίμπημα πιο κάτω στη γραμμή. Αν όχι, θα πρέπει να μπορείτε να χρησιμοποιείτε noop χωρίς προβλήματα. Πρέπει να πούμε στο λειτουργικό σύστημα να χρησιμοποιεί αυτές τις επιλογές μετά από κάθε εκκίνηση, οπότε θα χρειαστεί να επεξεργαστούμε το αρχείο rc.local.
Θα χρησιμοποιήσουμε nano, αφού είμαστε άνετοι με τη γραμμή εντολών, αλλά μπορείτε να χρησιμοποιήσετε οποιοδήποτε άλλο πρόγραμμα επεξεργασίας κειμένου που σας αρέσει (gedit, vim κ.λπ.).
sudo nano /etc/rc.local
Πάνω από τη γραμμή "exit 0", προσθέστε αυτές τις δύο γραμμές εάν χρησιμοποιείτε την προθεσμία:
ηχώ προθεσμία> / sys / block / sdX / ουρά / χρονοδιακόπτης
echo 1> / sys / block / sdX / ουρά / iosched / fifo_batch
Αν χρησιμοποιείτε noop, προσθέστε αυτήν τη γραμμή:
echo noop> / sys / block / sdX / ουρά / χρονοπρογραμματιστής
Για άλλη μια φορά, αντικαταστήστε το "X" με το κατάλληλο γράμμα μονάδας δίσκου για την εγκατάστασή σας. Κοιτάξτε πάνω από τα πάντα για να βεβαιωθείτε ότι φαίνεται καλό.
Στη συνέχεια, πατήστε CTRL + O για αποθήκευση, στη συνέχεια CTRL + X για έξοδο.
Επανεκκίνηση
Προκειμένου να τεθούν σε ισχύ όλες αυτές οι αλλαγές, θα πρέπει να επανεκκινήσετε. Μετά από αυτό, θα πρέπει να είστε έτοιμοι. Αν κάτι πάει στραβά και δεν μπορείτε να εκκινήσετε, μπορείτε να αναιρέσετε συστηματικά κάθε ένα από τα παραπάνω βήματα μέχρι να μπορέσετε να εκκινήσετε ξανά. Μπορείτε ακόμα να χρησιμοποιήσετε ένα LiveCD ή LiveUSB για να το ανακτήσετε αν θέλετε.
Οι αλλαγές fstab θα μεταφέρουν τη ζωή της εγκατάστασής σας, ακόμα και αν αναμένετε αναβαθμίσεις, αλλά η αλλαγή rc.local θα πρέπει να επανεγκατασταθεί μετά από κάθε αναβάθμιση (μεταξύ των εκδόσεων).
Συγκριτικά αποτελέσματα
Για να εκτελέσουμε τα σημεία αναφοράς, εκτελέσαμε τη σειρά δίσκων δοκιμών. Η κορυφαία εικόνα κάθε δοκιμής είναι πριν τροποποιήσει τη διαμόρφωση ext4, και η κάτω εικόνα είναι μετά τα τσίμπημα και μια επανεκκίνηση. Θα δείτε μια σύντομη εξήγηση για το τι μέτρα δοκιμής καθώς και μια ερμηνεία των αποτελεσμάτων.
Λειτουργίες μεγάλου αρχείου
Αυτή η δοκιμή συμπιέζει ένα αρχείο 2GB με τυχαία δεδομένα και τη γράφει στο δίσκο. Οι τροποποιήσεις SSD εδώ δείχνουν σε περίπου 40% βελτίωση.
Το IOzone προσομοιώνει την απόδοση του συστήματος αρχείων, στην περίπτωση αυτή γράφοντας ένα αρχείο 8GB. Και πάλι, μια αύξηση σχεδόν κατά 50%.
Εδώ, διαβάζεται ένα αρχείο 8GB. Τα αποτελέσματα είναι σχεδόν τα ίδια όπως και χωρίς την προσαρμογή του ext4.
Το AIO-Stress ελέγχει ασύγχρονα την είσοδο και την έξοδο, χρησιμοποιώντας ένα αρχείο δοκιμής 2GB και ένα μέγεθος εγγραφής 64KB. Εδώ, υπάρχει σχεδόν 200% αύξηση των επιδόσεων σε σύγκριση με το ext4 βανίλιας!
Λειτουργίες μικρού αρχείου
Δημιουργείται μια βάση δεδομένων SQLite και η PTS προσθέτει 12.500 εγγραφές σε αυτήν. Η προσαρμογή SSD εδώ επιβραδύνει την απόδοση κατά περίπου 10%.
Το Benchmark του Apache ελέγχει τυχαίες αναγνώσεις μικρών αρχείων. Υπήρξε περίπου κέρδος απόδοσης 25% μετά τη βελτιστοποίηση του SSD μας.
Το PostMark εξομοιώνει 25.000 συναλλαγές αρχείων, 500 ταυτόχρονα ανά πάσα στιγμή, με μεγέθη αρχείων μεταξύ 5 και 512KB. Αυτό προσομοιώνει πολύ καλά τους διακομιστές ιστού και αλληλογραφίας και βλέπουμε αύξηση των επιδόσεων κατά 16% μετά την τροποποίηση.
Το FS-Mark εξετάζει 1000 αρχεία συνολικού μεγέθους 1MB και μετράει πόσα μπορούν να γραφτούν εντελώς και να διαβάσουν σε προκαθορισμένο χρονικό διάστημα. Τα τσιμπήματα μας βλέπουν μια αύξηση, και πάλι, με μικρότερα μεγέθη αρχείων. Περίπου 45% αύξηση με προσαρμογές ext4.
Πρόσβαση συστήματος αρχείων
Τα ερωτηματολόγια Dbench ελέγχουν τα αρχεία του συστήματος αρχείων δοκιμών από τους πελάτες, όπως το πώς η Samba κάνει τα πράγματα. Εδώ, η απόδοση της βανίλιας ext4 μειώνεται κατά 75%, μια σημαντική απόκλιση στις αλλαγές που κάναμε.
Μπορείτε να δείτε ότι καθώς αυξάνεται ο αριθμός των πελατών, η απόκλιση απόδοσης αυξάνεται.
Με 48 πελάτες, το χάσμα έκλεισε κάπως μεταξύ των δύο, αλλά εξακολουθεί να υπάρχει μια πολύ προφανής απώλεια επιδόσεων από τα τσιμπήματα μας.
Με 128 πελάτες, η απόδοση είναι σχεδόν η ίδια. Μπορείτε να φανταστείτε ότι τα τσιμπήματα μας μπορεί να μην είναι ιδανικά για οικιακή χρήση σε αυτό το είδος επιχείρησης, αλλά θα παρέχουν συγκρίσιμες επιδόσεις όταν ο αριθμός των πελατών αυξάνεται σημαντικά.
Αυτή η δοκιμή εξαρτάται από τη βιβλιοθήκη πρόσβασης AIO του πυρήνα. έχουμε μια βελτίωση 20% εδώ.
Εδώ, έχουμε μια πολλαπλών νημάτων τυχαία ανάγνωση 64MB, και υπάρχει μια αύξηση κατά 200% στην απόδοση εδώ! Ουάου!
Ενώ γράφετε 64MB δεδομένων με 32 θέματα, εξακολουθούμε να έχουμε αύξηση κατά 75% στην απόδοση.
Το Compile Bench προσομοιώνει την επίδραση της ηλικίας σε ένα σύστημα αρχείων όπως αντιπροσωπεύεται από το χειρισμό των δέντρων του πυρήνα (δημιουργία, σύνταξη, επιδιόρθωση κλπ.). Εδώ, μπορείτε να δείτε ένα σημαντικό όφελος από την αρχική δημιουργία του προσομοιωμένου πυρήνα, περίπου το 40%.
Αυτά τα σημεία αναφοράς μετράνε απλώς πόσο χρόνο χρειάζεται για να εξαγάγετε τον πυρήνα του Linux. Όχι πολύ μεγάλη αύξηση των επιδόσεων εδώ.
Περίληψη
Οι προσαρμογές που πραγματοποιήσαμε στη διαμόρφωση του ext4 του out-of-the-box του Ubuntu είχαν πολύ μεγάλη επίδραση. Τα μεγαλύτερα κέρδη απόδοσης ήταν στα πεδία των πολλαπλών νημάτων γράφει και διαβάζει, διαβάζει μικρά αρχεία και διαβάζει και γράφει μεγάλο συνεχές αρχείο. Στην πραγματικότητα, ο μόνος πραγματικός τόπος που είδαμε ένα χτύπημα στην απόδοση ήταν σε απλές κλήσεις συστήματος αρχείων, κάτι που οι χρήστες της Samba πρέπει να προσέχουν. Συνολικά, φαίνεται να είναι μια αρκετά σταθερή αύξηση της απόδοσης για πράγματα όπως η φιλοξενία ιστοσελίδων και η παρακολούθηση / ροή μεγάλων βίντεο.
Λάβετε υπόψη ότι αυτό ήταν ειδικά με Ubuntu Natty 64-bit. Εάν το σύστημά σας ή το SSD είναι διαφορετικό, τα χιλιόμετρα σας μπορεί να διαφέρουν. Συνολικά, όμως, φαίνεται ότι οι προσαρμογές προγραμματιστή fstab και IO που πραγματοποιήσαμε προχωρούν σε πολύ καλές επιδόσεις, οπότε αξίζει τον κόπο να δοκιμάσετε μόνοι σας.
Έχετε τα δικά σας σημεία αναφοράς και θέλετε να μοιραστείτε τα αποτελέσματά σας; Έχετε ένα άλλο τσίμπημα για το οποίο δεν ξέρουμε; Εκφωνήστε τα σχόλια!