portable mode: add SFTP buffer size

This commit is contained in:
Nicola Murino 2021-04-07 19:47:39 +02:00
parent b389f93d97
commit ed26d68948
No known key found for this signature in database
GPG key ID: 2F1FB59433D5A8CB
3 changed files with 21 additions and 0 deletions

View file

@ -74,6 +74,7 @@ jobs:
run: | run: |
mkdir -p output/{init,bash_completion,zsh_completion} mkdir -p output/{init,bash_completion,zsh_completion}
cp sftpgo output/ cp sftpgo output/
chmod 755 output/sftpgo
cp sftpgo.json output/ cp sftpgo.json output/
cp -r templates output/ cp -r templates output/
cp -r static output/ cp -r static output/
@ -222,6 +223,7 @@ jobs:
./sftpgo gen man -d output/man/man1 ./sftpgo gen man -d output/man/man1
gzip output/man/man1/* gzip output/man/man1/*
cp sftpgo output/ cp sftpgo output/
chmod 755 output/sftpgo
- uses: uraimo/run-on-arch-action@v2.0.9 - uses: uraimo/run-on-arch-action@v2.0.9
if: ${{ matrix.arch != 'amd64' }} if: ${{ matrix.arch != 'amd64' }}
@ -259,6 +261,7 @@ jobs:
./sftpgo gen man -d output/man/man1 ./sftpgo gen man -d output/man/man1
gzip output/man/man1/* gzip output/man/man1/*
cp sftpgo output/ cp sftpgo output/
chmod 755 output/sftpgo
- name: Upload build artifact - name: Upload build artifact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v2

View file

@ -73,6 +73,7 @@ var (
portableSFTPFingerprints []string portableSFTPFingerprints []string
portableSFTPPrefix string portableSFTPPrefix string
portableSFTPDisableConcurrentReads bool portableSFTPDisableConcurrentReads bool
portableSFTPDBufferSize int64
portableCmd = &cobra.Command{ portableCmd = &cobra.Command{
Use: "portable", Use: "portable",
Short: "Serve a single directory", Short: "Serve a single directory",
@ -192,6 +193,7 @@ Please take a look at the usage below to customize the serving parameters`,
Fingerprints: portableSFTPFingerprints, Fingerprints: portableSFTPFingerprints,
Prefix: portableSFTPPrefix, Prefix: portableSFTPPrefix,
DisableCouncurrentReads: portableSFTPDisableConcurrentReads, DisableCouncurrentReads: portableSFTPDisableConcurrentReads,
BufferSize: portableSFTPDBufferSize,
}, },
}, },
Filters: dataprovider.UserFilters{ Filters: dataprovider.UserFilters{
@ -322,6 +324,14 @@ remote SFTP server`)
portableCmd.Flags().BoolVar(&portableSFTPDisableConcurrentReads, "sftp-disable-concurrent-reads", false, `Concurrent reads are safe to use and portableCmd.Flags().BoolVar(&portableSFTPDisableConcurrentReads, "sftp-disable-concurrent-reads", false, `Concurrent reads are safe to use and
disabling them will degrade performance. disabling them will degrade performance.
Disable for read once servers`) Disable for read once servers`)
portableCmd.Flags().Int64Var(&portableSFTPDBufferSize, "sftp-buffer-size", 0, `The size of the buffer (in MB) to use
for transfers. By enabling buffering,
the reads and writes, from/to the
remote SFTP server, are split in
multiple concurrent requests and this
allows data to be transferred at a
faster rate, over high latency networks,
by overlapping round-trip times`)
rootCmd.AddCommand(portableCmd) rootCmd.AddCommand(portableCmd)
} }

View file

@ -91,6 +91,14 @@ Flags:
parallel (default 2) parallel (default 2)
--s3-upload-part-size int The buffer size for multipart uploads --s3-upload-part-size int The buffer size for multipart uploads
(MB) (default 5) (MB) (default 5)
--sftp-buffer-size int The size of the buffer (in MB) to use
for transfers. By enabling buffering,
the reads and writes, from/to the
remote SFTP server, are split in
multiple concurrent requests and this
allows data to be transferred at a
faster rate, over high latency networks,
by overlapping round-trip times
--sftp-disable-concurrent-reads Concurrent reads are safe to use and --sftp-disable-concurrent-reads Concurrent reads are safe to use and
disabling them will degrade performance. disabling them will degrade performance.
Disable for read once servers Disable for read once servers