在.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
对象,它真的能给我带来任何真正的性能优势吗?
- 会话是每个用户的!!如果你有超过200个并发用户浏览,你会遇到严重的会话下降,你需要将会话存储到SQL,这将降低25%的性能比内存
- 缓存对于所有用户都是通用的
- 请注意,如果你使用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);}