Please create a communication log of sftp.Connect (created using https://www.rebex.net/kb/logging/) and mail it to firstname.lastname@example.org - this should give us some idea about the server and ciphers in use.
We would also like to know:
- What speeds do you get if you disable compression?
- How fast is the connection between the client and the server?
- What kind of speed can you achieve using a third-party SFTP client such as WinSCP or FileZilla when uploading to the same server from the same machine?
- As for the speeds, are you actually referring to kilobits or kilobytes?
In general, the following settings usually result in decent speeds:
sftp.Settings.UseLargeBuffers = true;
sftp.Settings.SshParameters.Compression = false; // only enable compression when transferring highly-compressible files
sftp.Settings.UploadBufferSize = 48 * 1024; // 48 KB is maximum allowed value here
sftp.Settings.UploadQueueLength = 128;
sftp.Settings.DownloadBufferSize = 28 * 1024; // 28 KB seems to result in best transfer speeds
sftp.Settings.DownloadQueueLength = 128;
(Please note that all of these have to be set before calling the