Sometimes my brain just needs a rest; I hope that yours does as well. If not then I must just be getting older. So I apologize for my most recent lapse of non-posts. There has been a lot that have been going on. The first thing that I would like to make sure I mention is that Stephen Wynkoop and myself are going to get together to teach a class on SQL Server. This class will be in Tucson AZ, in September for 3 days. The reason that I wanted to mention it is so that you can get you name on the list if you would like to be part of this class. We are only going to allow 15 students in each class. If this sounds like something you would like to do I would recommend putting your name on the list to save a seat before the seats go on sale.
From the way that I understand this is going to work is that the seats will go on sale sometime this week. People that have said they have an interest will be notified 1 day before the public site is opened. If you want to be on that list please send an e-mail to firstname.lastname@example.org and mention Chris’s Blog in the body.
So for the post today…
I had this question in my inbox about a month ago and I believe I answered it for him via e-mail, but after looking at it for a while I thought I would put it up here on my blog.
I have attended the recent virtual SQL conference and listened your lessons. Our company has a small database 5G but request 5,000-10,000 concurrent connection. Sometimes we get slow database response. So we are considering upgrade the SQL Server. Currently server is SQL2000 on Window 2003.
My question is whether a single SQL server 2005 or 2008 on Window 2005 can handle this amount of concurrent connection, assuming application is perfect?
This question leaves me a lot of questions that I would need to have answered before I could provide him with some real good feedback. So I started by breaking down the information that I have. The current server is SQL Server 2000. This server handles 5k to 10k connections, but sometimes the database slows. The big question that I bring out of this is what is causing the slow down? I have to assume it is something hardware since the application is perfect. However, does the application also mean database design and how the database is read by the application?
Really the core pieces of information we need to know is what the database looks like, what does the hardware look like and what is the cause of these slow down’s. I would start by pulling a perfmon on the server to get a baseline on that the hardware is behaving when the server is good and when the server is bad. If the server behaves poorly at a predicted time or we can cause it to slow down then we could also run a trace during those times to better help us understand.
In short there is not true answer as to how it will react. I have seen systems go from SQL 2000 on 32 bit machines to SQL Server 2005 on 64 bit machines and the system no increase in speed. The client had reached a bottleneck with their design and finally reached a point where they would have to fix it before the saw the benefits in bigger hardware.
With all that being said SQL server 2005 should outperform SQL Server 2000.