Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2      [все]
 Ограничение скорости загрузки файлов  [new]
Tsyklop
Member

Откуда: Украина
Сообщений: 1069
Скажите пожалуйста.
Нужно сделать возможность ограничивать скорость загрузки файлов путем задавания максимальной скорости (как в торрент клиенте для примера).

Как это можно сделать в Java? и возможно ли.
Спасибо.
27 сен 19, 21:06    [21981347]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16686
Tsyklop,

обязательно java?
https://www.google.com/search?q=apache2 ограничить скорость загрузки&rlz=1C1GIGM_enRU792RU792&oq=apache2 ограничить скорость загрузки&aqs=chrome..69i57.20364j1j7&sourceid=chrome&ie=UTF-8
27 сен 19, 21:18    [21981353]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
Tsyklop,
Можно в js
27 сен 19, 21:29    [21981356]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9416
Tsyklop
Нужно сделать возможность ограничивать скорость загрузки файлов путем задавания максимальной скорости
Принимать или передавать данные кусками и следить, чтобы в заданном интервале не принимать (не передавать) больше лимита.
28 сен 19, 08:01    [21981507]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
Basil A. Sidorov
Tsyklop
Нужно сделать возможность ограничивать скорость загрузки файлов путем задавания максимальной скорости
Принимать или передавать данные кусками и следить, чтобы в заданном интервале не принимать (не передавать) больше лимита.
именно +1
28 сен 19, 08:26    [21981517]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
Tsyklop
Member

Откуда: Украина
Сообщений: 1069
PetroNotC Sharp
Tsyklop,
Можно в js

Приложение на Java написано
28 сен 19, 12:38    [21981604]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
Tsyklop
Member

Откуда: Украина
Сообщений: 1069
вадя
Tsyklop,

обязательно java?
https://www.google.com/search?q=apache2 ограничить скорость загрузки&rlz=1C1GIGM_enRU792RU792&oq=apache2 ограничить скорость загрузки&aqs=chrome..69i57.20364j1j7&sourceid=chrome&ie=UTF-8


Да, обязательно Java ибо на ней написано приложение
28 сен 19, 12:38    [21981605]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
Tsyklop
Member

Откуда: Украина
Сообщений: 1069
Basil A. Sidorov
Tsyklop
Нужно сделать возможность ограничивать скорость загрузки файлов путем задавания максимальной скорости
Принимать или передавать данные кусками и следить, чтобы в заданном интервале не принимать (не передавать) больше лимита.

Типо этого https://stackoverflow.com/a/6271972/4444092 ?
28 сен 19, 12:40    [21981608]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
Tsyklop
PetroNotC Sharp
Tsyklop,
Можно в js

Приложение на Java написано

А загрузка на HTML5?
А фронт на чем написан?
Ну и java большая, конкретнее.
Извини что СМС стилем - вопрос-ответ)))) Lol
28 сен 19, 12:40    [21981609]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
Tsyklop
Basil A. Sidorov
пропущено...
Принимать или передавать данные кусками и следить, чтобы в заданном интервале не принимать (не передавать) больше лимита.

Типо этого https://stackoverflow.com/a/6271972/4444092 ?

Js html5 api
FileReader.readAsBinaryString(Blob|File)
Получите стрим или блоб вместо файла. Потом кусками отправляете.
28 сен 19, 12:59    [21981616]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
Tsyklop
Member

Откуда: Украина
Сообщений: 1069
Сорян ребят. Немного дезинформировал Вас. Под "загрузкой" я имел в виду скачивание файла из интернета в Java-е. То бишь есть приложение на Java, которое тащит из интерната файлы. Нужно ограничить скорость этой самой скачки файлов.
28 сен 19, 14:22    [21981642]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
Tsyklop,))))
28 сен 19, 14:25    [21981646]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
Tsyklop
есть приложение на Java
десктоп?

Tsyklop
Нужно ограничить скорость этой самой скачки файлов.
скачивает побайтово?
Там и скорость регулируй.
28 сен 19, 14:37    [21981651]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
mayton
Member

Откуда: loopback
Сообщений: 42386
Tsyklop
Скажите пожалуйста.
Нужно сделать возможность ограничивать скорость загрузки файлов путем задавания максимальной скорости (как в торрент клиенте для примера).

Как это можно сделать в Java? и возможно ли.
Спасибо.

