0

我正在使用 go aws sdk 将对象放入 s3。上传文件大约需要 1 秒。为了测试并发性,我使用了一个 http 服务器,ab -c10 -n10 http://localhost:8080处理程序调用了以下代码:

func (service *Service) LogResponseManager(resp gorequest.Response, s3key string) {
    uploader := service.S3Manager
    defer resp.Body.Close()
    params := &s3manager.UploadInput{
        Bucket:      aws.String("cslogs.sellbrite.com"), // Required
        Key:         aws.String(s3key),                  // Required
        Body:        resp.Body,
        ContentType: aws.String("text/plain"),
    }
    uploader.Upload(params)

}

我正在使用回显服务器来接收请求,如果我在处理程序中只睡 1 秒,那么并行执行所有 10 个请求的时间仅为 1 秒。但是,当上传太多 s3 时,执行 10 个并发请求的时间似乎是串行加起来的,接近 8 秒。go sdk 是否没有同时执行 s3 上传?

4

0 回答 0