[erlang-questions] How to test multi-pollset?

pablo platt pablo.platt@REDACTED
Fri Mar 9 11:58:49 CET 2018


On Fri, Mar 9, 2018 at 12:38 PM, Lukas Larsson <lukas@REDACTED> wrote:

> Hello!
>
> On Thu, Mar 8, 2018 at 8:43 PM, pablo platt <pablo.platt@REDACTED> wrote:
>
>> Hello,
>>
>> 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
> systems.
>
> Ideally it would be be best if you could recompile beam with the
> --build-id linker flag. i.e.
>
> > ./configure LDLAGS="-Wl,--build-id"
>

I'll try to compile with kerl:
export LDLAGS="-Wl,--build-id" && kerl build git
https://github.com/erlang/otp 9bc4a096025254aed157e4753743be61ce1f7489
master

How can I verify that the flag was actually used?


>
> That way it is possible to use "perf archive"[1] to collect the symbols of
> beam.smp.
>
> > 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
>
>
Can I do it on a dev machine with a smaller load or does it have to be on a
real production server?
What's the effect of perf (and msacc) on a production system? When I tried
to do erlang profiling in the past it crashed my server.


> 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.
>
> Lukas
>
> [1]: If the "perf archive" command does not work (which it doesn't on my
> machine), just download the script from here: https://elixir.bootlin.
> com/linux/v3.18/source/tools/perf/perf-archive.sh
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20180309/78552bf6/attachment.htm>


More information about the erlang-questions mailing list