Golang s3 sdk无法并行上传文件

时间:2019-07-27 08:18:29

标签: go amazon-s3

我创建一个上传文件端点。我想同时执行它,但是当我进行压力测试时 10个并发用户上载5MB的文件。

上传到s3的文件不会并行执行。 如果我与1位用户进行测试,则需要10秒钟。

但是,如果我有10个并发用户,则大约需要10秒* 10〜100s。

func upload(w http.ResponseWriter, r *http.Request) {
r.ParseMultipartForm(10 << 20)
file, _, err := r.FormFile("test")
go func(i int) {
currentTime1 := time.Now()
fmt.Println("Before YYYY.MM.DD : ", currentTime1.Format("2006.01.02 15:04:05"))
_, err = uploader.Upload(&s3manager.UploadInput{
Bucket: aws.String("nmtfit"),
Key: aws.String(storage_path + strconv.Itoa(count)),
Body: file,
//Body: reader,
//new(endlessReader),
})
currentTime2 := time.Now()
fmt.Println("AFTER YYYY.MM.DD : ", currentTime2.Format("2006.01.02 15:04:05"))
if err != nil {
log.Fatal(err)
}

}(count)

0 个答案:

没有答案