Vol*_*kyi 9 asp.net-mvc out-of-memory azure azure-diagnostics azure-web-sites
环境:在具有两个实例的Azure应用程序服务上托管的Asp Net MVC应用程序(.net framework 4.5.1)。应用程序使用Azure SQL Server数据库。此外,应用程序使用MemoryCache(System.Runtime.Caching)进行缓存。
观察结果:实例RD0003FF1F6B1B上的内存计数器页面读取数/秒处于危险级别(242)。超过200的任何值都可能导致该实例上任何应用的延迟或失败。
“每秒读取的内存计数器”是什么意思?如何解决这个问题?
Tom*_*SFT 11
“每秒读取的内存计数器”是什么意思?
我们可以从此博客获得答案。建议的“页面读取/秒”值应小于90。较高的值表示内存不足和索引编制问题。
“每秒页读取数表示每秒发出的物理数据库页读取数。该统计信息显示所有数据库中的物理页面读取总数。由于物理I / O昂贵,因此您可以通过使用更大的数据缓存,智能索引和更有效的查询,或者通过更改数据库设计来使成本最小化。”
如何解决这个问题?
根据我的经验,您可以尝试在App Service中启用本地缓存。
您可以使用以下应用程序设置在每个Web应用程序上启用本地缓存:WEBSITE_LOCAL_CACHE_OPTION = Always
默认情况下,本地缓存大小为300 MB。这包括从内容存储库复制的/ site和/ siteextensions文件夹,以及任何本地创建的日志和数据文件夹。要增加此限制,请使用应用程序设置WEBSITE_LOCAL_CACHE_SIZEINMB。每个Web应用程序最多可以增加2 GB(2000 MB)的大小。
| 归档时间: |
|
| 查看次数: |
1280 次 |
| 最近记录: |