将SessionStateProvidor切换到Redis使我的Web应用程序非常慢

时间:2014-02-16 01:51:19

标签: asp.net asp.net-mvc session redis session-state

我的ASP.NET MVC应用程序中有一个会话包装器类,用于在Session中存储常用数据(如当前用户信息,供应商信息等)。会话运行InProc。一切都很完美,但我知道在InProc模式下进行会话是一个糟糕的设计,因为它不可扩展,并且与应用程序池紧密耦合。我不想使用Sql Server来管理会话,因为它似乎是最后的手段,因为速度是我们的第一优先级。因此,经过一些研究后,看起来Redis DB是最快的选择(与MongoDB,RavenDB等相比)。我使用了这个提供程序https://github.com/TheCloudlessSky/Harbour.RedisSessionStateStore。按照说明执行后,它工作正常。但现在我偶尔会放慢网站的速度,有时页面(可能是30%的时间)加载的速度非常慢。一旦我将其切换回InProc模式,它就可以正常运行。我想知道我是否错误地安装了Redis,或者我需要做一些技巧才能让它顺利运行。有人可以帮忙吗?如果您需要一些代码,我可以提供它,但它与每个https://github.com/TheCloudlessSky/Harbour.RedisSessionStateStore样本几乎相同。 CPU和内存似乎非常低且稳定....

1 个答案:

答案 0 :(得分:0)

Redis提供程序Nuget包存在问题。联系包所有者和新版本已经发布,似乎工作正常。