2012-08-07 19 views
0

我的網站顯然變得非常緩慢,只有大約20人正在從我的網站下載訪問。我的網站提供大約100MB的大文件供下載,所以這20個人正在從它下載。ASP.NET返回FileResult動作和網站變慢

當有足夠的人下載時,網站變得無法訪問,基本上當我嘗試瀏覽頁面時,它會在出現之前加載很長時間。我做下面

FileLocation fl = _store.GetFileLocation(id); 
if (fl == null) return; 
if (System.IO.File.Exists(fl.Location) == false) return; 
RangeDownloader rd = new RangeDownloader(fl.Location, new FileInfo(fl.Location)); 
rd.ProcessRequest(System.Web.HttpContext.Current); 

RangeDownloader類基本上是一個類,允許範圍下載(多節/多部分)。

我在這裏做錯了什麼嗎?我必須使用單獨的線程提供下載,這意味着我使用ThreadStart?是不是每個網站的請求都是一個獨立的過程?我真的需要使用線程嗎?從共享主機方案下載的20人被認爲很重?

回答

0

我找到了答案,FIleContent並沒有減慢ASP.NET池的速度,但它消耗了進程,當太多的用戶碰到同一個文件時,服務器可能會變慢,這也會發生在其他Web服務器上。