Цитата:
Сообщение от
AlexMoskvichev
В нашем случае (в пике 50К сообщений по 2Кб) затраты на брокера (Apache ActiveMQ 5) вообще не ощущаются на общем фоне.Все время уходит на формирование сообщений и их обработку при приемке.
Причем если отправку еще можно ускорить, например запустив несколько потоков, то приемку нет. Единственные средства улучшения для приемки - пакетные сообщения и замена железа.
При этом пакетные сообщения усложняют отправку и не ускоряют ее никак (в одном потоке)
угу.
Цитата:
Сообщение от
AlexMoskvichev
Возвращаясь к вопросу.
100500 сообщений по 1Мб (например) это почти 100Гб сырых данных. За какое время их передавать надо и как далеко?.
а почему по 1Мб?
я вроде написал "коллекция - список/массив/мап/контейнер/таблица"
В мире аксапты элементы коллекций это максимум размер страницы MS SQL = 8Кб
Очень-очень редко мемо поля до 4Гб. Но про это я бы обязательно сказал.
все-таки для мира аксапты хорошие допущения:
= размер элемента до 8кб
= размер буфера рабочего окна 64Кб (максимальный размер XML в WCF по умолчанию)
= размер коллекции более 100500 элементов
Цитата:
Сообщение от
AlexMoskvichev
Если проблема в размере сообщений, можно попробовать их сжать при отправке.
нет, с размером элементов как раз никаких проблем.
вопрос про количество элементов, которое гарантировано не помещается в одно сообщение.
Цитата:
Сообщение от
AlexMoskvichev
Или вообще,
Write CSV -> 7zip -> SFTP -> 7zip ->Read CSV
Или более современно, в
parquet
Может оказаться вполне быстро и автоматизировать не сложно.
Через WCF можно управляющие команды подать, с метаданными файла
файла? какого файла? каким магическим образом вдруг файл передался?