徐州软件开发网、徐州程序员、徐州程序员招聘求职、徐州软件企业推荐、 软件项目交易。点击注册加入我们,进入论坛发布消息

【行动胜于雄辩】徐州程序员交流QQ群:324379(一群,满)1182709(二群).进群请先看公告! 招聘求职请先在本站'招聘\求职区'发布,只在群里发布的,将被请出程序员交流群! 谢谢合作

本主题共有 0 篇回复,最新回复发表于 05-25-2010 9:07,作者 xzsdn_09
页 1 / 1 (1 项)
帖子排序: 上一主题 下一主题
  • 05-25-2010 9:07

    • xzsdn_09
    • 灌水10强
    • 注册时间 01-20-2010
    • 发帖总数 90

    ScaleUp解除了大量IIS的文件上传限制

    LeanServer公司创建了名为ScaleUp的IIS 7.0的扩展程序,它解决了与文件上传相关并且困扰微软web平台的一些问题。 据它的作者所说,ScaleUp提高了上传速度、支持不受限的上传文件大小,将每台服务器同时支持的上传数提升到上千个,并且包含了进度报告、流传输和过滤等等。

    一直以来,ASP和ASP.NET在上传文件方面都存在问题。 最开始的时候,开发者无法从POST信息中提取文件,除非他编写了自定义的代码来解析post并取得文件的数据。 ASP.NET引入了FileUpload控件,它会同步地将POST数据载入到内存中,解析数据以从中提取文件,然后将其存储在磁盘上,从而提升了上传的效率。 这个解决方案有很多问题,最严重的就是它对内存的快速分块会导致OutOfMemory异常,因为在传送到磁盘之前,整个文件都会被放在内存中。 ASP.NET 2.0做出了更多的改善,包括磁盘缓冲方法,这会将任何超过80KB的文件都存储到磁盘上。 然而,还是存在一些限制:

    • 上传的文件最大只能有2GB(ASP.NET),或者4GB(IIS)
    • 每个上传都会使用一个线程,这导致线程数量紧张
    • 磁盘缓冲对性能有很严重的负面影响
    • 无法以流模式上传,并且没有进度报告

    ScaleUp声称解决了上述所有问题。 框架的特性可以保证:

    • 更快地上传,会是原有速度的20倍
    • 对上传文件的大小没有限制
    • 每台服务器同时可以上传上千个文件
    • 提供了进度报告、流传输和过滤的特性
    • 跨服务器对上传过程的企业级性能监控

    之前微软IIS的PM,同时也是现在LeanServer的CTOMike VolodarskyScaleUp的工作方式做出了说明:

    ScaleUp的秘密在于它使用IIS 7.0的本地扩展层,用它自己的高性能的预载入引擎替换了IIS平台的上传处理程序。 这使得它可以解除之前存在的上传限制,同时允许所有现存的与IIS兼容的应用程序可以处理web上传,而不需要在应用程序中做任何本质性的改变。

    ScaleUp上传引擎的核心支持完全地异步请求预载入(asynchronous request preload),这解决了线程紧张的问题,并且让我们能够完全利用当前的服务器所提供的多核优势。

    整个引擎在读取网络数据、解析多部分/格式数据上传、流模式实体过滤以及磁盘存储方面都完全是异步的。 在内部,我们会使用高级Windows性能技术,像异步无缓存的IO、高级缓冲区管理以及很多书中可以极大提升上传流量,并降低服务器上的资源使用量的IIS7.0技巧。

    当前ScaleUp已经被MySpace使用,来处理每天两千五百万次上传,他们说在安装了IIS扩展之后,已经减少了上传服务器的数量。 ScaleUp可以用在ASP、ASP.NET和PHP应用程序中,并且能够用在现存的应用程序中而不需要修改。

    查看英文原文:ScaleUp Addresses Many of IIS’ File Uploading Limitations

页 1 / 1 (1 项)
徐州软件开发网、徐州软件开发社区、徐州程序员
© Copyright 2008-2011 XZSDN.NET   Powered By communityserver   站长博客 我的Blog
苏ICP备09002379号 | 意见反馈 | 联系我