RUS: Полностью разделяю проблемы CNECT. Моя проблема: Наблюдаю количество ответов с Binance в единицу времени 0,1 секунда, @depth5@100ms, больше чем запрошено пар. Превышение количества ответов может достигать более чем в 2 с лишним раза. Однако в режиме получения данных с интервалом 1 секунда, @depth5, такого не наблюдается ( или есть незначительное превышение). Вероятно это особенность формирования данных на стороне Binance и их буферизация перед выдачей потребителю, возможно интернет. Такое нестабильный трафик ответов может приводить к накоплению очереди в websockets(python) и нарушению ожидаемой или рассчитанной работы программы на pythone пользователя Binance. Желаю(предлагаю, требую) разработчикам API устранить это явление, т.к. в режиме получения данных с интервалом 1 секунда, @depth5, такого не наблюдается. Или дать свои комментарии и предложения по решению и обходу данной проблемы, в рамках применения websockets на python. Возможно именно такой неравномерный трафик и приводит к обрывам соединения, а также мешает нормальной работе моих скриптов.
Ниже приводится результаты подсчёта усредненного количество ответов за 0,5 сек по 72 парам. Хотелось бы иметь не более 72 ответов за отведенные 0,1 секунды. (<=72)
ENG: I fully agree with CNECT’s problems. My problem: I am observing the number of responses from Binance per unit of time 0.1 second, @ depth5 @ 100ms, more than the requested pairs. The excess of the number of responses can reach more than 2 times. However, in the mode of receiving data with an interval of 1 second, @ depth5, this is not observed (or there is a slight excess). This is probably a feature of the formation of data on the side of Binance and their buffering before issuing to the consumer, possibly the Internet. Such unstable response traffic can lead to a queue accumulation in websockets (python) and disruption of the expected or calculated program execution on the pythone of a Binance user. I wish (suggest, demand) API developers to eliminate this phenomenon, tk. in the mode of receiving data with an interval of 1 second, @ depth5, this is not observed. Or give your comments and suggestions on how to solve and work around this problem, within the framework of using websockets in python. Perhaps it is this uneven traffic that leads to connection breaks, and also interferes with the normal operation of my scripts.
Below are the results of calculating the average number of responses for 0.5 seconds for 72 pairs. I would like to have no more than 72 responses in the allotted 0.1 seconds. (<= 72)
USDT clear_count = 49.4 / num pair = 72
USDT clear_count = 103.8 / num pair = 72 ALARM!!!
USDT clear_count = 5.8 / num pair = 72
USDT clear_count = 51.8 / num pair = 72
USDT clear_count = 64.8 / num pair = 72
USDT clear_count = 33.6 / num pair = 72
USDT clear_count = 51.8 / num pair = 72
USDT clear_count = 34.6 / num pair = 72
USDT clear_count = 51.8 / num pair = 72
USDT clear_count = 92.4 / num pair = 72 ALARM!!!
USDT clear_count = 48.0 / num pair = 72
USDT clear_count = 34.4 / num pair = 72
USDT clear_count = 103.4 / num pair = 72 ALARM!!!
USDT clear_count = 75.4 / num pair = 72 ALARM!!!
USDT clear_count = 34.4 / num pair = 72
USDT clear_count = 68.8 / num pair = 72
USDT clear_count = 114.4 / num pair = 72 ALARM!!!
USDT clear_count = 31.8 / num pair = 72
USDT clear_count = 34.4 / num pair = 72
USDT clear_count = 47.2 / num pair = 72
USDT clear_count = 34.6 / num pair = 72
USDT clear_count = 34.6 / num pair = 72
USDT clear_count = 25.8 / num pair = 72
USDT clear_count = 25.6 / num pair = 72
USDT clear_count = 31.2 / num pair = 72
USDT clear_count = 171.6 / num pair = 72 ALARM!!!
USDT clear_count = 28.0 / num pair = 72
USDT clear_count = 35.8 / num pair = 72
USDT clear_count = 48.6 / num pair = 72
USDT clear_count = 25.4 / num pair = 72
USDT clear_count = 86.0 / num pair = 72 ALARM!!!
USDT clear_count = 52.2 / num pair = 72
USDT clear_count = 147.2 / num pair = 72 ALARM!!!
USDT clear_count = 25.6 / num pair = 72
USDT clear_count = 37.6 / num pair = 72
USDT clear_count = 220.2 / num pair = 72 ALARM!!! !!! <====== how and why? > 72!!!
USDT clear_count = 35.2 / num pair = 72
USDT clear_count = 35.8 / num pair = 72
USDT clear_count = 34.0 / num pair = 72
code = 1006 (connection closed abnormally [internal]), no reason
660 пар, 10 потоков, 120 пар в потоке к USDT, обрывы соединения именно по USDT и BUSD. ~5MBit/sec
660 pairs, 10 streams, 120 pairs per stream for USDT, connection drops for USDT and BUSD