我们正在为一个多租户Web应用程序进行一些性能优化。目前,在每个web请求的开头创建LinqToSql数据上下文。该上下文对于web请求有一个生命周期,并且使用Castle Windsor将其注入到任何需要它的对象的构造函数中。
我们的想法是在会话缓存中缓存上下文(以及附加到它的一组对象)长达几分钟,以优化后续web请求的设置成本。这是个好主意还是坏主意?需要考虑哪些问题?
发布于 2010-07-30 13:41:23
这不是个好主意。最大的问题是并发性。多亏了连接池,只要您使用数据上下文作为数据管道,而不是数据桶本身,成本就不会那么高。
缓存数据;丢弃数据上下文。
另外,试图保留数据上下文并不能向外扩展到多个服务器,也不支持除进程内之外的任何缓存实现。
您是否衡量过设置成本,以便了解这是否值得考虑?我真的不相信这是你的瓶颈。
https://stackoverflow.com/questions/3368915
复制相似问题