Score:1

Ceph RGW: คำขอ `list_bucket` ที่ช้า

ธง pk

ฉันมีการติดตั้ง ceph-rgw พร้อมที่ฝากข้อมูลขนาดใหญ่ (วัตถุ ~ 60M) และ 16 osds ดัชนีที่ฝากข้อมูลถูกแบ่งออกเป็น 997 เศษ ในสภาพแวดล้อมนี้ รายชื่อไดเร็กทอรีเดียวใช้เวลามากกว่า 30 วินาที:

$ เวลา rclone lsd t:bucket/non/existent/path/ --contimeout=1h --timeout=1h
0m34.816s จริง

สิ่งนี้น่ารำคาญมากและลูกค้าอาจ (เช่น rclone เอง) ทำ list-dir op ก่อน PUT เพื่อตรวจสอบ/ยืนยันบางสิ่ง (การป้องกันไม่ให้ไคลเอนต์ส่ง list_objects/list_bucket ไม่ใช่ตัวเลือกที่ดี)

บันทึกของ ภูต rgw เป็นเรื่องปกติส่วนหนึ่งของบันทึกคือ:

08:57:45.267+0000 7f0492db2700 1 ====== กำลังเริ่มคำขอใหม่ req=0x7f05039a9620 =====
08:57:45.267+0000 7f0492db2700 20 req 412648 0.000000000s โดเมนสุดท้าย/bucket โดเมนย่อย = domain= in_hosted_domain=0 in_hosted_domain_s3website=0 s->info.domain= s->info.request_uri=/bucket
08:57:45.267+0000 7f0492db2700 10 req 412648 0.000000000s คำขอมาตรฐาน = GET
08:57:45.267+0000 7f0492db2700 2 req 412648 0.000000000s s3:list_bucket กำลังตรวจสอบพารามิเตอร์
08:57:45.267+0000 7f0492db2700 2 req 412648 0.000000000s s3:list_bucket กำลังดำเนินการล่วงหน้า
08:57:45.267+0000 7f0492db2700 2 ต้องการ 412648 0.000000000s s3:list_bucket กำลังดำเนินการ
08:57:45.267+0000 7f0492db2700 20 req 412648 0.000000000s s3:list_bucket RGWRados::Bucket::List::list_objects_ordered เริ่มต้นความพยายาม 1
08:57:45.267+0000 7f0492db2700 10 ต้องการ 412648 0.000000000s s3:list_bucket RGWRados::cls_bucket_list_ordered: :bucket[e6fb9c7c-74a2-4819-a0ed-e740d", มีอยู่จริง/เส้นทาง/" 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 คำขอจากแต่ละรายการจาก 997 ชาร์ดสำหรับ 8 รายการเพื่อรับ 1001 รายการทั้งหมด
08:58:07.495+0000 7f04efe6c700 10 librados: Objecter ที่ส่งคืนจากการโทร r=0
08:58:08.779+0000 7f04cd627700 4 เธรด rgw rados: ไม่มีเพื่อน กำลังออก
08:58:18.803+0000 7f0492db2700 2 req 412648 33.535980225s s3:list_bucket เสร็จสิ้น
08:58:18.803+0000 7f047bd84700 2 คำขอ 412648 33.535980225s s3:list_bucket op status=0
08:58:18.803+0000 7f047bd84700 2 คำขอ 412648 33.535980225s s3:list_bucket http สถานะ=200
08:58:18.803+0000 7f047bd84700 1 ====== เสร็จสิ้นความต้องการแล้ว req=0x7f05039a9620 op status=0 http_status=200 latency=33.535980225s ======
08:58:18.803+0000 7f047bd84700 1 beast: 0x7f05039a9620: 192.168.1.1 - rgwuser [10/พ.ย./2021:08:57:45.267 +0000] "GET /bucket?delimiter=%!F(MISSING)&max-keys= 1,000&คำนำหน้า=ไม่ใช่ %!F(MISSING)existent%!F(MISSING)path%!F(MISSING) HTTP/1.1" 200 413 - "rclone/v1.57.0" - latency=33.535980225s

รายละเอียดสภาพแวดล้อมคือ: Ceph เวอร์ชัน: 16.2.5 ติดตั้งด้วย rook แต่ละ OSD ประมาณ ~4T ด้วยอุปกรณ์เมตาดาต้า SSD 256G

us flag
ฉันได้อ่านมาว่าวัตถุ 1 ล้านชิ้นต่อที่ฝากข้อมูลเป็นประสิทธิภาพที่คุ้มค่า แต่ 60 ล้านนั้นค่อนข้างมาก ฉันไม่แน่ใจว่าคุณทำอะไรได้อีกไหม แต่ [รายชื่ออีเมลผู้ใช้ ceph](https://lists.ceph.io/hyperkitty/list/[email protected]/) นั้นดีเสมอ ที่สำหรับค้นหาและถามหากคุณไม่พบคำตอบในโพสต์ที่มีอยู่

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา