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

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 που ούτως ή άλλως είναι κι ο περιορισμός από την μητρική.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Στην 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), μιας και τα δεδομένα είναι μικρά σε μέγεθος.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

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

Σύνδεση

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

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