This topic has been archived. It cannot be replied.
-
工作学习 / 专业技术讨论 / 用浏览器上传文件,假如5个10M文件,就像yahoo mail贴附件那样,选定后一起上传,服务器端struts,我在服务器端开5个thread来收,和一个thread来收,速度有提高吗?网络环境假定客户端3M DSL,服务器在Hoting center, 100M
-maplew2008(maplew);
2006-5-8
(#2955376@0)
-
有
-sfsun(峰);
2006-5-8
(#2955429@0)
-
我觉得瓶颈不在服务器,而在网络带宽,带宽已经跑满,再增加线程恐怕没用。在本机很难试,局域网也不好试。
-maplew2008(maplew);
2006-5-8
(#2955452@0)
-
很好奇, 用浏览器上传是单线程的, 到服务器端能分多线程接受吗?毕竟还是走TCP/IP协议, struts能实现吗?
-yimingma(2006);
2006-5-8
(#2956040@0)
-
可以,只要同时send几个asynchronous requests就行了。
-galactica(掂花狂笑);
2006-5-8
(#2956110@0)
-
你那是用AJAX来做了, 那服务器端跟开多线程一点关系都没有, 楼主的意思好象是一个页面提交.
-yimingma(2006);
2006-5-8
(#2956164@0)
-
好主意,用Ajax试试
-maplew2008(maplew);
2006-5-8
(#2956219@0)
-
so far i still keep looking a solution for ajax uploading file in INTERNET enirv. really want to your outcome.
-elecskunk(elecskunk);
2006-5-8
(#2956725@0)
-
对应每个request他的servlet container都会开个thread to serve it unless the resouce exhausted
-galactica(掂花狂笑);
2006-5-9
(#2956781@0)
-
我的情况是同一用户,同一session,同一页面,同一请求,同一form,多个文件,服务器不会开多个线程处理,应该是自己的程序处理。没准HTTP协议根本都不支持呢,好了,不在这里耍嘴皮了,今晚试试,给大家汇报。
-maplew2008(maplew);
2006-5-9
(#2957007@0)
-
我做了个试验,详情见内
-maplew2008(maplew);
2006-5-10
{940}
(#2959573@0)
-
Multi-threading applications usually have better performance. "客户端和服务器在同一机器上" is not correct setup for the test. The OS kernel is using different ways to send files to localhost or to remote server.You could use truss or similar utility to trace the system calls to find the bottleneck.
-steven99ca(Don);
2006-5-10
{88}
(#2959670@0)
-
新方案中没写什么时候在哪告诉用户成功失败
-markriver(markriver);
2006-5-10
(#2959909@0)
-
这个测试方案太糟糕了.Because your client and server are in one computer, so there is NO network delay at all. So you can't figure out the pro/con of your implementation.
Unless, your program will only be deploy in LAN with 100M network speed. Otherwise, this test is totally nonsense. You can only test the cpu speed in this test.
-benlin(默默的松鼠);
2006-5-10
{315}
(#2960038@0)
-
多谢指教,由于是私活,只能在家弄,家里只一台电脑。这不,今天又弄了一台,正在装系统,尽快再试一下。
-maplew2008(maplew);
2006-5-10
(#2961117@0)
-
if upload lots of file, why not ftp. For fun it is OK, but no value
-elecskunk(elecskunk);
2006-5-10
(#2961138@0)
-
你在家里再弄一台电脑,两台电脑100M连接速度,还是不能模仿真正的环境。本来你要多线程同步上传几个文件的目的,就是为了在网络速度慢的时候能加快速度;你现在这个测试环境还是不对。
你可以把服务器搭好在你家之后,让朋友在他家访问你的服务器,然后上传,这样测试才正常一些。
其实,上传5个40M的文件,对于一般用户太辛苦了。如果你的软件是面向一般用户,而不是局域网用户,那么这个软件没有太大意义。因为一般高速上网,下载速度是300kBps,而上载速度只有十分之一,即30kBps。满负荷运转,1M需要30秒,40M需要20分钟。5个,就是100分钟。
-benlin(默默的松鼠);
2006-5-10
{446}
(#2961168@0)
-
你说的很对,其事文件没那么大,我为了测试,怕一闪就没了,所以本机用30M的测试。
谢谢事实上我的客户可能一次传10-30张数码照片,每个,应该在100K-1M之间。这个测试会耽误一些时间,所以不愿麻烦朋友。我打算用我的laptop拨号上网访问的的台式机,记得bell宽带送个拨号的帐号。
-maplew2008(maplew);
2006-5-11
{179}
(#2962201@0)
-
我觉得这个方案很好, 不应该模拟网络延迟, 那反而不准确.
-yimingma(2006);
2006-5-11
{1020}
(#2963250@0)