in reply to Biting off more with LWP and problems with blocking forks()?

Can I increase that on my end, programatically, to speed things up?

Try playing with the $size parameter in LWP::UserAgent::request().

I notice that 90% or more of the script's execution time is spend inside the wait() portion of ForkManager. Why does it sit there so long, blocking on forked children?

Well, yes. Why? Normally, the purpose of the parent process is to manage "worker" threads (processes). So, the parent process usually doesn't perform any useful tasks other than dispatching new processes to handle requests. If you need your parent process to do something while children are doing their stuff, you may want to investigate the use of waitpid() in its non-blocking mode -- waitpid(-1, WNOHANG). I'm not familiar with Parallel::ForkManager though and I'm not sure if there's a method that supports this functionality.

--perlplexer
  • Comment on Re: Biting off more with LWP and problems with blocking forks()?