[erlang-questions] How to test multi-pollset?
Fri Mar 9 11:38:17 CET 2018
On Thu, Mar 8, 2018 at 8:43 PM, pablo platt <pablo.platt@REDACTED> wrote:
> Updating with my test.
> I've been using master in production for two days on 4 servers.
> Each server has 4 vCPUs.
> Each server handles about 10K UDP packets per second. Approx 1K incoming
> packets per second and 9K outgoing packets per second.
> I didn't see any issues. Seems to work fine.
That's great! Thanks for testing it!
CPU load in OTP Master 21 increased compared to OTP 20 from 58% to 68%.
> Does this make sense?
hmm, no not really. I would have expected it to decrease.
Would you mind helping me to figure out why the CPU usage has gone up?
To start with I'd like to have a look at the output of
1> msacc:start(30000), msacc:print().
for both versions in the Erlang shell. Using this I hope to be able to
narrow down where the extra CPU time is being spent.
Also it would great if you could run a few perf commands to compare the
Ideally it would be be best if you could recompile beam with the --build-id
linker flag. i.e.
> ./configure LDLAGS="-Wl,--build-id"
That way it is possible to use "perf archive" to collect the symbols of
> sudo perf stat -d -p $BEAMPID -- sleep 30 2> stat.log
> sudo perf record -g -p $BEAMPID -- sleep 30
> sudo perf archive
> sudo tar czf $BEAMPID.tar.gz stat.log perf.data.tar.bz2 perf.data
and send me the tar.gz for OTP-20 and master.
If you cannot re-compile erts with --build-id, then just do "sudo perf
report" and send me a screenshot of the tools shows you.
If you prefer to this off-list, we can do that as well.
: If the "perf archive" command does not work (which it doesn't on my
machine), just download the script from here:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions