I just want to note that if you want to scale `rgw_max_objs_per_shard` for versioned buckets, there's a special case where you have 6 index entries per object: deleted versioned objects.
```
$ radosgw-admin bi list --bucket=version | jq '.[]|select(.idx|contains("deleted.txt"))|{type,idx}'
{
"type": "plain",
"idx": "deleted.txt"
}
{
"type": "plain",
"idx": "deleted.txt\u0000v912\u0000iBbqNwu1mPL81fzD.s0aw1f3KzoRp-01"
}
{
"type": "plain",
"idx": "deleted.txt\u0000v913\u0000ig3Ow6494L-Adys21ghi4hPkmyqjG8SH"
}
{
"type": "instance",
"idx": "�1000_deleted.txt\u0000iBbqNwu1mPL81fzD.s0aw1f3KzoRp-01"
}
{
"type": "instance",
"idx": "�1000_deleted.txt\u0000ig3Ow6494L-Adys21ghi4hPkmyqjG8SH"
}
{
"type": "olh",
"idx": "�1001_deleted.txt"
}
```
So if each object has exactly one version, you get a factor of 4 between the number of index entries and the number of objects, but it tends to a factor of 2 when you increase the number of versions per object. However, it can get as bad as a factor of 6 if every versioned object is deleted.
So I don't know what the ideal scaling factor would be. 6 would ensure that we never underestimate the real value, but it seems very unlikely to get that large in practice. And for users who keep many versions of every object, even a factor of 4 would be overkill.