Tuesday, 29 June 2010

Analyzing Memory Requirements for SQL Server

Memory: Available Bytes simply indicates how many bytes are available. If the counter is high, then your server is working fine, but check the counter when the server is undergoing the normal load that it is expected to handle.

Memory: Pages/sec. determines how many pages are read/written to the disk because of hard page faults. A hard page fault pertains to data fetching from hard disk, which adds latency to the throughput of the data. So, this counter should be as low as possible.

SQL Server: Buffer Manager: Buffer cache hit ratio should be more than 90% for a SQL Server.

SQL Server: Buffer Manager: Page Life Expectancy should be above 350. If it is lower or almost equal to 350-400 mark and you are expecting much growth of the database, then be ready to buy more memory modules for your server.

SQL Server: Memory Manager: Total Server Memory (KB) counter is consistently high compared to the amount of physical memory in the computer, it may indicate that more memory is required.

Process: Working Set tells you much memory is SQL Server consuming.

If it is way below than what you have configured by MIN SERVER MEMORY then you have allocated more memory than the server needs

and

if it exceeds MAX SERVER MEMORY, then look TO buy new memory.

In the figure below, you can see that the upper perfmon is showing signs of danger in page life expectancy even though the buffer cache hit ration is above 90. The lower one show things improved after adding more memory and getting more page life expectancy than the previous one.

http://www.sqlservercentral.com/articles/Performance+Tuning/analyzingmemoryrequirementsforsqlserver/2498/