Appreciate the further suggestions. Always good to get more perspectives.
As it happens however, my code is already littered at thread id level with print STDERR debugging. I turn it on and off with a Getopt::Long + flag where I can choose multiple levels of debugging depending on how many -v's I specify when I start the script, and I can monitor by thread. I wrap calls that way when I need to check what's causing them to be slow, or otherwise debug.
The issue isn't "what" is causing the problem so much - I already know that in *essence* - it's the multiple calls to REST services that this particular instance of the server has added. That's what's new. What I'm curious about is *why* that's happening. Hence my wondering about the modules and / or context switch throttling.
There is no virtualization in use. It makes no sense to run any of this virtualized. The Xeon machine is the headnode of a supercomputer cluster. Want things running as fast as possible - while still being written in Perl for a host of other reasons. The AIX machine is a 20-way CPU with 64G of memory. I use as much of it natively also as I need when I need to.
Kind regards
Derek
In reply to Re^4: Multithreaded process on AIX slow
by scunacc
in thread Multithreaded process on AIX slow
by scunacc
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |