【发布时间】:2015-06-21 23:58:37
【问题描述】:
我目前正在通过 stackexchange.redis (1.0.4) 和 windows RedisSessionStateProvider (1.6.2) 提供程序成功使用 Windows 端口的 Redis (2.8.19 - MS Open Tech) 来存储本地会话。
将此配置与会话的 InProc 会话状态进行比较,我们注意到在高负载下性能下降了约 20%。为了减少性能差距,我想知道使用 protobuf-net 序列化会话是否可以提供帮助 - 模型具有必要的 proto 属性,但不完全确定如何配置 sessionStateProvider 以使用它进行序列化。
有人搞定这个吗?性能提高了吗?
此外,如果有任何其他建议可以缩小性能差距,那也很好。
编辑:这里是应用程序的会话键/大小(测量方法与此方法类似:How to find out size of session in ASP.NET from web application?)
session key1 size: 38kB
session key2 size: 30kB
session key3 size: 37kB
session key4 size: 35kB
session key5 size: 35kB
session key6 size: 43kB
session key7 size: 33kB
session key8 size: 28kB
session key9 size: 42kB
session key10 size: 31kB
**TOTAL SESSION SIZE: 352kB**
提前谢谢你。
【问题讨论】:
标签: .net redis session-state protobuf-net stackexchange.redis