[ovirt-devel] [VDSM] VDSM threads as in vdsm 4.15.0
Saggi Mizrahi
smizrahi at redhat.com
Sun Jul 6 12:10:45 UTC 2014
----- Original Message -----
> From: "Francesco Romani" <fromani at redhat.com>
> To: devel at ovirt.org
> Sent: Friday, July 4, 2014 1:09:44 PM
> Subject: [ovirt-devel] [VDSM] VDSM threads as in vdsm 4.15.0
>
> Hi,
>
> I'm trying to enumerate all the daemon threads VDSM uses, as in 4.15.0
> (to be exact, as in master 3228f5dad8f488192ea62f4e3e39172832435e80)
>
> So far I got:
>
> ===
>
> SocketServer: 1 service, short lived thread per request?
>
> VDSM alone, with no VM running
>
> num what where
> --------------------------------------------------------
> 1 libVirtEventLoop lib/vdsm/libvirtconnection.py
> P TaskManager vdsm/storage/hsm.py
> 1 StorageServer vdsm/storage/storageServer.py
> 1 StorageRefresh vdsm/storage/hsm.py
> 1 ChannelListener vdsm/virt/vmchannels.py
> 1 HostStatsThread vdsm/virt/sampling.py
> 1 MomThread vdsm/momIF.py
> 1 clientIF vdsm/clientIF.py
> 1 HostMonitor mom/HostMonitor.py
> 1 StompReactor vdsm/rpc/BindingJsonRpc.py
> 1 JsonRpcServer vdsm/rpc/BidningJsonRpc.py
Will spawn one thread per request (to keep the same
behavior as the XMLRPC server. There is a parameter
in the constructor to set an alternative scheduler.)
> 1 GuestManager mom/GuestManager.py
> 1 PolicyEngine mom/PolicyEngine.py
> 1 XmlRpcServer? vdsm/rpc/BindingXMLRPC.py
> 1 Detector vdsm/clientIF.py
> 1 RPCServer mom/RPCServer.py
> 1 SocketServer stdlib, triggered by vdsm/rpc/BindingXMLRPC.py
> 1 IOProcess? vdsm/storage/outOfProcess.py
Currently one per IOProcess slave. It's for log collection.
We could consolidate it to one for all IOProcess instances if
it ever becomes an issue. There is currently only one global
IOProcess but we want to change it so there is an IOProcess instance
per domain.
> S DomainMonitor vdsm/storage/domainMonitor.py
> P/2 HSM_MailMonitor vdsm/storage/storage_mailbox.py
> P/2 SPM_MailMonitor vdsm/storage/storage_mailbox.py
>
> P = pool size (config/irs/thread_pool_size)
>
> Total: 17 + number(StorageDomains) + P * 2
> Total with defaults (P=10) = 37 + number(StorageDomains)
> Minimum storage domains: 2 (ISO + data)
> Baseline: 39 threads
>
> Per VM
> 1 sampling vdsm/virt/sampling.py
> 1 GuestMonitor mom/GuestMonitor.py
>
> ===
>
> More precise update will follow. In the meantime, anyone please feel free to
> point out omissions/errors.
>
> Thanks,
>
> --
> Francesco Romani
> RedHat Engineering Virtualization R & D
> Phone: 8261328
> IRC: fromani
> _______________________________________________
> Devel mailing list
> Devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/devel
>
More information about the Devel
mailing list