fishbone Posted June 12, 2009 Report Share Posted June 12, 2009 Καλησπέρα στο forum. Έχω έναν hp server με Windows 2003 Enterprise R2 sp2, 8GB ram και 2 quad core zeon. Έχω εγκαταστήσει SQL 2005 Standard sp3 και το erp της singularlogic. Αυτή τη στιγμή βλεπω ότι οι 1-2 πυρήνες φτάνουν στο 90% utilization και οι υπόλοιποι φτανουν το πολύ μέχρι το 10-15%.Το ερώτημα που έχω είναι αν χρειάζεται να κάνω κάποιο optimization στην sql έτσι ώστε να χρησιμοποιεί και τους 8 πυρήνες. Ευχαριστώ εκ των προτέρον Link to comment Share on other sites More sharing options...
fenia Posted June 12, 2009 Report Share Posted June 12, 2009 Ανοίξε SQL Management StudioΔεξί κλικ στο server και properties.Πήγαινε "Advanced"Στο [Maximum Degree of Parallelism] πρέπει να είναι "0" ... (η τιμή "0" ουσιαστικά χρησιμοποιεί όλους τους επεξεργαστές). Βέβαια υπάρχουν και OLTP queries που δεν εκμεταλλεύονται αυτό το feature του SQL (OPTION(MAXDROP 0). Link to comment Share on other sites More sharing options...
fishbone Posted June 12, 2009 Author Report Share Posted June 12, 2009 Το τσέκαρα και έχει την τιμή 0 by default. Θα κοιτάξω και το άρθρο που μου έστειλες για τα OLTP queries και θα δω αν χρειάζεται να κάνω κάποιες αλλαγές. Ευχαριστώ πολύ Link to comment Share on other sites More sharing options...
KelMan Posted June 15, 2009 Report Share Posted June 15, 2009 Υπάρχουν διάφοροι λόγοι για τους οποίους μπορεί να μην αξιοποιούνται και οι τέσσερις επεξεργαστές. Γενικά ο SQL Server προκειμένου να αποφασίσει πώς θα τρέξει ένα query ελέγχει τι κόστος έχει το query και ποιοί επεξεργαστές είναι διαθέσιμοι. Επιπρόσθετα, ανάλογα το execution plan (μέρος του οποίου είναι και το πώς θα κάνει τα joins) τελικά καταλήγει στο πόσους επεξεργαστές θα χρησιμοποιήσει. Τυπικά, σε περιπτώσεις ως 8 επεξεργαστές δεν χρειάζεται να πειράξεις τίποτα. Αν μένουν unitilized επεξεργαστές, πιθανότατα σημαίνει ότι λείπουν indexes ή ότι χρησιμοποιούνται λανθασμένα indexes. Μου έχει τύχει σε performance auditing να το διαπιστώσω από πρώτο χέρι. Από την άλλη μην ξεχνάς ότι ο SQL Server έχει multi user φιλοσοφία που σημαίνει ότι το τι θα διαλέξει να κάνει μπαίνει πάντοτε κάτω από το πρίσμα ότι μπορεί να ζητήσουν το ίδιο κι άλλοι χρήστες στη συνέχεια. Έτσι λοιπόν, το query engine πάντοτε προσπαθεί να κρατάει ισοροπία μεταξύ performance και resources. Αυτήν την ισοροπία "πειράζεις" με το OPTION(MAXDOP)! Μπορεί το query εκείνη τη στιγμή να πάει σφαίρα, αλλά αν συμβεί αυτό για όλους τους χρήστες ενδεχομένως να υπάρχει πρόβλημα. Link to comment Share on other sites More sharing options...
antonch Posted July 2, 2009 Report Share Posted July 2, 2009 Καλησπέρα ίσως αυτό σε βοηθήσει να καταλάβεις το γιατί http://autoexec.gr/blogs/antonch/archive/2009/06/30/the-sql-server-operating-system-sqlos-1.aspx Φιλικα Link to comment Share on other sites More sharing options...
Recommended Posts