Pull to refresh

Comments 4

Спасибо за пост.

Хотелось бы отметить некторые мелочи при установке для тех, кто будет пробовать zeromq + jzmq на mac os x
(предполагаю, что gcc-c++ и make у вас уже есть):

1) Вместо yum можно использовать port — libtool, automake и autoconf там имеются, ставим как обычно. Также берем pkgconfig:

$ sudo port install libtool automake autoconf pkgconfig
$ port installed
…
  libtool @2.4.2_3 (active)
  autoconf @2.69_2 (active)
  automake @1.14.1_2 (active)
  pkgconfig @0.28_0 (active)
…

2) При сборке jzmq через autogen.sh будет такой warning:

aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'

В папке проекта jzmq соответственно переименовываем configure.in на configure.ac. Далее автогеном и сборка-установка.
Спасибо за интересную статью. Не могли бы вы уточнить какие скорости передачи файлов удалось в результате достичь для ПК-ПК в локальной сети в сравнение с традиционными протоколами? У нас в проекте встала задача быстрой передачи объемных файлов между множеством компьютеров и мы решили посмотреть на zmq. Однако первый тест показал на порядок меньшую скоростью в сравнении с тем же SMB. Не могли бы подсказать, что нас может ожидать с zmq и возможно предостеречь от траты ресурсов. Как вообще ваши ощущения по zmq, сейчас бы опять его выбрали как основу для передачи файлов?

Тест №1 — копирования файла по локальной сети из папки Windows 7(IP:192.168.1.106) в папку Windows 8 (IP:192.168.1.123) протокол SMB
время копирования 35.8 секунды

Тест №2 — копирования файла по локальной сети с использованием протокола ZeroMQ источник Windows 7(IP:192.168.1.106), приемник Windows 8 (IP:192.168.1.123) — размер буфера 256 байт
время передачи по сети с чтением файла на диске 146.9 секунды
время восстановления из буфера и сохранения файла на диска после приема файла 240 секунд
Итого полное время получения файла 386.9 секунд

Что мы делаем не так? Куда копать?

Буду благодарен за любой совет… здесь или приватно.
Здравствуйте, при правильном выборе параметров (размер буфера и описание протокола). Вы не должны замечать большой разницы в передачи данных по SMB и ZeroMQ. Из того что я вижу, я бы посмотрел на:
  1. Как вы передаете файлы? Если вы описали передачу как посылка 1 сообщения и затем ждете ack. Перед там как послать следующее, это сильно замедлит ваш throughput.
  2. Размер фрейма по отношению к размеру кредита, выбирайте его таким образом что бы IO использовалось максимально эффективно, так же в случае больший файлов, я советую увеличить размер фрейма хотя бы до 5кб
У нас в проекте встала задача быстрой передачи объемных файлов между множеством компьютеров

Просто оставлю эту ссылку здесь (см. “велосипед” / RingSync).


У меня был один “велосипед” - синхронизатор больших файлов “на полной скорости сети”, способный за 3 часа целиком залить 120 GiB файл по Fast Ethernet (100 Мбит/с; 100BASE‑TX; дуплекс) на 1, 10, 30, или > 200 ПК. Это был очень полезный “велосипед”, т.к. скорость синхронизации файла почти не зависела от количества ПК, на которые нужно залить файл...
Sign up to leave a comment.