在.net vs Session中缓存SQL Server的性能数据

本文关键字:Server 性能 数据 SQL 缓存 net vs Session | 更新日期: 2023-09-27 18:19:24

我目前正在使用。net 4.5,先写代码…所有的花里胡哨

现在我需要从一个非常慢的旧SQL Server中快速提取数据。

我想在Session_start中创建一个会话,以便在会话中一劳永逸地提取数据。

每次调用会话时是否运行Session_Start ?如果是,我只能允许在会话为空时提取数据。

至于Cache对象,它真的能给我带来任何真正的性能优势吗?

在.net vs Session中缓存SQL Server的性能数据

  1. 会话是每个用户的!!如果你有超过200个并发用户浏览,你会遇到严重的会话下降,你需要将会话存储到SQL,这将降低25%的性能比内存
  2. 缓存对于所有用户都是通用的
  3. 请注意,如果你使用Application将只工作在单服务器应用程序不工作在WebFarms

我将使用它作为服务(Azure有2个选项),我将保存我的机器内存…http://azure.microsoft.com/en-us/pricing/details/cache/

注意,缓存也消耗RAM…如果你可以计算DATA SIZE == RAM - 20%(from mram),你将失去20%的RAM

这里有很好的文章和源代码

SQL Server, LINQ和ASP的SQL缓存依赖。. NET 3.5 http://www.dotnetcurry.com/showarticle.aspx?ID=263

重要(来自文章)授予订阅查询通知到"TESTSERVER'ASPNET"

c#

protected void Application_Start(对象发送方,EventArgs e) {sqldependencies . start (ConfigurationManager.ConnectionStrings["pubsConnectionString"].ConnectionString);}

下面的代码也停止侦听器:

protected void Application_End(对象发送方,EventArgs e) {sqldependencies . stop (ConfigurationManager.ConnectionStrings["pubsConnectionString"].ConnectionString);}