Size: a a a

2020 October 13

c

corsars in ErlangRus
Вах вах ! Смотрю пока
источник

SP

Sergey Prokhorov in ErlangRus
persistent term? он один раз при создании пишется - туда кладётся мутебельный counters
источник

DZ

Danil Zagoskin in ErlangRus
бенчмаркал как-нибудь? Например, 50000 клиентов, которые постоянно что-то хотят от dummy-сервера, а тем временем смотреть в lcnt?
источник

DF

Denis Fakhrtdinov in ErlangRus
А, понятно.
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Sergey Prokhorov
persistent term? он один раз при создании пишется - туда кладётся мутебельный counters
Это крутая тема, как по мне. Мутабельную фигню хранить в pts
источник

SP

Sergey Prokhorov in ErlangRus
не, ну для временных процессов конечно не вариант. для какого-то сервера который постоянно живёт должно быть ок
источник

SP

Sergey Prokhorov in ErlangRus
Danil Zagoskin
бенчмаркал как-нибудь? Например, 50000 клиентов, которые постоянно что-то хотят от dummy-сервера, а тем временем смотреть в lcnt?
не, не бенчмаркал
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Źmićer Rubinštejn
Это крутая тема, как по мне. Мутабельную фигню хранить в pts
Я так храню референсы от нифок
источник

SP

Sergey Prokhorov in ErlangRus
Sergey Prokhorov
не, не бенчмаркал
но можно попробовать. У меня просто там гвоздями прибито всё пока. каждое сообщение пишется в systemd UNIX сокет (логгер). Даже пока не почитстл как следует чтобы нормально тесты написать
источник

DZ

Danil Zagoskin in ErlangRus
я когда-то защиту от переполнения очереди так делал:
 * сервер посылает сообщение сам себе, в котором написано время отправки
 * когда сообщение приходит, измеряется примерное время обработки очереди
   * если очередь проворачивается долго, сразу запускается следующий цикл, а в ets пишется «хватит меня спамить»
   * если всё прошло быстро — ставится таймер на следующую проверку, а в ets пишется «до следующей проверки плюс чуть-чуть можно обращаться ко мне»
 * клиент перед отправкой убеждается, что в ets лежит разрешение, срок действия которого не истёк
источник

DZ

Danil Zagoskin in ErlangRus
Danil Zagoskin
я когда-то защиту от переполнения очереди так делал:
 * сервер посылает сообщение сам себе, в котором написано время отправки
 * когда сообщение приходит, измеряется примерное время обработки очереди
   * если очередь проворачивается долго, сразу запускается следующий цикл, а в ets пишется «хватит меня спамить»
   * если всё прошло быстро — ставится таймер на следующую проверку, а в ets пишется «до следующей проверки плюс чуть-чуть можно обращаться ко мне»
 * клиент перед отправкой убеждается, что в ets лежит разрешение, срок действия которого не истёк
это не спасает от сценария «миллион сообщений за сотую долю секунды», но такой сценарий маловероятен и всё равно потом разгребётся.
Но зато даёт возможность достаточно редко писать в общее хранилище
источник

V

Vasilii Demidenok in ErlangRus
@seriy_ps  интересный хинт с persistent_storage + counters, жаль их коробки такое не доступно =(
источник

PK

Petr Kozorezov in ErlangRus
Да, тема классная в целом, я на такой штуке (counters + pts) делал генерацию для snowflake айдишников (там есть counter для ноды).
источник

AP

Alexander Petrovsky in ErlangRus
Sergey Prokhorov
persistent term? он один раз при создании пишется - туда кладётся мутебельный counters
есть же атомики
источник

V

Vasilii Demidenok in ErlangRus
с ними будут те же проблемы - нет способа получить доступ к самому атомику без референса, а референс ещё надо октуда-то взять
источник

AP

Alexander Petrovsky in ErlangRus
ну есть хак, с компиляцией модуля, но это хак, будет как и с персистент стораджем
источник

V

Vasilii Demidenok in ErlangRus
тогда я не понимаю причём тут атомики
источник

SP

Sergey Prokhorov in ErlangRus
Vasilii Demidenok
@seriy_ps  интересный хинт с persistent_storage + counters, жаль их коробки такое не доступно =(
типа сразу чтоб к counters был доступ по имени?
источник

V

Vasilii Demidenok in ErlangRus
да
источник

V

Vasilii Demidenok in ErlangRus
типо где-то инициализировал.. а потом в коде из разных процессов просто работаешь по имени
источник