login about faq


I recently upgraded my FTP component from version 9.2 to version 9.5 (the latest). My problem is, that the upload speed (plain FTP) is now up to 90% lower. With the old version, I got e.g. 32 MByte/sec, now I get 8 MByte/sec - and my users complain about an even larger decrease in speed.

I tried the new parameter SoSndBuf, but the value reported by LastErrorText keeps the same at 8192...

Here is my LastErrorText output:

      DllDate: Apr 19 2014
      UnlockPrefix: XXX Username: XXX
      Architecture: Little Endian; 32-bit
      Language: .NET 4.5
      VerboseLogging: 0
        enabled: yes
        heartbeatMs: 0
        sendBufferSize: 524288
      ImplicitSsl: 0
      AuthTls: 0
      AuthSsl: 0
      Hostname: lt520
      Port: 21
      IdleTimeoutMs: 60000
      ConnectTimeout: 15
        SO_SNDBUF: 8192
        SO_RCVBUF: 8192
        TCP_NODELAY: 1
        replyLineQP: 220-FileZilla Server version 0.9.43 beta
        replyLineQP: 220-written by Tim Kosse (tim.kosse@filezilla-project.org)
        replyLineQP: 220 Please visit http://sourceforge.net/projects/filezilla/
        commandResponse: 220-FileZilla Server version 0.9.43 beta  220-written by Tim Kosse (tim.kosse@filezilla-project.org)  
        220 Please visit http://sourceforge.net/projects/filezilla/
        statusCode: 220
      initialStatus: 220
      initialResponse: 220-FileZilla Server version 0.9.43 beta  220-written by Tim Kosse (tim.kosse@filezilla-project.org)  220 Please visit http://sourceforge.net/projects/filezilla/      Logging in...      
          sendingCommand: USER raincoat
          replyLineQP: 331 Password required for raincoat
          commandResponse: 331 Password required for raincoat
          statusCode: 331
          sendingCommand: PASS *
          replyLineQP: 230 Logged on
          commandResponse: 230 Logged on
          statusCode: 230
        FTP authentication successful.
            sendingCommand: TYPE I
            replyLineQP: 200 Type set to I
            commandResponse: 200 Type set to I
            statusCode: 200
      Login successful.
          sendingCommand: SYST
          replyLineQP: 215 UNIX emulated by FileZilla
          commandResponse: 215 UNIX emulated by FileZilla
          statusCode: 215
      Syst: UNIX emulated by FileZilla
        sendingCommand: FEAT
        replyLineQP: 211-Features:
        replyLineQP:  MDTM
        replyLineQP:  REST STREAM
        replyLineQP:  SIZE
        replyLineQP:  MLST type*;size*;modify*;
        replyLineQP:  MLSD
        replyLineQP:  UTF8
        replyLineQP:  CLNT
        replyLineQP:  MFMT
        replyLineQP: 211 End
        commandResponse: 211-Features:   MDTM   REST STREAM   SIZE   MLST type*;size*;modify*;   MLSD   UTF8   CLNT   MFMT  211 End
        statusCode: 211
      --readCommandResponse      Success.

asked Apr 28 '14 at 05:25

TobiasSchittkowski's gravatar image


edited Apr 28 '14 at 09:16

jpbro's gravatar image

jpbro ♦

What are the contents of the LastErrorText property immediately after you set the SOSndBuf property?

(Apr 28 '14 at 09:18) jpbro ♦

Directly after setting the property, getting the property gives the correct result (befor calling .Connect).

Here ist the LastErrorText:

ChilkatLog: Disconnect: DllDate: Apr 19 2014 ChilkatVersion: UnlockPrefix: SANDATAEDVFTP Username: XXX Architecture: Little Endian; 32-bit Language: .NET 4.0 VerboseLogging: 0 Success. --Disconnect --ChilkatLog

(I disconnect and then set the parameters (url, pwd, SoSndBuf etc) and then connect)...

Just after setting SoSndBuf I use .Connect and then the LastErrorText is as in my original question...

(Apr 28 '14 at 09:40) TobiasSchittkowski

Just out of curiosity (and to eliminate the possibility of some other outside interference) - if you run the same code with the older 9.2 library now, do you still get faster uploads?

(Apr 29 '14 at 10:21) jpbro ♦

Please provide the LastErrorText for the method call that actually does the file transfer. Make sure verbose logging is turned on. So far, I can only see the LastErrorText's for the calls to Connect and Disconnect, which don't help much ...

(Apr 29 '14 at 10:30) chilkat ♦♦

The SoSndBuf property applies to data connections, not to the control connection. The Connect method establishes the control connection for sending FTP commands. When a command to upload or download a file is sent, then a temporary data connection is established and this is the connection where the SoSndBuf socket option is set.

Make sure to set it to a large value, such as 1MB. If you examine the LastErrorText after the method call to upload/download a file, you should see the SoSndBuf value that is used.


answered Apr 28 '14 at 11:17

chilkat's gravatar image

chilkat ♦♦

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or __italic__
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported



Asked: Apr 28 '14 at 05:25

Seen: 3,190 times

Last updated: Apr 29 '14 at 10:30

powered by OSQA