我正在加载测试asp.net应用程序。 负载测试模拟500个用户在网站上进行搜索并浏览结果。我观察到我减少会话超时限制(在web.config中)越多,页面响应时间越长。 例如,在10分钟超时时,我的平均响应时间为8.35秒。 如果时间为3分钟,则同一页面的平均响应时间为3,98秒。 存储在“InProc”中的会话。 我认为“不再使用但仍然活跃”会话所使用的内存可能是有原因的。但是,即使超时为10时使用的内存更多,仍然有足够的可用内存(大约2.7Gb)。 有什么想法吗?
答案 0 :(得分:1)
这听起来好像你没有按照预期使用会话。您是否考虑过而不是使用会话变量,最好使用其中一种可用的缓存机制,无论是通过下层还是进程内缓存?这是最好的起点:
http://msdn.microsoft.com/en-us/library/xsbfdd8c%28v=vs.71%29.aspx
强烈建议您在页面或控件级别禁用viewstate,无论何时不需要。如果使用视图状态解码器,例如:
http://ashishware.com/ViewStatePeeker.shtml
..你会被它存放的无用垃圾量吓坏了!
答案 1 :(得分:0)
VU正在执行的测试用例有多长?如果他们没有采用较短的会话超时(<3分钟),或者他们花费的时间超过他们两个(> 10分钟),那么似乎更改该超时应该没有效果。
测试用例是否包含注销?或者VU只是放弃会话(关闭浏览器等)?
答案 2 :(得分:0)
对于我的情况,即使状态服务器与Web服务器位于同一台物理计算机上,存储进程外状态(StateServer)也会大大提高性能。