go backsqlschool blogs list

Why it is always recommended that SQL Server run on a server dedicated only to SQL Server

by Antonios Chatzipavlis

Αρκετοί όταν με ρωτούν αν μπορούν να έχουν μια μηχανή στην οποία θα μπορούν να έχουν τον SQL Server μαζί με κάτι άλλο και παίρνουν σταθερά την αρνητική μου απάντηση, φεύγουν με το κεφάλι κατεβασμένο.

Ας το εξηγήσουμε όμως για να έχουμε επιτέλους τεκμηριωμένα.

Όταν ξεκίνησα πριν από 5 χρόνια να γράφω posts για τον SQL Server, αναφέρθηκα αναλυτικά στο SQLOS και το πόσο σημαντικό τμήμα του SQL Server είναι.

Με βάση όλα όσα έχω γράψει σε αυτά τα posts ο SQL Server έχει μόνο ένα active thread ανά CPU. Με αυτό μειώνει τον αριθμό των context switches. Επίσης όλα τα active threads δικαιούνται / παίρνουν ίσο χρόνο στη CPU το οποίο είναι γνωστό σαν quantum.

Ας υποθέσουμε ότι έχουμε ένα server με 8 cores. Ας υποθέσουμε ότι την ίδια χρονική στιγμή ο SQL Server χρησιμοποιεί ταυτόχρονα 8 threads (είναι σε κατάσταση busy). Όπως έχω αναφέρει στα post μου για το SQLOS ο SQL Server έχει τα working threads που είναι πάνω από 200+ ανάλογα με την μνήμη και τα cores. Παρόλα αυτά όμως μόνο 8 από αυτά έχουν δρομολογηθεί να τρέξουν την δεδομένη χρονική στιγμή.

Αν στον server αυτό έχουμε και κάποια άλλη εφαρμογή που εκτελείται και έστω  ότι έχει μια εργασία που έχει σπάσει σε 32 threads και που συμπίπτει χρονικά με αυτή του SQL Server τότε ….

Ο SQL Server θα παίρνει χρόνο κάθε 5ο quantum ανά CPU καθώς θα έχω ένα thread από τον SQL Server και τέσσερα από την άλλη εφαρμογή (ανά CPU πάντα).

Ο SQL Server παρόλο που έχει σχεδιαστεί να κάνει ελαχιστοποίηση των context switches και να αυξάνει την απόδοση του σε συστήματα που είναι αποκλειστικά για αυτόν, όταν είναι σε ένα σύστημα με άλλες εφαρμογές που ζητάνε περισσότερα threads από αυτόν, τότε δίνει προτεραιότητα σε αυτές.

Και αυτός είναι ο λόγος που φωνάζουμε ότι ο SQL Server πρέπει να είναι μόνος τους σε ένα server.

/*antonch*/

Ημερομηνία: 15 October 2013 23:02
Αξιολόγηση: ( 2 )
Κατηγορίες:
Tags:
Share it:

Σχόλια - Comments

user-gravatar

Στις 16 Oct 2013 @ 3:44 AM o/η Γιώργος Μπιρμπίλης έγραψε:

Δεν μπορείς να ορίσεις processor affinity;

user-gravatar

Στις 22 Oct 2013 @ 10:40 AM o/η Antonios Chatzipavlis έγραψε:

http://www.sqlschool.gr/blog/is-the-processor-affinity-mask-the-answer-to-dedicated-sql-server-box-949.aspx

Αφήστε το σχόλιο σας - Leave your comment

Τα σχόλια έχουν κλείσει.
Επιτρέπονται μόνο τα σχόλια από τα μέλη του SqlSchool.gr.


newsletter subscription

Εάν επιθυμείτε να λαμβάνετε ενημέρωση από εμάς, δώστε μας το e-mail σας.
PASS chapter logo
Official Professional Association for SQL Server (PASS) chapter for Greece
Join to PASS