Python中文
首页
教程
问答
标签
搜索
登录
注册
需要CGI(或与IIS 7兼容的其他解决方案)来处理*大量*上传
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我们需要处理大量的<em>文件上传,而不需要在iis7服务器上花费资源。为了强调这需要多么轻量级,让我们假设我们需要处理大小完全疯狂的文件上传,比如100GB的上传,或者可以在不消耗额外资源的情况下持续运行很长时间的文件上传。基本上,我们需要某种东西来控制文件从开始到结束的接收过程。在</p> <p>一点背景知识:</p> <p>我们使用ColdFusion作为服务器端处理器,但是它在处理超过1GB的上传时失败了,我们已经用尽了配置选项。这背后有一个很长的故事,但是本质上,如果一个.cfm页面(ColdFusion)是文件上传的目的地,它超过了1GB,它会给出503错误。。。即使目标文件不存在。很明显,仅仅通过告诉服务器我们打算用.cfm页处理文件,就有太多的事情发生了。在</p> <p>我们怀疑这是由于Java的限制,因为服务器(或者实际上是本例中的工作站)没有任何CPU或内存负载的迹象。因为我们的内存有限,而且这个网站是为大量并发上传而设计的,我们不能简单地提高虚拟机内存的使用率,特别是因为这在当前根本不起作用,即使是对于一个连接。。。更不用说当我们上线时所期望的数百个并发连接了。在</p> <p>所以我们要用CGI编写一个专门的解决方案,只处理文件上传。基本上,我们需要服务器端的控制,这是ColdFusion或ASP.NET因为这些技术在幕后独立完成了很多事情,却没有给我们所需的控制。他们总是以一种或另一种方式花费太多的资源,原因可以说是显而易见的;我们试图做的是完全疯狂的,而不是那些技术的预期功能。这就是为什么我们需要一个专门的上传程序通过CGI绕过所有的ColdFusion/ASP.NET魔法一直挡在路上,希望它能给我们所需的控制。在</p> <p>但在我们花了无数个小时在这个问题上之前,我想我应该问问周围的人,看看是否有人知道这个问题的适当解决方案在我们的案例中可能是可行的。在</p> <p>这里唯一真正的限制是它必须是CGI,并且必须在iis7上运行,因此是一个Windows“服务器”环境。我们很满意用Python,Perl编写,命名它。。。如果它可以作为一个CGI运行,但它必须作为一个CGI运行。。。当然,除非有人对如何做到这一点有更好的想法。在</p> <p>所以神奇的问题是,有没有CGI解决方案已经做到了这一点,还是我们坚持自己编写它,希望没有人已经这样做的原因是其他原因,而不是它是不可能的?在</p> <p>提前谢谢。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>你想要的是WebDAV,而不是CGI。它提供了所有使文件传输不再糟糕的优点,比如恢复和暂停。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何提高Djang的410误差
9 回答
如何提高doc2vec模型中两个文档(句子)的余弦相似度?
4 回答
如何提高Docker的日志限制?|[输出已剪裁,达到日志限制100KiB/s]
2 回答
如何提高DQN的性能?
10 回答
如何提高EasyOCR的准确性/预测?
2 回答
如何提高Euler#39项目解决方案的效率?
2 回答
如何提高F1成绩进行分类
3 回答
如何提高FaceNet的准确性
5 回答
如何提高fft处理的精度?
5 回答
如何提高Fibonacci实现对大n的精度?
6 回答
如何提高Flask与psycopg2的连接时间
9 回答
如何提高FosterCauer变换的scipy.signal.invres()的数值稳定性?
8 回答
如何提高gae查询的性能?
4 回答
如何提高GANs用于时间序列预测/异常检测的结果
10 回答
如何提高gevent和tornado组合的性能?
9 回答
如何提高googleappengin请求日志的吞吐量
10 回答
如何提高googlevision文本识别的准确性
4 回答
如何提高groupby/apply效率
7 回答
如何提高Gunicorn中的请求率
5 回答
如何提高G中的文件编码转换
10 回答