Member 12844692 Ответов: 3

Как рассчитать скорость загрузки и выгрузки в C# без использования файла.


Мне нужно рассчитать скорость загрузки и выгрузки интернета, который мы используем.
Но я не хочу загружать или скачивать файл, чтобы узнать это.

Например , "http://beta.speedtest.net/"[^]

Вот так, нужно получить скорость загрузки и выгрузки в C#.

Предложите на это.

Что я уже пробовал:

Я пытался Как рассчитать пропускную способность сети в c# - Mohamed Mansour[^] с этой связью, но она дает разницу между реальной скоростью.

Также пробовал использовать класс Ping Как использовать Ping в C#[^]. Таким образом,мы можем узнать статус,адрес, поездку туда и обратно, но не знаем, как найти загрузку и скорость загрузки.

Richard MacCutchan

Единственный способ получить правильный расчет - это загрузить и загрузить некоторые данные.

3 Ответов

Рейтинг:
2

Jochen Arndt

Скорость в основном определяется самым медленным путем между вашей системой и системой назначения.

Но вы не можете определить этот самый медленный путь. Есть ли на ваших сайтах подключение к интернету, где-то между ними, или целевое подключение к интернету?

Со всеми путями это зависит от фактической сетевой нагрузки.
Промежуточные пути могут меняться (именно так работает интернет).
С вашей системой и системой назначения это зависит от рабочей нагрузки системы.

Единственное значимое значение - это ваше интернет-соединение, которое обычно указывается вашим провайдером (если вы не используете модем POT (простой старый телефон), где он установлен устройством).

При использовании DSL вы можете проверить, предоставляет ли ваш модем статус фактического соединения. Когда DSL модем соединяется с DSLAM (Мультиплексор доступа к цифровой абонентской линии - Википедия[^]) они делают некоторые проверки линии и договариваются о максимальной скорости для обоих направлений. Эти скорости могут быть запрошены у модема с помощью графического интерфейса администрирования и / или чтения файла системного журнала.


Рейтинг:
0

Nick_3141592654

Ping не измеряет пропускную способность и все, что вы делаете, используя минимальные объемы данных (например, вы можете рассмотреть возможность использования HTTP Get/Post для оценки пропускной способности нисходящей/восходящей линии связи, если вы можете рассчитать время этих транзакций и знать количество байтов передачи). Однако такой подход был бы совершенно ошибочным - не тратьте на это свое время.

Как сказал Ричард Макскатчан, вы должны передать данные, и если оценка будет иметь какую-либо пользу, вам нужно будет передать "разумную" сумму. Насколько это разумно? Ну, чем больше данных вы передаете, тем лучше вы усредняете переменную пропускную способность, которая достигается во всех сетях пакетной передачи данных (включая интернет). Вот почему вы увидите оценки пропускной способности на таких сайтах, как speedtest.net в начале теста они сильно колеблются, а затем стабилизируются до более долгосрочного среднего.

Помните также, что нужно учитывать задержку. То есть задержка между вашим запросом на запуск загрузки/выгрузки и фактическим началом передачи. Если ваш тест использует большое количество байтов, то вы можете игнорировать эту временную задержку, в противном случае вам нужно тщательно исключить ее из времени пропускной способности.

Существует очень хороший инструмент под названием iPerf (и сопутствующий инструмент jPerf, который является iPerf с графическим интерфейсом), который можно использовать для измерения пропускной способности. iPerf позволяет вам настроить сервер в любом месте вашей сети, который будет откачивать байты данных (для теста загрузки) или поглощать байты (для теста загрузки) с любым устройством, которое вы хотите подключить в качестве клиента и выполнять загрузку/загрузку. журналы iPerf содержат все, что вам нужно. Больше здесь и во множестве других можно легко найти.


Рейтинг:
0

Patrice T

существует 2 скорости загрузки / выгрузки:
- Во-первых, это фактическая скорость, то есть объем (размер данных), передаваемых в заданный промежуток времени, его просто нужно зацепить за устройство, которое вы хотите протестировать.
- Во-вторых, это максимальная скорость, чтобы получить максимальную скорость, вам нужно убедиться, что вы находитесь на максимальной скорости, и лучший способ-это иметь файл, передаваемый через интерфейс.
Если вы не насыщаете связь, вы не можете знать максимальную скорость.