2009-04-15 8 views

Antwort

1

Unsere Lösung für Multi-Core-Server (unsere App viele sehr komplexe Abfragen ausführen, die viele Threads erstellen neigen dazu, und diese beginnen manchmal zu verzahnen und sogar Deadlock):

sp_configure 'show advanced options', 1 
reconfigure 
go 
sp_configure 'max degree of parallelism', 1 
reconfigure 

Das ist nicht ideal, aber wir habe keinen Leistungsverlust für andere Aktionen bemerkt.

Natürlich sollten Sie auch das Festplattenlayout optimieren und den SQL Server-Speicher für 64-Bit-Server begrenzen.

+0

Ich muss zustimmen. Wir hatten alle möglichen Probleme mit parallelen Abfragen. Das Ausschalten wie vorgeschlagen hat die Situation verbessert. –

2

Gerade diese Links überprüfen, um anzuzeigen, wo der Engpass

http://www.brentozar.com/sql/

Ich denke, das Layout der Festplatte befindet, und die Stelle, wo die SQL-Server-Datenbankdateien, die Probleme verursachen.

1

Außerdem haben Sie möglicherweise verschiedene Einstellungen von SQL Server (Speicherzuweisungen und AWE-Speicher, Threads, maximale Abfrage Speicher, Prozessor-Affinität, Priorität Boost).

0

Überprüfen Sie die Ausführungspläne für die gleiche Abfrage auf beiden Maschinen und, wenn möglich, veröffentlichen Sie sie hier.

Wahrscheinlich wird es der Fall sein.

0

Denken Sie daran, nur weil eine Maschine mehr CPUs mit einer höheren Taktfrequenz und mehr Speicher als eine andere hat, wird es nicht unbedingt ein gegebenes Problem schneller lösen als ein anderes.

Obwohl Sie keine Details angeben, ist es möglich, dass das 8-CPU-Gerät 8 Sockets mit je einer Single-Core-CPU (z. B. Xeon der P4-Ära) und 1 GB lokalen RDRAM-RAMs hat . Die zweite Maschine ist ein moderner Core 2 Duo mit 4 GB DDR2 RAM.

Während jede CPU in Maschine # 1 eine höhere individuelle Frequenz hat, ist die Netburst-Architektur viel langsamer als die Core-2-Architektur. Wenn Sie eine geringe CPU-Last, aber eine speicherintensive Last haben, die nicht in die 1 GB lokale CPU der ersten Maschine passt, sind Ihre Speicherzugriffe auf der ersten Maschine möglicherweise sehr viel teurer (wie sie sein müssen) über die anderen CPUs). Darüber hinaus ist der DDR2 auf der Core 2-Maschine viel schneller als der RDRAM in der Xeon.

CPU-Frequenz und Gesamtspeicher sind nicht alles - die CPU-Architektur, die Speichertypen und die CPU- und Speicherhierarchie spielen ebenfalls eine Rolle.

Natürlich kann es eine viel einfachere Antwort sein, wie die anderen Antworten vorschlagen - SQL Server stolpert über sich selbst und versucht, die Abfrage zu parallelisieren.

Verwandte Themen