我正在使用redgate 性能分析器来测试我的 asp.net mvc 2 应用程序。我发现其中一件事是 XMLSerializer 占用了过多的 CPU 时间,因此请参阅这篇文章。我将其更改为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 秒和前 2 种方法的 16 秒.. 是否只是因为我同时模拟 80 个用户并且数据库(sql server 2005)方面存在一些问题,例如表太大和索引等等...我会调查的,但目前我正在尝试确定您在代码中看到的任何问题,即 C# 方面的问题..
我将不胜感激任何帮助谢谢!