Это сложная задача. В рамках 1 потока ты можешь вводить искусственные задержки но пользователь не дурак
и еще в 2000х использовал мультипоточную загрузку (в 20 сокетов например) где каждый поток качал со своей
скоростью фрагмент (с перемоткой вперед по команде Range) твоего файла а на выходе склеивал все фрагменты
в одно целое.

Что ты будешь делать когда 20 сессий будут качать 1 файл? Какую такую логику придумаешь чтоб мониторить аж 10
пользователй где будет 10 * 20 = 200 потоков и все что-то качают?

Тебе надо конфигурировать твой сервер приложений в паре с nginx как-то так

limit_rate_after 1m;
limit_rate 150k;


Погугли там детально. Я не спец в nginx но именно это его задача.
28 сен 19, 21:00    [21981768]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
mayton
Member

Откуда: loopback
Сообщений: 42386
Еще для общего сведенья почитай про https://netty.io/
и в частности про GlobalChannelTrafficShapingHandler

По идее это тоже решение но я не использовал netty и здесь не могу оценить стоимость имплементации
этой фичи в твою задачу. Надо читать. Изучать известные практики применения netty.
29 сен 19, 12:17    [21981933]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
Tsyklop
Member

Откуда: Украина
Сообщений: 1069
PetroNotC Sharp
десктоп?


Да.

PetroNotC Sharp
скачивает побайтово?
Там и скорость регулируй.

Каким образом? делать задержку?
29 сен 19, 13:11    [21981963]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
Tsyklop
Member

Откуда: Украина
Сообщений: 1069
mayton, у меня не сервак, а десктоп приложение. Оно скачивает с FTP сервера файлы в одном потоке (так осознано сделано). И вот заказчик просит сделать ограничение скорости для скачивания этих файлов.

P.S. Если говорить о серваке, то это вообще 1С система и ее сделали еще в далеком 2013 году
29 сен 19, 13:13    [21981966]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
Tsyklop
Каким образом? делать задержку?
да.
Порциями.
За минуту гиг или 5 байт перекачать есть разнтца?
29 сен 19, 13:31    [21981972]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
mayton
Member

