问题描述
我不能上传8.4 MB的文件,在后面的Apache乘客的应用程序。通过scp传输相同的文件花了4.1分钟。
Am not able to upload a 8.4 MB file, in a passenger app behind apache. Transferring the same file via scp took 4.1 minutes.
错误回溯:
[PID = 10222 =文件转/ Apache2的/ Hooks.cpp:727时间= 2010-05-18
07:13:14.842]:
在mod_passenger意外错误:接收时发生错误
HTTP上传数据:连接被对方复位(104)
回溯:
在升压:: shared_ptr的
钩:: receiveRequestBody(*的request_rec,为const char *)(Hooks.cpp:
1084)
在int鱼钩::的handleRequest(*的request_rec)'(Hooks.cpp:459)
[ pid=10222 file=ext/apache2/Hooks.cpp:727 time=2010-05-1807:13:14.842 ]: Unexpected error in mod_passenger: An error occurred while receivingHTTP upload data: Connection reset by peer (104)Backtrace: in 'boost::shared_ptrHooks::receiveRequestBody(request_rec*, const char*)' (Hooks.cpp:1084) in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:459)
请注意:用户没有取消或任何东西。他是在Firefox: - )
NOTE:user had not cancelled or anything. He was on firefox :-)
的在日志中看到其他错误是:的
-
[PID = 16593 =文件转/ Apache2的/ Hooks.cpp:727时间= 2010-05-23
23:06:12.156]:
在mod_passenger意外的错误:它看起来像浏览器没有
完成文件上传:它说,这将上传6610086 \\
字节,但尚未发送的字节610155之后的连接。该
用户可能单击停止在浏览器或他上网。\\
T连接
停滞。
回溯:
在升压:: shared_ptr的
钩:: receiveRequestBody(*的request_rec,为const char *)(Hooks.cpp:
1084)
在int鱼钩::的handleRequest(*的request_rec)'(Hooks.cpp:
459)
[ pid=16593 file=ext/apache2/Hooks.cpp:727 time=2010-05-2323:06:12.156 ]:Unexpected error in mod_passenger: It looks like the browser did notfinish the file upload: it said it will upload 6610086\bytes, but it closed the connection after sending 610155 bytes. Theuser probably clicked Stop in the browser or his Interne\t connectionstalled. Backtrace: in 'boost::shared_ptrHooks::receiveRequestBody(request_rec*, const char*)' (Hooks.cpp:1084) in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:459)
请注意:用户没有取消或任何东西。他是在IE6: - )
NOTE:user had not cancelled or anything. He was on IE6 :-)
[PID = 28995 =文件转/ Apache2的/ Hooks.cpp:727时间= 2010-05-17
00:40:18.697]:
在mod_passenger意外的错误:无法将数据发送到
ApplicationPool服务器:写()失败:断管(32)
回溯:
在虚拟的boost :: shared_ptr的
乘客:: ApplicationPoolServer ::客户::得到(常量过时\\
手指:: PoolOptions&安培)'(ApplicationPoolServer.h:
402)
在int鱼钩::的handleRequest(*的request_rec)'(Hooks.cpp:
523)
[ pid=28995 file=ext/apache2/Hooks.cpp:727 time=2010-05-1700:40:18.697 ]:Unexpected error in mod_passenger: Could not send data to theApplicationPool server: write() failed: Broken pipe (32)Backtrace: in 'virtual boost::shared_ptrPassenger::ApplicationPoolServer::Client::get(const Passe\nger::PoolOptions&)' (ApplicationPoolServer.h:402) in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:523)
的问题是:
- 为什么文件没有得到上传?
- 在Apache的文件上传的吞吐量和性能的最佳实践。
- 我可以处理上传的apache以外,然后将它交给
乘客 - 也尝试mod_porter,,它似乎href=\"http://modporter.com\"不
提供帮助。 - 有乘客调试模式 - 详细的日志记录
- why is the file not getting uploaded?
- best practices for file upload in apache for throughput and performance.
- can i handle the upload outside of apache and then hand it off topassenger
- have also tried mod_porter, http://modporter.com, it does not seemto help.
- is there a debug mode in passenger - verbose logging
PS:使用与部署在Apache mod_rails RubyOnRails, http://www.modrails.com/ 的,红宝石企业版。超时是在Apache virtalhost设置为1200。
PS: Using RubyOnRails deployed with mod_rails on apache, http://www.modrails.com/, with ruby enterprise edition. TimeOut is set as 1200 in the apache virtalhost.
问候,结果
迪帕克
regards,
deepak
推荐答案
如果需要1200秒上传610155字节?这似乎完全合理的。 HTTP传输通常并不像SCP机制,积极的,可以倾向于拖了很多,因为HTTP是不是上传特别有效。
What if it takes 1200 seconds to upload 610155 bytes? That seems perfectly reasonable. HTTP transfers are usually not as aggressive as mechanisms like scp and can tend to drag a lot more since HTTP is not especially efficient at uploading.
您可以尝试打开你的超时时间,如果对形势有直接的影响,或记住,有些客户可能通过防火墙连接的是,无论出于何种原因,限制连接的最大时间量,往往围绕十分钟。
You can try opening up your timeout, if that has a direct effect on the situation, or remember that some clients may be connected via a firewall that, for whatever reason, limits connections to a maximum amount of time, often of around ten minutes.
您可以从类似的速度连接复制的问题?或者在一个较大的文件?
Can you replicate the problem from a connection with a similar speed? Or on a larger file?
这篇关于不能在客运应用behing阿帕奇上传的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!