Port locks with high time under LCNT

Frank Muller frank.muller.erl@REDACTED
Thu Jan 2 23:07:36 CET 2020


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/20200102/385c34a2/attachment.htm>


More information about the erlang-questions mailing list