Sep. 17th, 2009

netch80: (Default)
INSERT WHEN NOT EXISTS (SELECT an_address FROM active_nodes WHERE an_address='10.0.7.141:5061') THEN INTO active_nodes (an_address, an_env, an_expires) VALUES ('10.0.7.141:5061', 2, PORTA_COMPAT.NOW() + NUMTODSINTERVAL(600,'SECOND')) SELECT NULL FROM DUAL;

вот кому и зачем тут этот последний SELECT мусора из ниоткуда.
netch80: (Default)
Ибо когда A посылает толстый поток данных на B, B - на C, C захлёбывается и просит B прикрутить краник - посылать сообщение об этом бессмысленно. Нормальным ходом оно дойдёт чёрт знает когда, а выбирать по маске с линейным перебором очереди - прямой способ убить всё вокруг нагрузкой.

Все альтернативные способы кривы. Прокси-процесс с flow control - лишняя нагрузка на пересылке. Самым разумным показалась эмуляция глобальной переменной через специальный процесс и gen_server:call() к нему на каждые 100-1000 обработанных сообщений. Главное, чтобы этот процесс не сдох сам от нагрузки.

Ну и как это называется? ;(

Profile

netch80: (Default)
netch80

January 2026

S M T W T F S
    1 23
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 3rd, 2026 03:19 pm
Powered by Dreamwidth Studios