![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
My question is about deadlocks. Can they be generated by the high CPU usage/ slow response or can they be the actual source of the CPU peak ? |
#3
| |||||
| |||||
|
|
I was asked to look into a performance problem on a newly migrated DB server. The db server was moved from a local-physical-nt4-sybase to remote (10 mb wan link), virtual, Windows 2003, SQL 2005. The client side application had to be modified to work with MS SQL. This is all second hand information as I have just been thrown into this. Most of the people who set this up ran. |
|
The 20 clients do some data entry all day which culminates into all 20 stations running an end of day procedure at the same time. This particular event creates 3 things : - very high and constant CPU usage on the SQL server - deadlock victim errors on some of the clients - very slow "end of day" performance. This use to work flawleessly on the former setup. My question is about deadlocks. Can they be generated by the high CPU usage/ slow response or can they be the actual source of the CPU peak ? |
|
I suspect I might be in front of multiple problems: - underpowered vm (i have asked to increase Ram and cpu cycles to the vm which will take a few days) |
|
- badly tuned sql application |
|
I'm not asking for a solution to this, just some conventional wizdom on deadlock and high cpu. Thanks in advance. |
#4
| |||
| |||
|
|
I was asked to look into a performance problem on a newly migrated DB server. The db server was moved from a local-physical-nt4-sybase to remote (10 mb wan link), virtual, Windows 2003, SQL 2005. The client side application had to be modified to work with MS SQL. This is all second hand information as I have just been thrown into this. Most of the people who set this up ran. The 20 clients do some data entry all day which culminates into all 20 stations running an end of day procedure at the same time. This particular event creates 3 things : - very high and constant CPU usage on the SQL server - deadlock victim errors on some of the clients - very slow "end of day" performance. This use to work flawleessly on the former setup. My question is about deadlocks. Can they be generated by the high CPU usage/ slow response or can they be the actual source of the CPU peak ? I suspect I might be in front of multiple problems: - underpowered vm (i have asked to increase Ram and cpu cycles to the vm which will take a few days) - badly tuned sql application I'm not asking for a solution to this, just some conventional wizdom on deadlock and high cpu. Thanks in advance. |
#5
| ||||
| ||||
|
|
many been thru that |
|
read up more about WITH (NOLOCK) for "non-critical" SELECT Queries |
|
do you do lots up UPDATES? In my old project, UPDATES are the cause of deadlocks. So I had to change from UPDATE to SELECT-INSERT-SELECT-INSERT , SELECT MAX(ID) |
|
On Dec 13, 2:30 am, Diggla <mollenth... (AT) hotmail (DOT) com> wrote: I was asked to look into a performance problem on a newly migrated DB server. The db server was moved from a local-physical-nt4-sybase to remote (10 mb wan link), virtual, Windows 2003, SQL 2005. The client side application had to be modified to work with MS SQL. This is all second hand information as I have just been thrown into this. Most of the people who set this up ran. The 20 clients do some data entry all day which culminates into all 20 stations running an end of day procedure at the same time. This particular event creates 3 things : - very high and constant CPU usage on the SQL server - deadlock victim errors on some of the clients - very slow "end of day" performance. This use to work flawleessly on the former setup. My question is about deadlocks. Can they be generated by the high CPU usage/ slow response or can they be the actual source of the CPU peak ? I suspect I might be in front of multiple problems: - underpowered vm (i have asked to increase Ram and cpu cycles to the vm which will take a few days) - badly tuned sql application I'm not asking for a solution to this, just some conventional wizdom on deadlock and high cpu. Thanks in advance. |
#6
| |||
| |||
|
|
many been thru that read up more about WITH (NOLOCK) for "non-critical" SELECT Queries |
#7
| |||
| |||
|
|
zzzxtreme (AT) gmail (DOT) com (zzzxtreme (AT) gmail (DOT) com) writes: many been thru that read up more about WITH (NOLOCK) for "non-critical" SELECT Queries That will save Diggla from the deadlocks, but it will not resolve the real problem: that the queries are need of tuning. The CPU will not be less hogged because you run with NOLOCK. OK, the deadlock detection will not have to run, but that's the small part. -- Erland Sommarskog, SQL Server MVP, esquel (AT) sommarskog (DOT) se Books Online for SQL Server 2005 at http://www.microsoft.com/technet/pro...ads/books.mspx Books Online for SQL Server 2000 at http://www.microsoft.com/sql/prodinf...ons/books.mspx |
#8
| |||
| |||
|
#9
| |||
| |||
|
![]() |
| Thread Tools | |
| Display Modes | |
| |