Hi Gurus,

I understand that current net-snmp agent implementation is single threaded
(and yes. I am aware of single session API). From the experience I have in
developing mib module, I will say I am very satisfied with the performance
of the agent using the big select loop in main(). That being said, I can't
help but wondering if using multi-threaded makes more sense in following
scenario:

1. all requests will be served by using delegated request. in another
words, every snmp request agent receives will cause agent sending a proxy
request to gather data. (can't use snmpd.conf config to do proxy, has to do
proxy progammatically)
2. the machine is always with multi-core CPU.

Given these 2 conditions being always true, would it make sense to
implement a multi-threaded agent to take advantage of multi-core hardware?
In current implementation, reading request from listening socket and
reading response from proxy sockets is serialized by select loop. Hopefully
with multi-threaded agent and single session API, the handling incoming
request and handling proxy response can be done in parallel by different
CPUs.

This is a big decision to say the least. So rather than diving into
experiment right away, I would rather listen to the Gurus first for any
obvious pros and cons that I overlooked or not aware of.

Thanks very much for your help !
-yun
------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Net-snmp-coders mailing list
Net-snmp-coders@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders

Reply via email to