[erlang-questions] diameter server - overload protection
anders.gs.svensson@REDACTED
anders.gs.svensson@REDACTED
Thu Jul 6 12:16:40 CEST 2017
Hi Aleksander.
Changing diameter_packet will create a fair deal of upgrade woe, but
you can use a message_cb option to diameter_{tcp,sctp} to set the time
in diameter_packet.transport_data.
(None of which is documented yet, but probably in 20.1.)
Anders
erlang-questions-request@REDACTED writes:
> Message: 10
> Date: Thu, 6 Jul 2017 11:41:34 +0200
> From: Aleksander Nycz <Aleksander.Nycz@REDACTED>
> To: erlang-questions@REDACTED
> Subject: [erlang-questions] diameter server - overload protection
> Message-ID: <a1cbbfe3-b9ca-8000-f2bb-a9ca7b339ade@REDACTED>
> Content-Type: text/plain; charset="utf-8"; Format="flowed"
>
> Hello,
>
>
> We try to implement overload protection into diameter server that uses
> erlang diameter-2.0 application.
>
> Our overload policy use queuing time and queue lenght to determine if
> server is overloaded or not.
>
>
> Currently it is quite hard to check when diameter packet was received by
> diameter stack,
>
> so I would like to add to diameter_packet record (defined in
> diameter.hrl) receive_time field like this:
>
> -record(diameter_packet,
> {header,%% #diameter_header{} avps,%% deep list() of #diameter_avp{} msg,%% fully decoded message bin,%% binary received/sent over the wire errors = [],%% list() of Result-Code | {Result-Code, #diameter_avp{}} transport_data,
> *receive_time = erlang:monotonic_time() **%% integer()* }).
>
>
> What do you think about it?
>
> It will be possible to merge this into diameter app release with OTP 20.1?
>
>
> Best Regards
>
> Aleksander Nycz
>
>
> --
> Aleksander Nycz
> Chief Designer
> Telco_021 BSS R&D
> Comarch SA
> Phone: +48 17 785 5909
> Mobile: +48 691 464 275
> website: www.comarch.pl
More information about the erlang-questions
mailing list