Pra*_*tik 6 c# asp.net performance file-upload
我在ASP.Net中使用文件上传控件,遵循以下博客方法.
http://weblogs.asp.net/jgalloway/archive/2008/01/08/large-file-uploads-in-asp-net.aspx
4MB默认值在machine.config中设置,但您可以在web.config中覆盖它.例如,要将上传限制扩展到20MB,您可以这样做:
<system.web>
<httpRuntime executionTimeout="240" maxRequestLength="20480" />
</system.web>
Run Code Online (Sandbox Code Playgroud)
问题: 如果我们允许用户上传50-60 MB文件,那么我可以增加所请求的长度以及对网站的性能影响.
maxRequestLength字段的"理论"最大级别是带符号的32位整数数据类型(Int32.MaxValue)的最大值.
但是,您必须测试上传才能了解您的效果.
编辑:
从理论上讲,最大文件上传大小相当大.但是,由于ASP.NET运行状况监视,您无法在ASP.NET中上载非常大的文件.ASP.NET辅助进程的虚拟地址空间为2千兆字节(GB).但是,由于运行状况监视和内存碎片,ASP.NET辅助进程仅使用略多于1 GB的进程.
在上载过程中,ASP.NET会在用户将文件保存到磁盘之前将整个文件加载到内存中.因此,由于Machine.config文件中processModel标记的memoryLimit属性,该进程可能会回收.memoryLimit属性指定ASP.NET工作进程在进程自动回收之前可以耗尽的物理内存百分比.回收可防止内存泄漏导致ASP.NET崩溃或停止响应.
此外,其他因素在可以上载的最大文件大小中起作用.这些因素包括可用内存,可用硬盘空间,处理器速度和当前网络流量.由于正在上载文件的流量,Microsoft建议您使用10到20兆字节(MB)范围内的最大文件大小.如果您很少上传文件,则最大文件大小可能为100 MB.
注意您可以在ASP.NET中上载大于100 MB的文件.但是,Microsoft建议您遵循本文中提到的最大文件上载大小.要确定更精确的文件大小,请在与将在生产中使用的计算机类似的计算机上执行压力测试.