The Memory - Page Life Expectancy alarm becomes active when the page life expectancy falls below a threshold.
A low page life expectancy indicates that SQL Azure is evicting pages from the buffer cache thus reducing the value of the cache. This has the effect of requiring SQL Azure to perform more disk reads. Performing extra disk reads degrades SQL Azure performance.
This often has one of two causes: SQL Azure has insufficient memory to work with, or SQL queries are accessing a very large number of pages in a non-sequential manner. Microsoft recommends that page life expectancy be greater than 5 minutes (300 seconds).
When the alarm is raised:
- Ensure that SQL Azure is configured to use as much physical memory as possible. Check, and if necessary alter, the Max Server Memory (MB) parameter in the SQL Azure | Configuration drilldown.
- Consider adding more physical RAM to the server.
- Identify inefficient SQL using the SQL Azure | SQL Activity drilldown | Sessions page. Look for sessions that are active and that are generating a large number of I/O operations. The Sessions page | Session Trace sub-page or Microsoft’s SQL Azure Profiler tool can help here.