Port locks with high time under LCNT

Frank Muller frank.muller.erl@REDACTED
Fri Jan 3 00:40:01 CET 2020


The more load we have, the more locks contention we get:

https://gist.github.com/frankmullerl/7fb9470e22869312d97011c0faf0046b

/Frank


Hi Mikael
>
> Thanks for pointing out prim_inet. To my knowledge, it’s undocumented I
> can be changed by the OTP team. That’s why I’ve avoided it at the first
> place.
>
> By the way, you probably mean prim_inet:sendfile/4 not 8, correct?
>
> I made a quick the change to my app and found that the throughput is a
> little bit better (3% faster).
>
> But these port locks are still there :-/
> Any other ideas?
>
> /Frank
>
> On Thu, Jan 2, 2020 at 5:38 PM Frank Muller <frank.muller.erl@REDACTED>
> wrote:
>
>> >
>> > Thanks to @Peti Gömöri, I was able to identify these Port locks:
>> > https://gist.github.com/frankmullerl/008174c6594ca27584ac7f4e6724bee5
>> >
>> > Some of them are taking up to 6.7sec (6707846 usec) :-/
>> >
>> > My application is serving static images by calling file:sendfile/2 (
>> https://erlang.org/doc/man/file.html#sendfile-2).
>> >
>> > Can someone please explain how I can avoid these locks or at least make
>> their impact lesser?
>>
>> Using the file module has been known to cause synchronization
>> overheads.  Often we (Klarna) use prim_file instead,
>> but it has sendfile/8 not /2.  Anyway, that may be an avenue worth
>> investigating.
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20200103/9cd546f9/attachment.htm>


More information about the erlang-questions mailing list