Puncte:1

Ceph RGW: solicitări lente `list_bucket`

drapel pk

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.

drapel us
Am citit că 1M de obiecte per găleată este o valoare rezonabilă din punct de vedere al performanței, 60M este destul de mult. Nu sunt sigur dacă mai poți face ceva, dar [lista de corespondență pentru utilizatorii ceph](https://lists.ceph.io/hyperkitty/list/[email protected]/) este întotdeauna o bună loc pentru a căuta și a întreba dacă nu găsiți răspunsuri în postările existente.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.