我的网站访问速度明显变得非常慢,目前从我的网站上下载的人只有20人左右。我的网站提供了大约100MB的大文件下载,所以这20人目前正在从它下载。
当有足够多的人在下载时,网站就变得无法访问,基本上当我试图浏览页面时,它会加载很长一段时间才会出现。我在下面这样做
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人会被认为是沉重的吗?
发布于 2012-12-29 22:08:42
我找到了答案,FIleContent不会减慢ASP.NET池的速度,但是它会消耗进程,当太多的用户访问同一个文件时,服务器可能会变慢,这种情况也会发生在其他web服务器上。
https://stackoverflow.com/questions/11842544
复制相似问题