Am o instalație ceph-rgw cu o găleată mare (~60M obiecte) și 16 osd-uri, indexul găleții este fragmentat în 997 shard-uri. În acest mediu, listarea unui singur director durează mai mult de 30 de secunde:
$ time rclone lsd t:bucket/non/existent/path/ --contimeout=1h --timeout=1h
0m34.816s reale
Acest lucru este foarte enervant și clienții (de exemplu, rclone însuși) pot face o operațiune list-dir înainte de un PUT pentru a verifica/verifica ceva. (Prevenirea clienților să trimită list_objects/list_bucket nu este o opțiune bună)
Jurnalul de rgw daemon
este normal.O parte din jurnal este:
08:57:45.267+0000 7f0492db2700 1 ====== începerea unei noi cereri req=0x7f05039a9620 =====
08:57:45.267+0000 7f0492db2700 20 req 412648 0.000000000s final domain/bucket subdomain= domain= in_hosted_domain=0 in_hosted_domain_s3website=0 s->infos->info=0
08:57:45.267+0000 7f0492db2700 10 req 412648 0,000000000s cerere canonică = GET
08:57:45.267+0000 7f0492db2700 2 req 412648 0,000000000s s3:list_bucket verificarea parametrilor operaționali
08:57:45.267+0000 7f0492db2700 2 req 412648 0,000000000s s3:list_bucket pre-execuție
08:57:45.267+0000 7f0492db2700 2 req 412648 0,000000000s s3:list_bucket în execuție
08:57:45.267+0000 7f0492db2700 20 req 412648 0.000000000s s3:list_bucket RGWRados::Bucket::List::list_objects_ordered încercarea de pornire 1
08:57:45.267+0000 7f0492db2700 10 req 412648 0.000000000s s3:list_bucket RGWRados::cls_bucket_list_ordered: :bucket[e6fb9c7c)/81997000000000000000000s s3:list_bucket RGWRados::cls_bucket_list_ordered: :bucket[e6fb9c7c)]-8197000000000000000000000000000s existent/path/" num_entries=1001, list_versions=0, expansion_factor=1
08:57:45.271+0000 7f0492db2700 10 req 412648 0.004000000s s3:list_bucket RGWRados::cls_bucket_list_ordered cerere de la fiecare dintre cele 997 de fragmente pentru a obține un total de 8000 intrări
08:58:07.495+0000 7f04efe6c700 10 librados: Objecter returnat de la apelul r=0
08:58:08.779+0000 7f04cd627700 4 rgw rados thread: fără peer, ieșire
08:58:18.803+0000 7f0492db2700 2 req 412648 33.535980225s s3:list_bucket completing
08:58:18.803+0000 7f047bd84700 2 req 412648 33.535980225s s3:list_bucket op status=0
08:58:18.803+0000 7f047bd84700 2 req 412648 33.535980225s s3:list_bucket http status=200
08:58:18.803+0000 7f047bd84700 1 ====== req done req=0x7f05039a9620 op status=0 http_status=200 latency=33.535980225s ======
08:58:18.803+0000 7f047bd84700 1 bestie: 0x7f05039a9620: 192.168.1.1 - rgwuser [10/Nov/2021:08:57:45.267] "+0x7f05039a9620: 192.168.1.1 - rgwuser [10/Nov/2021:08:57:45.267] "+0x7f05039a9620] "+0x7f05039a9620" 1000&prefix=non%!F(MISSING)existent%!F(MISSING)path%!F(MISSING) HTTP/1.1" 200 413 - "rclone/v1.57.0" - latency=33.535980225s
Detaliul mediului este: Versiunea Ceph: 16.2.5 Instalat cu rook, Fiecare OSD este de aproximativ ~4T cu un dispozitiv de metadate SSD 256G.