我们现在有一个与并发用户斗争的网站.
以下是该项目的高级背景:
SubmitSearch上的操作Search.平均响应时间为5-10秒.因此,如第二点所述,我们不希望在此项目上花费太多时间来重写大部分内容.但是,我们希望尝试增加并发用户.我们不打算改变其他任何东西或提高性能,因为它需要更多的工作.
我们看到的是,随着越来越多的人受到打击SubmitSearch,网站总体上变慢了.这很可能是由于所有IIS线程被锁定执行搜索.
我们正在寻求实现AsyncController并SubmitSearch在正常的CLR线程上执行操作.以下是我们想要实现它的方式:
假设这是原始SubmitSearch方法:
/// <summary>
/// Submits a search for execution.
/// </summary>
/// <param name="searchData">The search data</param>
/// <returns></returns>
public virtual ActionResult SubmitSearch(SearchFormModel searchData)
{
//our search code
}
Run Code Online (Sandbox Code Playgroud)
我们希望转换为最快的方法AsyncController是简单地执行此操作:
/// <summary>
/// Submits a search for execution.
/// </summary>
/// <param name="searchData">The search data</param>
/// <returns></returns>
protected virtual ActionResult SubmitSearch(SearchFormModel searchData)
{
//our search code …Run Code Online (Sandbox Code Playgroud)