nik, там если порыться, много вводных данных. Вроде как два тестовых стенда на разных картах. Может тесты у Викинга с разных машин. Нужно пояснение. Хотя я еще в прошлый раз попытался подметить про правильность софта.
nik, очередь одна, а ранудтрип разный) важны нюансы и их может быть множество, особенно если метки собирают с боевых подключений. Очень разные показатели могут быть, например, с разных стратегий отличающихся по тому, как они посылают заявки — тейкер/мейкер. У тейкеров будет стабильно длинее раундтрип чем у мейкеров. Происходит это по тому, что человек который котирует он всегда в рынке в том числе когда цена «вкусная» и когда цена находится в низковолатильной фазе и никому не нужны — в таком раскладе средний раундтрип будет занижен.
Если человек торгует только тейкером, то у него раундтрип есть только тех заявок, которые были «вкусные» т.е. тех которые хотело бОльшее кол-во участников рынка а это уже значит что возрастает нагрузка на шлюз и далее увеличенный раундтрип.
И дальше если разбирать, то можно вот еще что нарыть: участников на разных инструментах разное кол-во, кол-во выпущенных заявок на «вкусные» цены, следовательно тоже разное. Очевидно, на Si-шке в разы больше трейдят, чем на остальных и следовательно в пиковые моменты, когда цена «вкусная», скажем на лукойле, в шлюз посылается транзакций гораздо меньше, чем в такие же моменты для Si-шки. А учитывая ограниченные возможности наших шлюзов и раундтрип возрастает в одни моменты сильнее чем в другие.
Я думаю, что если делать чистые тесты, например просто кидать заявку в пустоту каждые n-секунд по разным инструментам, то в этом случае раундтрип у них будет одинаковый. А вот если снимать метки по живым стратегиям, то разница будет неизбежна и чем слабее пропускная способность шлюза, тем сильнее будет разница.
nik, задержка возникает не там, промы грубо говоря занимаются только раздачей маркет даты, транзакционные сообщения там пыль, объемы трафика не сопоставимы.
Так будьте технически грамотными людьми, разрисуйте подробней ваш test harness, покажите где вы ставите метки и как по этим меткам вы вычисляете latency.
Вы публикуете результат своего исследования на достаточно широкую публику, при этом вы коммерческая организация, а не исследовательская, но после первого прочтения складывается впечатления, ну очередной «брат финансист» измеряет, что-то на проводах, а потом данные волшебным образом попадают в компьютер.
maxman, мы аппаратно ставим метки на пакеты на сетевой карте тестирующего сервера. Таким образом измеряется time to market тестируемого сервера с роботом
Для каждого типа измерения должна быть своя метрика. И четкое понимание, что вы измеряете, в данном контексте между чем и чем осуществляется замер.
Допустим, если вы, что покрутил с драйверами карточек 10G и настройками операционки, поставьте простой тест.
Эмуляция market data ( 1/2 UDP round trip ) отправляете с одного сервера UPD пакет 64 байта с меткой, в обратку эмулируете execution feed (1/2 TCP round trip)
отправляете TCP пакет 400 байт с меткой. Прогнали объем данных, сохранили логи, потом скриптом прошлись посчитали стату, показали совой min, max, average.
Вот ваши абсолютные значения и понятно, что и как вы измеряете.
Если речь про вашу библиотеку и вы делаете замеры трактов обработки данных, то тоже самое, сперва опишите, что вы измеряете и самое главное как.
Не хочу комментировать измерения на примере вашей стратегии, это как то application specific очень. На мой взгляд banchmark должен быть по generic стадиям обработки. Допустим ваша замечательная библиотека декодирует поток заявок, фильтрует, нормализует данные и строит стакан, далее вы предоставляете ваше API для дальнейшей работы. Опять разрисуйте test harness, покажите, что вы, допустим, измеряете от выхода MAC на вашей 10G карточки (где и ставится аппаратная метка) до callback'a вашего API. Возьмите один торговый день на moex постройте гистограмму распределения плотности потока UDP пакетов рыночных данных.
Сразу будет понятно, что 99.99% сообщений как раз 64 байта (2 инкрементальных апдейта). Вот и измерьте вашу латентность на 50%, 99%, 99.9% и 99.99% сообщений. Тогда ваши результаты будут понятны и интересны широкому кругу людей.
Ну и не забываем, что по классике computer science latency это величина измеряющая задержку от первого байта на входе системы до первого байта на выходе системы. А от первого на входе до последнего на выходе это уже throughput.
По графикам получается, что FIX быстрее всех как я понял? А если сравнивать FIX / PLAZA2 на SPECTRA? А то я слышал, что спектра работает на плазе и фикс в неё перепаковывается, поэтому на срочке FIX должен PLAZA2 проигрывать.
А подобные данные по сравнению FAST/PLAZA2 у вас есть? Интересно проигрывает ли фаст плазе по тому же потоку сделок и ордеров.
Группа «Аэрофлот» опубликовала операционные результаты за апрель
В апреле 2026 года Группа «Аэрофлот» перевезла 4,4 млн пассажиров, на 0,5% больше апреля 2025 года. ✈️ На внутренних линиях перевезено 3,2 млн пассажиров, на 2,1% меньше, чем годом ранее, что...
⚡️ Завтра СД Займера даст рекомендацию по дивидендам I квартала
Уже завтра, 14 мая, Совет директоров Займера рассмотрит вопрос о дивидендах за I квартал 2026 года.
❗️Рекомендация по дивидендам будет озвучена в пятницу, 15 мая, вместе с объявлением...
❗️22 мая Совет директоров МГКЛ рассмотрит вопрос рекомендации выплаты дивидендов
ПАО «МГКЛ» сообщает, что 22 мая состоится заседание Совета директоров, на котором будет рассмотрен вопрос рекомендации выплаты дивидендов акционерам компании.
Напомним, что с момента IPO...
Александр Стаин, я тоже всё не буду иметь право. Перепощу лишь ответы на заданные тут вопросы. А точнее на те из них, на которые ответят. А последнее не факт, т.к. прошлый госа даже на ключевой воп...
Ядрёный Гендальф, в воскресенье 17 в ВТБ день инвестора. могут дивы объявить.
максимальная планка в выходные +3%, а вот в понедельник могут по пустому стакану несколько планок подряд нарисовать…...
Сокол, в принудительном порядке? Без решения суда это будет означать самоуправство, можно подать иск, и в 100% случаях выиграть его с компенсацией морального вреда, ещё и по 98 ГПК взыскать судебны...
XAU/USD: золото готовит платформу для очередной волны снижения Золото за прошедший период так и не смогло существенно сдвинуться, оставшись колебаться в прежнем коридоре. Снижение до 4-недельного мини...
Группа HeadHunter представит свои финансовые результаты за 1К 2026 г. в пятницу, 15 мая.
Согласно нашим оценкам, начало года было сложным для компании из-за слабой рыночной конъюнктуры, и выручк...
Анализ РСБУ компании "Автоассистанс" за 2025г
📊 Кредитный рейтинг: НКР (03.12.25): повысили кредитный рейтинг с «ВВ» до «ВВ+» (прогноз стабильный) — рейтинг составлен на основе МСФО...
да и для подобных граффиков лучше строить распределение.
Если человек торгует только тейкером, то у него раундтрип есть только тех заявок, которые были «вкусные» т.е. тех которые хотело бОльшее кол-во участников рынка а это уже значит что возрастает нагрузка на шлюз и далее увеличенный раундтрип.
И дальше если разбирать, то можно вот еще что нарыть: участников на разных инструментах разное кол-во, кол-во выпущенных заявок на «вкусные» цены, следовательно тоже разное. Очевидно, на Si-шке в разы больше трейдят, чем на остальных и следовательно в пиковые моменты, когда цена «вкусная», скажем на лукойле, в шлюз посылается транзакций гораздо меньше, чем в такие же моменты для Si-шки. А учитывая ограниченные возможности наших шлюзов и раундтрип возрастает в одни моменты сильнее чем в другие.
Я думаю, что если делать чистые тесты, например просто кидать заявку в пустоту каждые n-секунд по разным инструментам, то в этом случае раундтрип у них будет одинаковый. А вот если снимать метки по живым стратегиям, то разница будет неизбежна и чем слабее пропускная способность шлюза, тем сильнее будет разница.
И sockperf умеем гонять
Так будьте технически грамотными людьми, разрисуйте подробней ваш test harness, покажите где вы ставите метки и как по этим меткам вы вычисляете latency.
Вы публикуете результат своего исследования на достаточно широкую публику, при этом вы коммерческая организация, а не исследовательская, но после первого прочтения складывается впечатления, ну очередной «брат финансист» измеряет, что-то на проводах, а потом данные волшебным образом попадают в компьютер.
SiXX_test HWAdds 0 < 407; 2 < 407; 4 < 407; 8 < 21; 10 < 0; 12 < 0; 16 < 0; 32 < 0; 48 < 0; 64 < 0; avg = 6582nsec
Для каждого типа измерения должна быть своя метрика. И четкое понимание, что вы измеряете, в данном контексте между чем и чем осуществляется замер.
Допустим, если вы, что покрутил с драйверами карточек 10G и настройками операционки, поставьте простой тест.
Эмуляция market data ( 1/2 UDP round trip ) отправляете с одного сервера UPD пакет 64 байта с меткой, в обратку эмулируете execution feed (1/2 TCP round trip)
отправляете TCP пакет 400 байт с меткой. Прогнали объем данных, сохранили логи, потом скриптом прошлись посчитали стату, показали совой min, max, average.
Вот ваши абсолютные значения и понятно, что и как вы измеряете.
Если речь про вашу библиотеку и вы делаете замеры трактов обработки данных, то тоже самое, сперва опишите, что вы измеряете и самое главное как.
Не хочу комментировать измерения на примере вашей стратегии, это как то application specific очень. На мой взгляд banchmark должен быть по generic стадиям обработки. Допустим ваша замечательная библиотека декодирует поток заявок, фильтрует, нормализует данные и строит стакан, далее вы предоставляете ваше API для дальнейшей работы. Опять разрисуйте test harness, покажите, что вы, допустим, измеряете от выхода MAC на вашей 10G карточки (где и ставится аппаратная метка) до callback'a вашего API. Возьмите один торговый день на moex постройте гистограмму распределения плотности потока UDP пакетов рыночных данных.
Сразу будет понятно, что 99.99% сообщений как раз 64 байта (2 инкрементальных апдейта). Вот и измерьте вашу латентность на 50%, 99%, 99.9% и 99.99% сообщений. Тогда ваши результаты будут понятны и интересны широкому кругу людей.
Ну и не забываем, что по классике computer science latency это величина измеряющая задержку от первого байта на входе системы до первого байта на выходе системы. А от первого на входе до последнего на выходе это уже throughput.
Я бы сказал, отпечатались тяжелым наследием.
А подобные данные по сравнению FAST/PLAZA2 у вас есть? Интересно проигрывает ли фаст плазе по тому же потоку сделок и ордеров.