FerretDB / dance

FerretDB integration testing

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Investigate workloadc performance problem

b1ron opened this issue · comments

The performance is probably related to the fact that we do not push down non-ObjectIDs, I read this comment and came to that conclusion. FerretDB/FerretDB/issues/3181 should help with performance as it uses a limit of 1, as well FerretDB/FerretDB/issues/3235 for string pushdowns.

I think this pattern I noticed doesn't seem to be of concern as it's the cumulative value over time.

The records generated for the workload use string _id values and a bunch of binary data, see an example document below.

> use ycsb
switched to db ycsb
> db.usertable.findOne()
{
	"_id" : "user6284781860667377211",
	"field8" : BinData(0,"dVZmelhXZmlHY1V6QXF2a1BxUVR6UU5yZmt1ZXVJSGxQTkJLQ2dlRUVFeVdvQ0RselNOUFlDVVh2eXhSZkNUem9QbWxEdGFOS1RNWkxZeUhZSlRlVGVPdkRKUXJBSFVHUXZ3Qw=="),
	"field9" : BinData(0,"SUtlaERjWWhyS0hIbUtSTXRuU1VEd3JOR01oelBVQ0hxU0tDdG9pRUNtc2JRTnN3SUdOQ3NhRmVpUnlWRGZkbXVWUlBwTFRMQ2RkcWlpeHpTWW1jZ1d1WldWWU9SeE5HdUJnSA=="),
	"field7" : BinData(0,"T1dLUmtVdlFtTXNFdkxGeEdWdFRtd2NiSmdYbEd3c3NGc0lTbmxVRFN0SkVNRHBoQ0tLelBReE1tZFFGUFl5UHROTXZFSnVKb1dzblZIdlpSV0dMVmdUd2tmZW1PSWxyamFacw=="),
	"field3" : BinData(0,"TllzaVBmZEp5RmVDbEZab0FRaE1LQnpBa2hLVHFjUmZvWVBrUWhUVkZMekVZS1Fra2lJUU1IbUFwZEp1aUNvVEtITWdkcnZDZGJMQWhhQUp0eXBCU1lKcWNSUlpoTnJTRnBLQQ=="),
	"field5" : BinData(0,"Q09td2ZhTVpTSEtCS1dCYnZZUnRReUFPU3dpZmlsdkJ5RWtKaFV1VWFOQURMdUZKbG9IQk5qZHRVa1NJRllOSFlNdHVIc29MaHF0V3hTUHdGT2pCVVVFanlJZnZsT3lUS0VHUQ=="),
	"field6" : BinData(0,"Z3dPTlZxdmpHbnR2a05PWm9lc3Job0RlS05PUGFkV1lpU3RRUFdxRWZpTW1HTmh3d0JtUUZUbU1UQVZHR1FscXhkcEVWaElncnhSdUZHRElrdnNhaUhpVnJhV3JKeEdseHlhVg=="),
	"field1" : BinData(0,"eG5YbWJnZVRVZEFXQ2Z2QlhRTE9vY1hlVmZqT2VqdW9lV1VpdURmc0dUcENlSW1DUlN3S3hJZExJQ2ZZUXNUYUhpU0ViV1pUbXFkd3l1VXZWSEtmVFRwTlF2R2JJTmxUQlV4Qg=="),
	"field2" : BinData(0,"dnV0eWZGcUhoSmR3TW9FeWlEeGtiYmx3dEVHQ1hzR1BJa1hmSER2THFDdVZhQ3ZnbHJFQ0t1Q2x0U0VWTWhKVEZUTnFrd0FHSk9CZEt4VGJIY1RNeGl6ZEFNTGdOVEt6SUVUZg=="),
	"field4" : BinData(0,"eE1CekZkS2JMb0FRR2NSQklQS1VsWVpaUFlWU2NnQVdpQ1J4bWdDb0hrQ2F1VU9nYVllU3ZqWER6bnh6SFVOQlJGeVdYQUhqeVhaaHVpVEZFc1ZTSGZGZ1VOZ29nT2RtUVJBRA=="),
	"field0" : BinData(0,"U3Z4SlpOR0FZSkVJWnZDdnZVYkZhWE5yTU9pcGF1bElSd0N1b0NKZ0tXdUtwVnpOd3JmWFhwbXVXVnRDbkFadHdveURyZ2FZd2lLQlhRemdlUFBnZW1KZ215aGJ5VnNET25rcg==")
}

See comment here for performance gain from pushing down strings.