Προς το περιεχόμενο

SSD vs RAM για SQL Server


Προτεινόμενες αναρτήσεις

Δημοσ.

Λοιπόν έχουμε ένα μηχάνημα πενταετίας με i3 δεύτερης γενιάς και 4GB RAM το οποίο τρέχει SQL Server. Σε καθημερινή βάση τρέχει ένα πρόγραμμα που κάνει κάπου 600.000 writes και τα τριπλάσια reads. Σε περίπτωση αναβάθμισης τι είναι προτιμότερο, ένας SSD δίσκος ή RAM;

Δημοσ.

Έτσι γενικά οπως το θέτεις, θα έλεγα τα εξής:
Ιδανικά να έβαζες ενα 4πυρηνο CPU. Κατόπιν να αυξήσεις τη μνήμη (αναλόγως χρήσης βέβαια) και μετα το δίσκο. Ο SSD ειναι μεν ταχύτατος, ομως σε περιβάλλον παραγωγής με πολλά writes θα πρεπει να προσέξεις το MTBF και να εκτιμήσεις τη διάρκεια ζωής του.
Κατα τη γνώμη μου, θες συνολική αναβάθμιση. Τι λειτουργικό θα έχεις, τι έκδοση SQL? τι όγκος δεδομένων θα κινείται; Ειναι πολλές οι παράμετροι...

  • Like 1
Δημοσ.

Η βάση είναι λίγο πάνω από μισό GB. Τρέχει 64bit έκδοση του SQL Server 2008 σε 64bit Windows 7. Δεν υπάρχει λόγος να κάνω συνολική αναβάθμιση. Το μηχανάκι κάνει μια συγκεκριμένη δουλειά και με ενδιαφέρει πως μπορώ να τη βελτιώσω με το ελάχιστο δυνατό κόστος.

Δημοσ.

Οι βασεις κ γενικοτερα τα rdbms παντα θα χτυπανε το δισκο πιο πολυ εκτος κ αν εχεις δεδομενα που χρειαζεσαι πιο συχνα σε key/value store τυπου redis/memcache.

Δημοσ.

Δε ξερω αλλα...

Υπαρχει καθυστερηση; Η απλα θελετε να κανετε αναβαθμιση; Το καλυτερο εθναι να δεις σε τι queria ζοριζεται

Αν υποθεσουμε πως δεν εχεις καμια free εκδοση η ραμ πιστευω θα βοηθουσε

Δημοσ.

Απλά αναβάθμιση θέλω να κάνω. Έχω την standard έκδοση η οποία βλέπει μέχρι 64 GB που ούτως ή άλλως είναι κι ο περιορισμός από την μητρική.

Δημοσ.

Δεν είναι IOPS και το block size είναι μικρότερο από 4Kb.

Δημοσ.

Στην RAM σηκώνονται τα index, περισσότερη RAM θα ωφελήσει στα scan,sort κτλ οποτε συνολικά ναι το read σου θα γίνει ταχύτερο. Ο ssd θα βοηθήσει στο raw data transfer, κρατησε το σαν επόμενο βήμα.

Μία ακόμη καλή τακτική είναι η χρήση διαφορετικού φυσικού χώρου αποθηκευσης των data και log files

Δημοσ.

Θεωρητικά αυτό που θα έκανα εγώ εφόσον χωράει όλη η DB στην ραμ αυτή τη στιγμή (και δεν προβλέπεις ότι θα αλλάξει αυτό μέχρι να έχεις budget για την επόμενη αναβάθμιση) θα έπαιρνα δίσκο.

 

That said, υπάρχουν κάποια σκοτεινά σημεία πχ λες στην αρχή:

 

 

Σε καθημερινή βάση τρέχει ένα πρόγραμμα που κάνει κάπου 600.000 writes και τα τριπλάσια reads

 

Που τρέχει αυτό? πάνω στο ίδιο μηχάνημα ? Αν ναι τι άλλο τρέχει εκεί πάνω, τι resources χρειάζονται αυτά που τρέχουν και τι μνήμη έχεις δώσει στον sql server ? Υποθέτω φυσικά για να προβληματίζεσαι ότι δεν έχεις δει ανεβασμένη μνήμη στο μηχάνημα έτσι?

 

Οι απαντήσεις στα παραπάνω μπορούν να γύρουν προς την απόφαση της ραμ έτσι η οποία είναι και πιο φθηνή λύση ούτως ή αλλιώς.

Δημοσ.

Πάνω στο ίδιο μηχάνημα τρέχει το πρόγραμμα και ο SQL Server. Όσο τρέχει το πρόγραμμα που κάνει access στη βάση δεν τρέχει τίποτα άλλο. Προβληματίζομαι γιατί δεν έχω φυσική πρόσβαση στο μηχάνημα ώστε να κάνω δοκιμές με hardware οπότε πρέπει να επιλέξω τη βέλτιστη λύση μια κι έξω. 

Δημοσ.

Ναι αλλά αν αυτό αλλάζει το πρόβλημά σου, αυτό που προτείνεται είναι οι βάση να τρέχει σε dedicated μηχάνημα μόνο για την για να κοιτάξεις μετά ως προς τη βελτίωση του performance αυτής με το σκεπτικό που περιγράφουν και οι υπόλοιποι. 

 

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

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

 

Γενικά πάντως όλο το sizing του μηχανήματος της βάσης στήνεται έχοντας σαν δεδομένο το dedicated γι αυτή τη δουλειά μηχάνημα. 

 

Επίσης αφού είναι μικρή η βάση αυτό που θα σε βοηθούσε να έχεις πολύ καλή εικόνα και να τεστάρεις και μερικά πράγματα. Στήσε ένα VM (ή κάνε ένα P2V) και κάνε δοκιμές εκεί πάνω για να δεις τι βοηθάει περισσότερο. Αυτό υπό την προϋπόθεση βέβαια ότι έχεις κάποιο δυνατό host να το καθίσεις.

Δημοσ.

Σε περίπτωση που δεν το έχεις κάνει ακόμα, ρίξε μια ματιά και μέσω SQL Management Studio από το Activity Monitor του server για να δεις τι είναι αυτό που τον ζορίζει περισσότερο. Έχει διάφορα στατιστικά (Buffer I/O, Locks, Network I/O, etc.), όπως και τα πιο heavy queries που τρέχουν - με μία βελτιστοποίηση των indices σου μπορεί να δεις μεγάλη διαφορά. Προσωπική άποψη είναι πως με SSD θα ξεμπερδέψεις (εφόσον είσαι οκ από indices), μιας και τα δεδομένα είναι μικρά σε μέγεθος.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...