我的网站在ASP.NET MVC3中编写,使用Subsonic并在数据库中拥有大约30k的记录。我已经缓存了所有数据库。基本我有一个类似的功能:
public ActionResult UpdateItem(string json, string key)
{
if(Setting.Get("SafeMode").To<bool>()) return;
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
GC.WaitForPendingFinalizers();
var model = ntwgObject.ntwgSerialization.JsonDeserialize<Model.ProductResult>(HttpUtility.UrlDecode(json));
Product p = Product.Get(model.Id);//This method get product by id
if (p == null)
{
p = new Product(){ Name = ".."};
}
p.LastUpdate = DateTime.Now
p.Save();
}
我有一个软件,我使用HttpWebRequest
将数据发布到上面的UpdateItem控制器。每秒大约有1-2个请求。但网站加载速度太慢。如果我打开"SafeMode"
(Setting.Get("SafeMode").To<bool>() = True)
那么网站加载速度很快。
这很奇怪。我想知道当通过HttpWebRequest
对象提出少量请求时网站加载速度是否缓慢?出于某种原因,我使用了GC.Collect()方法。也许这也是问题?