1

我的网站使用 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() 方法。也许这也是问题?

4

0 回答 0