Size: a a a

2021 January 12

KN

Konstantin Nazarov in Tarantool
R-omk
тут даже в другом дело ...  из за отсутствия такой "культуры"      приходится везде проверять  в лучшем случаем пколом ....  неговоря уже о том что бы делать номальные graceful  шатдауны последовательные  и прочие прелести коих в асинхронной  платформе до чертиков
в пайтоне для этого есть сигналы например (их в Django используют активно)
источник

KN

Konstantin Nazarov in Tarantool
там можно просто вешать хендлер на событие
источник

KN

Konstantin Nazarov in Tarantool
я сам считаю что фьючеры для таких задач это излишне
источник

AS

Andrei 🦉 Sergeev in Tarantool
R-omk
Скажите, может есть в какойто нибудь либе   какого нибудь  промис менеджера , что бы не писать страшных конструкций  типа while not feature () do  sleep(0.1)  end            а почеловечески сделать это все     , чтобы не получалось fiber hell  по аналогии с callback hell  который был в ноде пока  деферы и промисы не подвезли
для такого есть каналы, используйте их по аналогии с паттернами из го и будет вам счастье
источник

AS

Andrei 🦉 Sergeev in Tarantool
разве что мультиселекта из нескольких каналов не хватает и приходится колхозить
источник

VG

Vladislav Grubov in Tarantool
Andrei 🦉 Sergeev
разве что мультиселекта из нескольких каналов не хватает и приходится колхозить
источник

R

R-omk in Tarantool
ну события - это безусловно хорошо конечно (было бы еще повсеместное внедрение этого) , как я уже писал, иногда используются триггеры (так же редко как и эмитеры событий);    но там  есть проблемы обновления кода - отписаться подписаться,  скорее такими вещами должна заниматься более высокоуровневая библиотека
источник

MA

Mons Anderson in Tarantool
Жду предложений по синтаксической конструкции для "select как в go"
у меня пока чего-то красивого не вышло
источник

R

R-omk in Tarantool
Mons Anderson
Жду предложений по синтаксической конструкции для "select как в go"
у меня пока чего-то красивого не вышло
мой вариант не годится?
источник

R

R-omk in Tarantool
Vladislav Grubov
там непонятно че делать, если кто-то закрыл канал/конд например. Меня тоже навеяло поведение гошного select, но пока вопросов по интерфейсу достаточно много
да тоже самое что и в go  ,   там это практикуется часто  в целях аналогичных "cond:broadcast"   либо  "channel_object:close()"
источник

VG

Vladislav Grubov in Tarantool
R-omk
да тоже самое что и в go  ,   там это практикуется часто  в целях аналогичных "cond:broadcast"   либо  "channel_object:close()"
но вот например такая история:
local ch1, ch2 = fiber.channel(), fiber.channel()
fiber.create(function() ch1:put(nil) end)

local ret, ch = fiber.select(ch1, ch2):get(1)
if ret == nil then
   -- timeout? channel closed? ret == box.NULL ?
end

В принципе, можно конечно это разрешить, но будет выглядеть как-то монструозно
источник

R

R-omk in Tarantool
Vladislav Grubov
но вот например такая история:
local ch1, ch2 = fiber.channel(), fiber.channel()
fiber.create(function() ch1:put(nil) end)

local ret, ch = fiber.select(ch1, ch2):get(1)
if ret == nil then
   -- timeout? channel closed? ret == box.NULL ?
end

В принципе, можно конечно это разрешить, но будет выглядеть как-то монструозно
добавить третий ретурн
источник

R

R-omk in Tarantool
Vladislav Grubov
но вот например такая история:
local ch1, ch2 = fiber.channel(), fiber.channel()
fiber.create(function() ch1:put(nil) end)

local ret, ch = fiber.select(ch1, ch2):get(1)
if ret == nil then
   -- timeout? channel closed? ret == box.NULL ?
end

В принципе, можно конечно это разрешить, но будет выглядеть как-то монструозно
но уже сейчас закрытие от nil   или таймаута не отличается ,  так что не вижу смысла с этим бороться
источник
2021 January 13

АД

Арефьев Дмитрий... in Tarantool
Всем привет. Подскажите, пожалуйста, есть ли какие-нибудь цифры/информация о производительности роутера в картридже? Сейчас проводим нагрузочное тестирование и получили в пиках 1600 rps по http. В целом стабильно держит 1500.
источник

АД

Арефьев Дмитрий... in Tarantool
Цепочка такая http сервер и метод на чтение реализован через crud
источник

ИЕ

Илья Ермолин... in Tarantool
а чем тестировали? Лично сталкавался с особенностью Gatling - если не использовать асинхронные обработчики полноценно не получалось прокачать TNT
источник

ИЕ

Илья Ермолин... in Tarantool
пула потоков самого Gatling'а не хватало чтобы прокачать и получать быстро ответы
источник

АД

Арефьев Дмитрий... in Tarantool
Илья Ермолин
а чем тестировали? Лично сталкавался с особенностью Gatling - если не использовать асинхронные обработчики полноценно не получалось прокачать TNT
jmeter, вариант с синхроном учли, с 8 серверов нагрузку подали, начинали с 25 потоков было также в пике 1600. поставили по 250 потоков и так же получаем 1600
источник

ИЕ

Илья Ермолин... in Tarantool
ок, могу сказать что бинарный протокол у меня показывал на тех же операциях заметно большую производительность (чуть ли не в 2-3 раза), но цифры уже забылись
источник

AK

Alexey Kuzin in Tarantool
Арефьев Дмитрий
jmeter, вариант с синхроном учли, с 8 серверов нагрузку подали, начинали с 25 потоков было также в пике 1600. поставили по 250 потоков и так же получаем 1600
Через jmeter по http как-то вызываете?
источник