Hi,
From the code, each pipe (contains a TCP socket) will fork 2 threads,
a reader and a writer. We really observe 100+ threads per OSD daemon with 30
instances of rados bench as clients.
But this number seems a bit crazy, if I have a 40 disks node, thus I
will have 40 OSDs, we plan to have 6 such nodes to serve 120 VMs from
OpenStack. Since a RBD is distributed across all the OSDs, we can expect, for
every single OSD daemon, we will have 120 TCP socket, that means 240 threads.
Thus for 40 OSDs per node, we will have 9600 threads per node. This thread
number seems incredible.
Is there any internal mechanism to track and manage the number of
pipes ? and another question may be , why we need such a lot threads ? why not
epoll?
Xiaoxi
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html