sqlschool.gr logo


Articles of SQLschool.gr Team

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

Antonios Chatzipavlis
Tuesday 15 October 2013

Αρκετοί όταν με ρωτούν αν μπορούν να έχουν μια μηχανή στην οποία θα μπορούν να έχουν τον 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.



16 Oct 2013 @ 3:44 AM


Γιώργος Μπιρμπίλης

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

22 Oct 2013 @ 10:40 AM


Antonios Chatzipavlis


Antonios Chatzipavlis

Antonios Chatzipavlis

Antonios is a Data Solutions Consultant and Trainer. He has been working in IT since 1988. In his career, he has worked as senior developer, IT Manager, Solutions Architect and IT Consultant. Since 1995 he has been devoted on new technologies and software development tools, mainly by Microsoft, either by training company staff and colleagues or assisting them in design, development and implementation as a consultant or chief developer. He has focused in Databases and Data Science since 1995. He specialized in Microsoft SQL Server since version 6.0 in areas like SQL Server Internals, Database Design and Development, Business Intelligence and in 2010 he has started working with Azure Data Platform, NoSQL databases, Big Data Technologies and Machine Learning. He is an active member of many IT communities in Greece, answering colleagues' questions and writing articles in his web site. He is the owner of SQLschool.gr which is a community portal with a lot of information about Microsoft SQL Server. He has been a Microsoft Certified Trainer (MCT) since 2000. Microsoft honored him as MVP on Data Platform due to his activities in SQL Server since 2010. He holds a large number of Microsoft Certifications and Microsoft SQL Server Certifications since version 6.5.


What's New in SQL Server 2022 - Episodes

More Tips...

Become a member

If you want to receive updates from us become a member to our community.




sqlschool.gr © 2010-2024 All rights reserved

This site uses cookies for operational and analytics purposes only. By continuing to browse this site, you agree to their use.