Remove default concurrent upload/download limits for best performance (#7712)
Change all concurrentUploadLimitMB and concurrentDownloadLimitMB defaults
from fixed values (64, 128, 256 MB) to 0 (unlimited).
This removes artificial throttling that can limit throughput on high-performance
systems, especially on all-flash setups with many cores.
Files changed:
- volume.go: concurrentUploadLimitMB 256->0, concurrentDownloadLimitMB 256->0
- server.go: filer/volume/s3 concurrent limits 64/128->0
- s3.go: concurrentUploadLimitMB 128->0
- filer.go: concurrentUploadLimitMB 128->0, s3.concurrentUploadLimitMB 128->0
Users can still set explicit limits if needed for resource management.
filerS3Options.concurrentUploadLimitMB=cmdFiler.Flag.Int("s3.concurrentUploadLimitMB",128,"limit total concurrent upload size for S3")
filerS3Options.concurrentUploadLimitMB=cmdFiler.Flag.Int("s3.concurrentUploadLimitMB",0,"limit total concurrent upload size for S3, 0 means unlimited")
filerS3Options.concurrentFileUploadLimit=cmdFiler.Flag.Int("s3.concurrentFileUploadLimit",0,"limit number of concurrent file uploads for S3, 0 means unlimited")
s3StandaloneOptions.concurrentUploadLimitMB=cmdS3.Flag.Int("concurrentUploadLimitMB",128,"limit total concurrent upload size")
s3StandaloneOptions.concurrentUploadLimitMB=cmdS3.Flag.Int("concurrentUploadLimitMB",0,"limit total concurrent upload size, 0 means unlimited")
s3StandaloneOptions.concurrentFileUploadLimit=cmdS3.Flag.Int("concurrentFileUploadLimit",0,"limit number of concurrent file uploads, 0 means unlimited")
filerOptions.dirListingLimit=cmdServer.Flag.Int("filer.dirListLimit",1000,"limit sub dir listing size")
filerOptions.cipher=cmdServer.Flag.Bool("filer.encryptVolumeData",false,"encrypt data on volume servers")
filerOptions.saveToFilerLimit=cmdServer.Flag.Int("filer.saveToFilerLimit",0,"Small files smaller than this limit can be cached in filer store.")
filerOptions.concurrentUploadLimitMB=cmdServer.Flag.Int("filer.concurrentUploadLimitMB",64,"limit total concurrent upload size")
filerOptions.concurrentUploadLimitMB=cmdServer.Flag.Int("filer.concurrentUploadLimitMB",0,"limit total concurrent upload size, 0 means unlimited")
filerOptions.concurrentFileUploadLimit=cmdServer.Flag.Int("filer.concurrentFileUploadLimit",0,"limit number of concurrent file uploads, 0 means unlimited")
filerOptions.localSocket=cmdServer.Flag.String("filer.localSocket","","default to /tmp/seaweedfs-filer-<port>.sock")
filerOptions.showUIDirectoryDelete=cmdServer.Flag.Bool("filer.ui.deleteDir",true,"enable filer UI show delete directory button")
@ -142,8 +142,8 @@ func init() {
serverOptions.v.maintenanceMBPerSecond=cmdServer.Flag.Int("volume.maintenanceMBps",0,"limit maintenance (replication / balance) IO rate in MB/s. Unset is 0, no limitation.")
serverOptions.v.fileSizeLimitMB=cmdServer.Flag.Int("volume.fileSizeLimitMB",256,"limit file size to avoid out of memory")
serverOptions.v.ldbTimeout=cmdServer.Flag.Int64("volume.index.leveldbTimeout",0,"alive time for leveldb (default to 0). If leveldb of volume is not accessed in ldbTimeout hours, it will be off loaded to reduce opened files and memory consumption.")
serverOptions.v.concurrentUploadLimitMB=cmdServer.Flag.Int("volume.concurrentUploadLimitMB",64,"limit total concurrent upload size")
serverOptions.v.concurrentDownloadLimitMB=cmdServer.Flag.Int("volume.concurrentDownloadLimitMB",64,"limit total concurrent download size")
serverOptions.v.concurrentUploadLimitMB=cmdServer.Flag.Int("volume.concurrentUploadLimitMB",0,"limit total concurrent upload size, 0 means unlimited")
serverOptions.v.concurrentDownloadLimitMB=cmdServer.Flag.Int("volume.concurrentDownloadLimitMB",0,"limit total concurrent download size, 0 means unlimited")
s3Options.concurrentUploadLimitMB=cmdServer.Flag.Int("s3.concurrentUploadLimitMB",128,"limit total concurrent upload size for S3")
s3Options.concurrentUploadLimitMB=cmdServer.Flag.Int("s3.concurrentUploadLimitMB",0,"limit total concurrent upload size for S3, 0 means unlimited")
s3Options.concurrentFileUploadLimit=cmdServer.Flag.Int("s3.concurrentFileUploadLimit",0,"limit number of concurrent file uploads for S3, 0 means unlimited")
sftpOptions.port=cmdServer.Flag.Int("sftp.port",2022,"SFTP server listen port")
v.maintenanceMBPerSecond=cmdVolume.Flag.Int("maintenanceMBps",0,"limit maintenance (replication / balance) IO rate in MB/s. Unset is 0, no limitation.")
v.fileSizeLimitMB=cmdVolume.Flag.Int("fileSizeLimitMB",256,"limit file size to avoid out of memory")
v.ldbTimeout=cmdVolume.Flag.Int64("index.leveldbTimeout",0,"alive time for leveldb (default to 0). If leveldb of volume is not accessed in ldbTimeout hours, it will be off loaded to reduce opened files and memory consumption.")
v.concurrentUploadLimitMB=cmdVolume.Flag.Int("concurrentUploadLimitMB",256,"limit total concurrent upload size")
v.concurrentDownloadLimitMB=cmdVolume.Flag.Int("concurrentDownloadLimitMB",256,"limit total concurrent download size")
v.concurrentUploadLimitMB=cmdVolume.Flag.Int("concurrentUploadLimitMB",0,"limit total concurrent upload size, 0 means unlimited")
v.concurrentDownloadLimitMB=cmdVolume.Flag.Int("concurrentDownloadLimitMB",0,"limit total concurrent download size, 0 means unlimited")
v.pprof=cmdVolume.Flag.Bool("pprof",false,"enable pprof http handlers. precludes -memprofile and -cpuprofile")