Re: Copy large size file takes longer time
vittal <[email protected]> Tue, 3 Nov 2015 17:23:11 -0500
| Newsgroups | gmane.network.samba.java |
|---|---|
| Message-ID | <CACHNoE9-pSNo1CWGeGgDKshej2vmTVKzFNfcX8c9mR_2Hqz0CQ@mail.gmail.com> |
--001a113a5f06cf38ac0523aa56e7 Content-Type: text/plain; charset=UTF-8 If we map source drive (\\xxx.xx.xx.xx\abcd95\D\NJ$) from target machine (aaaaaa.bbb.ccc), using window copy option transfer is quick 160MB takes 3 sec. Whereas this functionality we are doing from code implemented using JAVA API with SAMBA protocol (jcifs-1.3.17.jar) takes longer time. This implementation been working fine 8+ years, no change in implementation, since recently performance degraded, transfer take 40+ minutes, sometime transfer fails. Is it some would have changed on samba server/configuration?, please advise. On Mon, Nov 2, 2015 at 9:10 PM, vittal <[email protected]> wrote: > Hi All, > I would like to have advice on multiple issues, code snippet java code. > > void test(){ > SmbFile sFile = null; > NtlmPasswordAuthentication auth = new > NtlmPasswordAuthentication(activeUserDomain, activeUserID, activePwd); > sFile = new SmbFile("smb:"+absoluteFilePath.replaceAll("\\\\", "/"), auth); > > File inFile = new File(tempZipDir,zipFileName); > inFile.createNewFile(); > DataOutputStream outZ = new DataOutputStream(new FileOutputStream(inFile)); > InputStream inZ = sFile.getInputStream(); > copyStreams(inZ,outZ); > } > > private static final void copyStreams ( InputStream in, OutputStream out ) > throws IOException > { > byte [ ] buffer = new byte[1024]; > int len; > > > while ( ( len = in.read(buffer)) >= 0 ) { > out.write( buffer, 0, len ) ; > } > > in.close() ; > out.close() ; > } > > 1. Above snippet of code setup locally, worked for sometime, once I got > connection time error, since than always throws below exception, similar > behavior in my secondary machine as well, please advice, what might causing? > > java.net.ConnectException: Connection timed out: connect > at java.net.DualStackPlainSocketImpl.connect0(Native Method) > at > java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79) > at > java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) > at > java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) > at > java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) > at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) > at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) > at java.net.Socket.connect(Socket.java:579) > at java.net.Socket.connect(Socket.java:528) > at java.net.Socket.<init>(Socket.java:425) > at java.net.Socket.<init>(Socket.java:208) > at jcifs.smb.SmbTransport.ssn139(SmbTransport.java:226) > at jcifs.smb.SmbTransport.negotiate(SmbTransport.java:288) > at jcifs.smb.SmbTransport.doConnect(SmbTransport.java:353) > at jcifs.util.transport.Transport.run(Transport.java:240) > at java.lang.Thread.run(Thread.java:745 > > 2. I am very new to smb implementation, I am trying to trouble shoot > performance issue on existing implementation, same code have been working > for years i.e. to copy zip file(3KB to 800MB) from samba server to > appserver but since recent time copy function takes long time for a give > file, please advice what might cause? > > > -- > Regards > --------------------------------------- > Vittal > -- Regards --------------------------------------- M.Vittal Reddy --001a113a5f06cf38ac0523aa56e7 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div id=3D"3047479">If we map source drive (\\xxx.xx.xx.xx= \abcd95\D\NJ$) from target machine (aaaaaa.bbb.ccc), using window copy opti= on transfer is quick 160MB takes 3 sec. Whereas this functionality we are = doing from code implemented using JAVA API with SAMBA protocol (jcifs-1.3.1= 7.jar) takes longer time. This implementation been working fine 8+ years, = no change in implementation, since recently performance degraded, transfer = take 40+ minutes, sometime transfer fails. Is it some would have changed o= n samba server/configuration?, please advise.</div></div><div class=3D"gmai= l_extra"><br><div class=3D"gmail_quote">On Mon, Nov 2, 2015 at 9:10 PM, vit= tal <span dir=3D"ltr"><<a href=3D"mailto:[email protected]" target= =3D"_blank">[email protected]</a>></span> wrote:<br><blockquote cla= ss=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pa= dding-left:1ex"><div dir=3D"ltr"><p>Hi All,<br>I would like to have advice = on multiple issues, code snippet java code.</p><p>void test(){<br>SmbFile s= File =3D null;<br>NtlmPasswordAuthentication auth =3D new NtlmPasswordAuthe= ntication(activeUserDomain, activeUserID, activePwd);<br>sFile =3D new SmbF= ile("smb:"+absoluteFilePath.replaceAll("\\\\", "/&= quot;), auth);</p><p>File inFile =3D new File(tempZipDir,zipFileName);<br>i= nFile.createNewFile();<br>DataOutputStream outZ =3D new DataOutputStream(ne= w FileOutputStream(inFile));<br>InputStream inZ =3D sFile.getInputStream();= <br>copyStreams(inZ,outZ);<br>}</p><p>private static final void copyStreams= ( InputStream in, OutputStream out ) throws IOException <br>=C2=A0=C2=A0= =C2=A0 {=C2=A0 <br>=C2=A0=C2=A0=C2=A0=C2=A0 byte [=C2=A0 ]=C2=A0 buffer =3D= new byte[1024]; <br>=C2=A0=C2=A0=C2=A0=C2=A0 int len; <br>=C2=A0 <br>=C2= =A0 <br>=C2=A0=C2=A0=C2=A0=C2=A0 while (=C2=A0 ( len =3D in.read(buffer)) &= gt;=3D 0 )=C2=A0 {<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 out.write( buffe= r, 0, len ) ; <br>=C2=A0=C2=A0=C2=A0=C2=A0 }<br>=C2=A0 <br>=C2=A0=C2=A0=C2= =A0=C2=A0 in.close() ; <br>=C2=A0=C2=A0=C2=A0=C2=A0 out.close() ; <br>=C2= =A0=C2=A0=C2=A0 }=C2=A0 </p><p>1. Above snippet of code setup locally, work= ed for sometime,=C2=A0once I got connection time error, since than always= =C2=A0 throws=C2=A0 below exception, similar behavior in my secondary machi= ne as well, please advice, what might causing?</p><p>java.net.ConnectExcept= ion: Connection timed out: connect<br>=C2=A0at java.net.DualStackPlainSocke= tImpl.connect0(Native Method)<br>=C2=A0at java.net.DualStackPlainSocketImpl= .socketConnect(DualStackPlainSocketImpl.java:79)<br>=C2=A0at java.net.Abstr= actPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)<br>=C2=A0at = java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.j= ava:200)<br>=C2=A0at java.net.AbstractPlainSocketImpl.connect(AbstractPlain= SocketImpl.java:182)<br>=C2=A0at java.net.PlainSocketImpl.connect(PlainSock= etImpl.java:172)<br>=C2=A0at java.net.SocksSocketImpl.connect(SocksSocketIm= pl.java:392)<br>=C2=A0at java.net.Socket.connect(Socket.java:579)<br>=C2=A0= at java.net.Socket.connect(Socket.java:528)<br>=C2=A0at java.net.Socket.<= ;init>(Socket.java:425)<br>=C2=A0at java.net.Socket.<init>(Socket.= java:208)<br>=C2=A0at jcifs.smb.SmbTransport.ssn139(SmbTransport.java:226)<= br>=C2=A0at jcifs.smb.SmbTransport.negotiate(SmbTransport.java:288)<br>=C2= =A0at jcifs.smb.SmbTransport.doConnect(SmbTransport.java:353)<br>=C2=A0at j= cifs.util.transport.Transport.run(Transport.java:240)<br>=C2=A0at java.lang= .Thread.run(Thread.java:745</p><p>2. I am very new to smb implementation,= =C2=A0I am trying to trouble shoot performance issue on existing implementa= tion, same code have been working for years i.e. to copy zip file(3KB to 80= 0MB) from samba server to appserver but since recent time copy function tak= es long time for a give file, please advice what might cause?<span class=3D= "HOEnZb"><font color=3D"#888888"><br><br clear=3D"all"><br>-- <br></font></= span></p><span class=3D"HOEnZb"><font color=3D"#888888"><div>Regards<br>---= ------------------------------------<br>Vittal<br></div> </font></span></div> </blockquote></div><br><br clear=3D"all"><br>-- <br><div class=3D"gmail_sig= nature">Regards<br>---------------------------------------<br>M.Vittal Redd= y<br></div> </div> --001a113a5f06cf38ac0523aa56e7--