184 похожих чатов

Привет всем, не подскажите может есть npm клиент через tcp

а не http?

24 ответов

9 просмотров

не сталкивался. все известные клиенты через http. на github-е не пробовали искать?

Pavel-Mykhailov Автор вопроса
Dmitrii Shakshin
не сталкивался. все известные клиенты через http. ...

к сожалению все что нашел через http, собственно с чего такой вопрос, предположительно через tcp должен быть больший выхлоп. В чем вопрос, может посдкажете, с ростом числа соединений проседает респонг, проводя бенчмарки вижу что 12 соединений выдают намного лучший результат чем 24, выходит лучше сделать больше запросов на 12 чем меньше но на 24, может подскажете что то?

Pavel Mykhailov
к сожалению все что нашел через http, собственно с...

да, можно попробовать увеличить размер батча. обычно, 100к евентов отправляют за раз. лучше много и редко (один раз на 1-2 секунды)

Pavel-Mykhailov Автор вопроса
Dmitrii Shakshin
да, можно попробовать увеличить размер батча. обыч...

вы имеете ввиду на запись? я ввел вас в заблуждение, я имел ввиду касательно чтения

Pavel Mykhailov
к сожалению все что нашел через http, собственно с...

это вообще не связано с http / tcp, просто ресурсов CPU не хватает на 24

Pavel-Mykhailov Автор вопроса
Denny [Altinity]
это вообще не связано с http / tcp, просто ресурсо...

то есть при вертикали должно расти значительно?

Pavel Mykhailov
то есть при вертикали должно расти значительно?

даже 1 запрос может выжрать 100% cpu поэтому 2 одновременных запроса могут работать в 2 раза дольше так КХ устроен, старается выжрать все 100% от всех ресурсов

Pavel-Mykhailov Автор вопроса
Denny [Altinity]
даже 1 запрос может выжрать 100% cpu поэтому 2 одн...

прикол в том что при идентичных конфигах и ~запросах, 12 соединенией выдают намного больше rps and avg time нежели когда 24 соединения, как это понять? в обоих случаях забит под 100 проц естественно

Pavel Mykhailov
прикол в том что при идентичных конфигах и ~запрос...

на каждое соединение создается процесс/io-поток, может это потолок. а потребление памяти смотрели? В CH настроек не так много на параллельное чтение. для движка merge-tree - merge_tree_min_rows_for_concurrent_read

Pavel-Mykhailov Автор вопроса
Dmitrii Shakshin
на каждое соединение создается процесс/io-поток, м...

да, памяти процентов 20 максимально выжирает, как поднять потолок, или это уже все

Pavel Mykhailov
да, памяти процентов 20 максимально выжирает, как ...

ну а бэнчи на меньшее число соединений проводили? лучше график нарисовать, 1, 5, 10... Вероятно уперлись в бэкенд диска, надо смотреть IO pidstat, iotop

Pavel-Mykhailov Автор вопроса
Dmitrii Shakshin
ну а бэнчи на меньшее число соединений проводили? ...

на меньших количествах соединений rps поменьше, так как ботов меньше естественно, и проц просто не грузит на 100 процентов, сама скорость ответа такая же как и на 12, до этого числа все гладко, после - все очень плохо, тестилось на 18(+18)cpu

Pavel Mykhailov
прикол в том что при идентичных конфигах и ~запрос...

скорее всего драка за диск. 24 потока мешают друг другу и дергают головы дисков в разные стороны к nvme (ssd) это также относится

Dmitrii Shakshin
на каждое соединение создается процесс/io-поток, м...

>на каждое соединение создается процесс/io-поток, нет, не создается

Denny [Altinity]
>на каждое соединение создается процесс/io-поток, ...

разделенные пулы потоков все равно есть. и для обработки запроса, и для IO

Pavel-Mykhailov Автор вопроса
Denny [Altinity]
скорее всего драка за диск. 24 потока мешают друг ...

тогда шард на 2 машини в теории должен это возместить? 24 вместо 12 должны выдать тот же +-avg но rps *2?

Dmitrii Shakshin
разделенные пулы потоков все равно есть. и для обр...

нет. EventDriven. Есть пул тредов, по числу cpu. Вне зависимости от кол-ва запросов, 0 , 100 , все едино. Клиентские запросы выполняются в одном или более тредов

Pavel Mykhailov
тогда шард на 2 машини в теории должен это возмест...

да, в теории. На практике есть инициатор, который собирает результат шардов в единый. Но это решаемо, либо умным шардированием, либо использованием реплик вместо шардов.

оно вам зачем? вы через npm читаете миллионы записей в секунду? или пишете? там не такая большая экономия как вам может показаться

Pavel Mykhailov
к сожалению все что нашел через http, собственно с...

вы читаете или пишете? кол-во соединений не влияет влияет кол-во паралельных запросов поделенных на кол-во ядер CPU и кол-во IOPS диска

Pavel-Mykhailov Автор вопроса
Slach [altinity]
вы читаете или пишете? кол-во соединений не влияет...

для CH я понял из ответов ребят, не понял только с чего спор? разве пропускная способность tcp не выше http? как минимум из-за того что они на разных уровнях

Pavel Mykhailov
для CH я понял из ответов ребят, не понял только с...

накладные расходы на сами протоколы тысячные доли процента разница в формате передаваемых данных через TCP передается Native формат через HTTP тоже можно и Native вставлять или RowBinary разница между парсингом TSV / CSV и Native форматов данных (а не транспортные расходы на протокол) она НЕ ДЕСЯТКИ процентов, и даже не единица и проявляется в основном она на ДЕЙСТВИТЕЛЬНО БОЛЬШИХ объемах - миллионы в секунду... у вас такие объемы? если нет, то вам Native over TCP просто не нужен

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта