Hi all,
When accessing the object store service with high traffic, PG down will cause 
the rgw connection
 to be occupied by references to the failed object and The rgw connection 
becomes unavailable.
Is there a workaround to solve this phenomenon?

system-graph(repost)
                                           default.rgw.buckets.data(4k+2m 
size=6 min_size=5)
+---+           +----+           +-----+    +-pg1----------------------------+
USER+-s3cmd--->-+RGW +-get Obj->-+ceph +--+-+*osd1,*osd2,*osd3,osd4,osd5,osd6| 
DOWN
+---+           +----+           +-----+  | +--------------------------------+
               x100 connection pool       |
               (100 workers)              | +-pg2----------------------------+
                                          +-+osd7,osd8,osd9,osd10,osd11,osd12| 
ACTIVE
                                          | +--------------------------------+
                                                        ;;

PROBLEM CONDITION
 *The number of connections for rgw is defined by the default num_threads value 
of 100.
 (rgw can send and receive 100 simultaneous I/O requests.)
 *pg1 goes down due to osd failure (osd.1, osd.2, osd.3).
 *A fetch request to pg down will wait until the pg is restored.
 *This occupies one connection of rgw.
  Repeat
 *Eventually, num_threads (default=100) is exceeded, and the client cannot 
connect to rgw.

PROBLEM
I think it's a problem that PG down takes up all rgw connections.
I tried increasing num_threads (rgw_thread_pool_size) and placing multiple 
rgw's, but they were not useful in high traffic environments.

Since rgw only retrieves objects, no one knows that pg1 was down on the request 
to ceph.
Is there any way to detect pg down earlier and finish the get Obj process?

-Tsuyoshi.
_______________________________________________
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io

Reply via email to