neofs-node
neofs-node copied to clipboard
Cache storage policy application results (`Get`/`Head`/`GetRange`)
- continues #2892
i created 2 containers with 5 object in each and ran 30 routines sending 1000 GET queries (each time random object)
v0.42.1
current branch
Go script
strObjs := []string{
"47pRu4GKKHL3yJ5wkXRDZj5QsyfH3wUUy27x9eEp7wgK/7GRiZmkxHruwrR5YbwfiTCMzo5rnEHr8HmyNAPwAEzex",
"47pRu4GKKHL3yJ5wkXRDZj5QsyfH3wUUy27x9eEp7wgK/3ZSUCYqacwGY3teqJm3f9gDYSsEtB4uccXUp5in6jXBc",
"47pRu4GKKHL3yJ5wkXRDZj5QsyfH3wUUy27x9eEp7wgK/EMdsnvaUK2XQtxLf1zFjVeFFtbszEwKu8mvYt9W15oMw",
"47pRu4GKKHL3yJ5wkXRDZj5QsyfH3wUUy27x9eEp7wgK/En1K6HVfzoQtX9Vn2nW85szWduXqepdbmeAt9t2NMQJL",
"47pRu4GKKHL3yJ5wkXRDZj5QsyfH3wUUy27x9eEp7wgK/B7UjiPD8UcCQsWHpDLZWswATnA7q4bWvbHAvJJXCtbPq",
"2GN486btkTpxsYHsVjz5tZzug65YiSFUAYqAQiEkg4sg/FtRXxUBiTteyCM5QyeKKwFsJiJsNQGDMG31dTchagep3",
"2GN486btkTpxsYHsVjz5tZzug65YiSFUAYqAQiEkg4sg/FJijkw5XauTY9N2TKUSTf8QxJoDjBFGVS9Qc9V6ejW1i",
"2GN486btkTpxsYHsVjz5tZzug65YiSFUAYqAQiEkg4sg/HhbtK3cTcwu8uzLaMjMFg9Cnj1ZkmPAvPGPAXBNoYM6E",
"2GN486btkTpxsYHsVjz5tZzug65YiSFUAYqAQiEkg4sg/DcLuSr69JEEgeqTE3AaMAQqcVzPDHxtK88ZXdDVycRfM",
"2GN486btkTpxsYHsVjz5tZzug65YiSFUAYqAQiEkg4sg/Afykr7S6kgwbkVA5fsmw6bjkv8LrUQ7hxzLWreneoERh",
}
const endpoint = "s01.neofs.devenv:8080"
const workers = 30
ctx := context.Background()
signer := test.RandomSignerRFC6979(t)
objs := make([]oid.Address, len(strObjs))
for i := range strObjs {
require.NoError(t, objs[i].DecodeString(strObjs[i]))
}
c, err := client.New(client.PrmInit{})
require.NoError(t, err)
var prm client.PrmDial
prm.SetServerURI(endpoint)
require.NoError(t, c.Dial(prm))
t.Cleanup(func() { c.Close() })
var wg sync.WaitGroup
st := time.Now()
for i := 0; i < workers; i++ {
wg.Add(1)
go func() {
defer wg.Done()
for i := 0; i < 1000; i++ {
if i%100 == 0 {
fmt.Println(i)
}
a := objs[rand.Int()%len(objs)]
_, rdr, err := c.ObjectGetInit(ctx, a.Container(), a.Object(), signer, client.PrmObjectGet{})
if err != nil {
log.Println("init search:", err)
continue
}
rdr.Close()
}
}()
}
wg.Wait()
fmt.Println(time.Since(st))