asp.netmvc2アプリケーションをテストするためにredgateパフォーマンスプロファイラーを使用しています。私が見つけたものの1つは、XMLSerializerがCPU時間を消費しすぎていたため、この投稿を参照してください。今使っているところに変えましたXmlSerializerCache
。
XmlSerializerの問題はなくなり、JmeterでWebサイトを使用して同時に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();
誰かが私にこれを改善するために何ができるかを提案できますか?現在の時間は、上位2つの方法で25秒と16秒です..同時に80人のユーザーをシミュレートしているためであり、データベース(sql server 2005)側で、テーブルが大きすぎてインデックスが作成されているなどの問題があります。など...そして私はそれを調べますが、現在私はあなたがコードで見た問題、すなわちC#側の問題を特定しようとしています。
助けてくれてありがとう!