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

SSD vs RAM για SQL Server


Επισκέπτης

Ερώτηση

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

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

15 απαντήσεις σε αυτή την ερώτηση

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

  • 0

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

  • Like 1
Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

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

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

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

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

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

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

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

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

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

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

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

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

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

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

 

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

 

 

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

 

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

 

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

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

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

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

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

 

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

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

 

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

 

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

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

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

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Αν κατα την διάρκεια μιας μέρας δεν έχεις περιοδους που κάνεις παραπάνω απο 60-70 IOPS άντε 100 IOPS τότε ο δίσκος δεν θα βελτιώσει και πολλά πράγματα τουλάχιστον στην νορμάλ καθημερινή λειτουργία. 

Εκεί που θα δεις βελτίωση με τον SSD θα είναι στις Batch-ο-δουλειές, αν κάνεις τέτοιες.... και φυσικά στα reboot και στο paging αν έχεις.

 

Εν ολίγης κάνε αυτό που λέει ο anon667 παραπάνω. Βρες ένα pain-point και βελτίωσέ το.

PS. Θα δοκίμαζα να ανέβαζα το blocksize σε 8Kb. Συνήθως, δεν υπάρχει αισθητή διαφορά σε latency, και πετυχαίνεις και διπλάσιο Bandwidth....

PS2: παρόλα τα παραπάνω, αν η χωρητηκότητα του SSD δίσκου μου έφτανε, θα πήγαινα σε SSD.

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

Εγγραφείτε για έναν νέο λογαριασμό

Σύνδεση

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

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

Με την περιήγησή σας στο insomnia.gr, αποδέχεστε τη χρήση cookies που ενισχύουν σημαντικά την εμπειρία χρήσης.