Откуда: loopback
Сообщений: 42386
Концептуально
do{
   скачать порцию
   замерять среднюю скорость.
   если слишком быстро то подождать X милисекунд
       если все еще быстро - удвоить таймаут и наоборот
while(не конец)
29 сен 19, 13:39    [21981974]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48413
Называется "давайте создадим серверу проблемы, пусть жрёт ядерную память и развлекается ретрейнами".
29 сен 19, 13:52    [21981983]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
mayton
Member

Откуда: loopback
Сообщений: 42386
По хорошему надо было конфигурить сервер.
Клиент просто должен качать на максималке.
Иначе архитектура тухлая выходит.
Но это 1с мать ево.
29 сен 19, 13:57    [21981986]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
Tsyklop
Member

Откуда: Украина
Сообщений: 1069
mayton
По хорошему надо было конфигурить сервер.
Клиент просто должен качать на максималке.
Иначе архитектура тухлая выходит.
Но это 1с мать ево.


В том то и дело. Сервер написан и уже работает. И много клиентов сидит на этой штуке уже. Заказчик хочет сделать другой проект, но уже по технологиям 2019 года без всяких галимых 1С и т.д.
29 сен 19, 14:01    [21981988]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
Tsyklop
Member

Откуда: Украина
Сообщений: 1069
Dimitry Sibiryakov
Называется "давайте создадим серверу проблемы, пусть жрёт ядерную память и развлекается ретрейнами".


Увы. Это так. тут я бессилен. Ищу варианты.
29 сен 19, 14:01    [21981989]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
mayton
Member

Откуда: loopback
Сообщений: 42386
Расскажи потом как проблема решилась.

Убежден что вам покупка еще одной виртуалки стоила-б дешевле чем месяц работы мидл-девелопера.

Да и что девелопить? Это уже 20 лет как админская задача. QOS, шейперы.
Разработчик должен бизнес-код писать.
29 сен 19, 14:24    [21982000]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
Tsyklop
Member

Откуда: Украина
Сообщений: 1069
mayton
Расскажи потом как проблема решилась.

Убежден что вам покупка еще одной виртуалки стоила-б дешевле чем месяц работы мидл-девелопера.

Да и что девелопить? Это уже 20 лет как админская задача. QOS, шейперы.
Разработчик должен бизнес-код писать.

Тут больше загоны клиентов у заказчика. А клиенты это торговые сети по продаже чего-то - косметики, техники, кафешки, рестики.
Суть приложения - играть музыку и рекламу на фоне. Вот заходите в ТЦ и играет какая-то музыка и местами реклама - вот это и есть такое приложение. И так исторически сложилось что приложение тянет все песни с FTP сервака напрямую. А у всех больших клиентов в основном своя сетка настроена и они думают что если, скажем 50 магазинов начнут скачивать песни, то их сетка ляжет ибо не выдержит. Вот и ищем решения проблемы как можно это сделать.
29 сен 19, 15:37    [21982027]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
Tsyklop,
Есть приложения эмулирующие топологию сети.
Сделай у себя под сеть аналог заказчика. И потом тестируй и делай продукт.
29 сен 19, 15:52    [21982031]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
Tsyklop
Member

Откуда: Украина
Сообщений: 1069
PetroNotC Sharp, если бы я знал все детали их сетки то это годно... а так... хз
29 сен 19, 19:54    [21982085]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
Tsyklop,
Не. Ты должен упреждать. Ты должен проверить и сказать - При 10 мегабит сетке и 100 клиентах вы получите тормоза. А вот от 50ти тормозов не будет.
Хотя понятно, что это не разработка.
Это нагрузочное тестирование, а сетку тебе админ штатный должен сделать.
29 сен 19, 20:24    [21982103]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48413
Tsyklop
И так исторически сложилось что приложение тянет все песни с FTP сервака напрямую. А у всех больших клиентов в основном своя сетка настроена и они думают что если, скажем 50 магазинов начнут скачивать песни, то их сетка ляжет ибо не выдержит. Вот и ищем решения проблемы как можно это сделать.

Решение простое: скачивать по одной песне или рекламе за раз. Кэшировать на клиентской стороне. Уменьшать битрейт аудио. При этом нагрузка сети будет равна количеству песен в фонотеке * битрейт / продолжительность песни и от количества клиентов зависеть не будет.

Остальное можешь фейкапить ибо проверить они всё равно не смогут.
30 сен 19, 13:35    [21982661]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
Tsyklop
Member

Откуда: Украина
Сообщений: 1069
Dimitry Sibiryakov
Решение простое: скачивать по одной песне или рекламе за раз. Кэшировать на клиентской стороне. Уменьшать битрейт аудио. При этом нагрузка сети будет равна количеству песен в фонотеке * битрейт / продолжительность песни и от количества клиентов зависеть не будет.

Остальное можешь фейкапить ибо проверить они всё равно не смогут.


Песни и так скачиваются один раз и остаются на устройстве и вот в этом одном скачивании и проблема.
30 сен 19, 13:46    [21982677]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48413
Tsyklop
вот в этом одном скачивании и проблема.

Нет в одноразовом скачивании проблемы. На худой конец уменьшайте битрейт.
1 окт 19, 13:57    [21983849]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
Tsyklop,
Пора дать цифры или закругляться
1 окт 19, 14:22    [21983886]     Ответить | Цитировать Сообщить модератору
 Re: Ограничение скорости загрузки файлов  [new]
mayton
Member

Откуда: loopback
Сообщений: 42386
Tsyklop
mayton
Расскажи потом как проблема решилась.

Убежден что вам покупка еще одной виртуалки стоила-б дешевле чем месяц работы мидл-девелопера.

Да и что девелопить? Это уже 20 лет как админская задача. QOS, шейперы.
Разработчик должен бизнес-код писать.

Тут больше загоны клиентов у заказчика. А клиенты это торговые сети по продаже чего-то - косметики, техники, кафешки, рестики.
Суть приложения - играть музыку и рекламу на фоне. Вот заходите в ТЦ и играет какая-то музыка и местами реклама - вот это и есть такое приложение. И так исторически сложилось что приложение тянет все песни с FTP сервака напрямую. А у всех больших клиентов в основном своя сетка настроена и они думают что если, скажем 50 магазинов начнут скачивать песни, то их сетка ляжет ибо не выдержит. Вот и ищем решения проблемы как можно это сделать.

Блин. Тут речь вообще идет об FTP и сетке!

Вообще нет темы для разработки! Циклоп дружище. Закрывай тему.
И попросите ваш бизнес чтоб просто развернул зеркало FTP в другой сети.

Копеешное дело вить... ФПТ..
1 окт 19, 15:17    [21983970]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2      [все]
Все форумы / Java Ответить