如何实现S3广告中的5500 HEAD rps



链接到s3广告请求速率(每个前缀5500转/秒(:https://aws.amazon.com/about-aws/whats-new/2018/07/amazon-s3-announces-increased-request-rate-performance/

我的代码:

package main
import (
"log"
"math/rand"
"net/http"
"strconv"
"time"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/s3"
)
func main() {
sess := session.Must(session.NewSession(&aws.Config{
Region: aws.String("us-east-1"),
}))
client := s3.New(sess)
for i := 0; i < 1000; i++ {
go func() {
r := rand.Intn(35000)
start := time.Now()
req, _ := client.HeadObjectRequest(&s3.HeadObjectInput{
Key:    aws.String("one-prefix/" + strconv.Itoa(r)),
Bucket: aws.String("MY-BUCKET"),
})
req.Sign()
if _, err := http.DefaultClient.Do(req.HTTPRequest); err != nil {
log.Println(err)
}
log.Println(r, "cost", time.Since(start))
}()
}
<-time.After(10 * time.Second)
}

在一架m5大型飞机上,总共完成这些任务大约需要5秒,大约需要200转/秒,这只是宣传的5500转/秒的一小部分。想知道我做错了什么,以及如何用s3获得更好的rps?

从计时中排除会话设置,更重要的是,使用具有100Gb网络(或更多…(的实例类型

最新更新