sqlschool.gr logo

articles

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.

/*antonch*/

Comments

16 Oct 2013 @ 3:44 AM

user-gravatar

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

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

22 Oct 2013 @ 10:40 AM

user-gravatar

Antonios Chatzipavlis

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

Antonios Chatzipavlis

Antonios Chatzipavlis

Antonios Chatzipavlis is a highly experienced Data Solutions Consultant and Trainer. He has been working in the IT industry since 1988, holding various roles such as senior developer, IT Manager, Data & AI Solutions Architect and Consultant.

Since 1995, Antonios has focused on modern technologies and software development tools, primarily by Microsoft. He has specialized in Data & AI since 2000, with expertise in Microsoft Data Platform (SQL Server, Azure SQL Databases, Azure Synapse Analytics, Microsoft Fabric, Power BI, AI) and Databricks.

Antonios is also a Microsoft Certified Trainer (MCT) for over 25 years, has been recognized as a Microsoft Most Valuable Professional (MVP) in Data Platform since 2010 and he is in the Data Expert 40 Powerlist 2024 by Boussias. He is the co-founder and visionary behind XLYTiCA, a company dedicated to Data & AI solutions.

Episode

Task Flows in Microsoft Fabric

image

More Episodes...

Tip

Get Certified: Become a Fabric Data Engineer

More Tips...

Become a member

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

Connect

Explore

Learn

sqlschool.gr © 2010-2025 All rights reserved

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