Link to home
Start Free TrialLog in
Avatar of jwshambles
jwshambles

asked on

I need to provide proof to senior mgrs of an overkill memory request

Okay so here is the problem. I have a senior developer in my office who is requesting the maximum amount of RAM (32GB) for a SQL server in our shop. I've asked for documentation of memory related errors or performance charts indicating a memory bottle neck but have not recieved anything. This is the first place I've been where they are considering a purchase with no documentation to say that it is necessary.

Server Specs: PowerEdge 2950 III, Single Xeon Quad Core 2.0GHz, 16GB RAM, 15k RPM hard disks (databases, Logs, & paging all on seperate redundant Raid 10 disk arrays), server 2003 Standard x64, sql server 2005 standard.

What does this server do? Well the most information I can give you is that it is the backend to a client portal that hosts less 1000 users. The client portal is for the clients to upload a file no larger than 1GB or 1 million records, but the average file is less than half of this amount.

My limitation on this is that I know very little about SQL so I do not attempt to challenge him on it. However I do know the hardware pretty well and he doesn't yet he he is constantly challenging me on server specifications. The problem is that our supervisors are clueless when it comes to this. So any thoughts?

I do have performance monitor files, with several SQL counters available for review if requested. Thanks in advance!

Avatar of Quetzal
Quetzal

So the spec for the server as shown is your current spec (with 16 GB RAM)?  And the developer wants to max it out to 32 GB?  If that's the deal, then then marginal cost difference is something like $500, a relatively small percentage of the overall price of this spec.  IMHO, unless there is a budget concern, don't sweat it.  If there is a budget concern, then the whole spec should be revisited.
Avatar of jwshambles

ASKER

The 16GB is the current amount, It was at 4GB, but I have increased the amount to meet in the middle. He is still not satisfied and has 32GB stuck in his head. Budget is a concern because he is already on the next server, trying to request more memory for it with no documentation to back his request. In his opinion everyone of our SQL servers should be maxed out on memory, just because. If I could somehow create the illusion that the system had 32GB of RAM then I wouldn't have a problem.

You have perfmon files for the same application on an existing server?
ASKER CERTIFIED SOLUTION
Avatar of Guy Hengel [angelIII / a3]
Guy Hengel [angelIII / a3]
Flag of Luxembourg image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Yes, but I couldn't attach them through here because they are not in an approved file format. They are .blg file types. I'd like to add that we are a small company and I'd like to have systems running optimum but I control the budget for IT/IS expenses and have to justify the need to spend the money. I've monitored the event viewer and performance monitor for any errors associated to memory but have found nothing. I have monitored SQL counters but that is where my knowledge is weak. I've got the information but do not know how to use it.
I realize more memory is better but it is not always a solution. When I set up specifications for a server I determine what the function and load is to be on the server and if later there is a hardware bottleneck found I make a determination at that time for the amount needed to reduce the bottleneck.

We have no performance gaurantees with the clients. As I stated the amount being uploaded and processed is usually under 500MB. The server serves one purpose and that is to take this data uploaded from the client portal; process it and load it into the appropriate tables. If I give it 32GB it will use 32 GB, if I give it 64GB it will use 64GB.

The memory allocation is not set to my knowledge. I'm looking for how I can determine whether or not 16GB is sufficient. I can tell when it is not usually by system errors but how can I do this by monitoring the following counters:

%Disk Time
%Processor Time
Available Bytes
Average Latch Wait Time
Average Disk Queue Length
Buffer Cache Hit Ratio
Latch Waits/sec
Page/sec
Processor Queue Length
SQL Re-Comiplations/sec
Total Server Memory
User Connections
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I've attached an image of the performance monitor done over the past week with only memory counters added. I have collected a lot of data (see the above counters) so if there is something else I should add to this image let me know. I'm looking for help analyzing this data I have collected to determine if 16GB of RAM is sufficient or not. Thanks.
SQLMemory1.bmp
the page fault peaks indicate that the problem with the max memory setting configuration I mentioned should be checked and corrected first.
after that, collect the stats again to see if it helped.
for 16GB (=1600MB), you would set the value to 1500 (or less, if there are other applications running on the same box)
I checked this setting and it is set to the default of 2147483647. This is a dedicated SQL server and it is my understanding if you want SQL server to manage the memory you do not change this and that only if youhave other applications that require memory on the server should you chnage this and dedicate it to SQL. Anyone else have any ideas or suggestions?
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial