I never knew about POE::Devel::Profiler and I'm learning rapidly about
it now with my own visualizer. Most cool. However it highlights
something I've wanted for a while: names on sessions. I'm just referring
to something symbolic that can be attached to sessions in order to work
out in debuggers/profilers what's going on instead of session ID's like
'4822813', but without the side-effects that aliases have. Is there a
way of doing this? If not, could it be in an enhancement request?
Nick.
Michael Giambalvo wrote:
I'm working on improving the performance of our POE based application.
Our application consists of clients built with POE::NFA that use a
POE::Component::Client::TCP to connect to a server. It seems that we
max CPU utilization at around 300 clients.
I'm making use of POE::Devel::Profiler, and I'm trying to trim the fat
from our events as much as possible. However, I was wondering if
there might be ways I can improve performance of the POE Kernel
itself.
Right now, we're using the default loop. Would Glib or some other
loop perform better? Is there a particular kernel or system
configuration that can significantly affect POE performance?
Would sessions be significantly faster than NFAs? Is there a way to
improve performance of the TCP client component?
Also, does anyone know roughly how many events per second POE can
handle? I did a barebones test that seemed to indicate 6000 events
per second, but I don't think my test was representative of the
conditions you have when you have hundreds of sessions throwing events
around.
Thanks.