【发布时间】:2011-05-18 16:12:48
【问题描述】:
我正在使用 redgate performance profiler 来测试我的 asp.net mvc 2 应用程序。我发现其中一件事是 XMLSerializer 占用了过多的 CPU 时间,因此请参阅 this post。我现在将其更改为使用XmlSerializerCache 的位置。
现在 XmlSerializer 问题不再存在,我正在使用带有 Jmeter 的网站同时模拟 80 个用户来分析应用程序。所以现在需要时间的顶级方法是对我正在提取的一些数据执行FirstOrDefault() 我会举个例子-
var values=(from c in DataContext.Table1
join s in DataContext.Table2 on new { c.Id, c.date }
equals new { s.Id, s.date } into list
where c.Id== Id && c.date == date
from s in list.DefaultIfEmpty()
select new DayDTO()
{
Points = c.points,
Points1 = c.points1,
Points2 = c.points2,
Points3 = c.points3,
Points4 = c.points4
}).FirstOrDefault();
谁能建议我可以做些什么来改善这一点?前两种方法的当前时间分别是 25 秒和 16 秒.. 是否只是因为我同时模拟 80 个用户并且数据库(sql server 2005)方面存在一些问题,例如表太大和索引等等...我会调查的,但目前我正在尝试确定您在代码中看到的任何问题,即 C# 方面的问题..
感谢您的帮助!
【问题讨论】:
-
您是否有权访问发送到服务器的 SQL 语句,例如SQL Management Studio?,也许从 Linq 生成的 SQL 不是最理想的
标签: .net xml-serialization performance redgate