Version;
Microsoft SQL Server 2005 - 9.00.5000.00 (Intel X86) Dec 10 2010 10:56:29 Copyright (c) 1988-2005 Microsoft Corporation Express Edition on Windows NT 5.1 (Build 2600: Service Pack 3)
The server has 3GB of ram but sqlexpress can typically use only 1.5GB. The service is using the local system account.
I am working to improve a performance of a stored procedure.
The sp performs at around 10,000 reads and the duration varies from 200ms to 6000ms while the server is not that busy and there are no blocks.
When the issue first occurred I suspected the HW does not handle the workload and in did there was a clear case of a system short on IO easily noticed in perfmon and via the waits observed through the DMVs.
The HW was replaced and now there is no IO bottleneck but still the procedure performs too slow not meeting the requirements.
I noticed that an execution followed by a DBCC DROPCLEARBUFFERS command takes slow and then the following execution performs fast.
I see in sys.syspefinfo tha PLE (page life expectancy) is very low at 1 second then gradually goes up to around 130 sec and then falls back down.
I verified that there are no missing indexes that result in scans which effect the cache in ple and also I should inform that the entire db is small, the backup (not compressed) size is 200MB.
I see in task manager that the sqlexpress instance only uses a few kb of ram ram like40,000 or so while the machine makes usages of 970MB so there is still free memory.
I looked at Profile for the server: memory changed event suspecting external memory pressure but nothing there.
Here are 2 snapshots from sysperfinfo
object_name | object_counter | cntr_value | |
MSSQL$SQLEXPRESS:Buffer Manager | Page life expectancy | 9 | |
MSSQL$SQLEXPRESS:Buffer Node | Page life expectancy | 9 | |
MSSQL$SQLEXPRESS:General Statistics | User Connections | 12 | |
MSSQL$SQLEXPRESS:SQL Statistics | Batch Requests/sec | 1020096 | value remains unchanged |
MSSQL$SQLEXPRESS:SQL Statistics | SQL Compilations/sec | 798077 | value remains unchanged |
MSSQL$SQLEXPRESS:Memory Manager | Memory Grants Outstanding | 0 | |
MSSQL$SQLEXPRESS:Memory Manager | Memory Grants Pending | 0 | |
MSSQL$SQLEXPRESS:Memory Manager | Target Server Memory (KB) | 1441792 | |
MSSQL$SQLEXPRESS:Memory Manager | Total Server Memory (KB) | 19392 | |
object_name | object_counter | cntr_value | |
MSSQL$SQLEXPRESS:Buffer Manager | Page life expectancy | 122 | |
MSSQL$SQLEXPRESS:Buffer Node | Page life expectancy | 122 | |
MSSQL$SQLEXPRESS:General Statistics | User Connections | 12 | |
MSSQL$SQLEXPRESS:SQL Statistics | Batch Requests/sec | 1021047 | value remains unchanged |
MSSQL$SQLEXPRESS:SQL Statistics | SQL Compilations/sec | 798880 | value remains unchanged |
MSSQL$SQLEXPRESS:Memory Manager | Memory Grants Outstanding | 0 | |
MSSQL$SQLEXPRESS:Memory Manager | Memory Grants Pending | 0 | |
MSSQL$SQLEXPRESS:Memory Manager | Target Server Memory (KB) | 1441792 | |
MSSQL$SQLEXPRESS:Memory Manager | Total Server Memory (KB) | 61336 |
Yaniv Etrogi
site |
blog | linked in |
mail
Please click the Mark as Answer button if a post solves your problem! orVote As Helpful