Простые тесты

Простые тесты

Я пытаюсь устранить неполадки на компьютере члена семьи, скорость загрузки которого очень низкая по сравнению со всеми остальными компьютерами в сети.

Все остальные компьютеры получают около 23 Мбит/с вниз и 4 Мбит/с вверх. Но этот компьютер получает >0,1 Мбит/с вниз и 4 Мбит/с вверх.

Сначала я думал, что это проблема с Wi-Fi, однако при доступе к файлам на локальном NAS скорость передачи данных составляет 35 МБ/с.

Дальнейшее устранение неполадок показало, что у меня нет проблемы при использовании проводного соединения, но она возникает при использовании различных USB-модемов Wi-Fi с разными чипсетами (или встроенных адаптеров PCI).

Я также протестировал соединение с Ubuntu, и у меня не возникло никаких проблем, поэтому я думаю, что могу исключить аппаратную неисправность.

Я удалил драйверы и переустановил последнюю версию, но эффекта нет.

Все это заставляет меня думать, что проблема в каком-то программном обеспечении, влияющем только на интернет-загрузки. Осмотрев вокруг, я обнаружил, что у многих людей были проблемы с AMD quick stream/sync, но на этой машине он не установлен.

Как мне устранить неполадки, связанные с программным обеспечением, вызывающим проблемы, учитывая, что я не смог протестировать систему в безопасном режиме, поскольку драйверы для карты не загружаются?


EDIT: Добавлены подробности о детали

  • Операционная система:Виндовс 10
  • Материнская плата:Гигабайт B150M-HD3
  • Процессор:И5-6500
  • PCI-карта Wi-Fi:ASUS PCE-AC56, используется драйвер Asus 7.35.317.0 от 19/09/2015
  • USB-адаптер Wi-Fi(с той же проблемой): Драйвер Netgear WNDA3100v2 версии Netgear 5.100.68.29 от 13/10/2010
  • Маршрутизатор:ASUS DSL-AC68U

Я сейчас протестировал в безопасном режиме, но та же проблема все еще возникает, и запустил сканирование sfc, но ошибок не обнаружено.

решение1

У меня нет простого и быстрого решения для вас, но у меня есть идея того, что должно хотя бы работать. Сначала я перечислю несколько тривиальных вещей, которые вам следует проверить — я предполагаю, что вы уже это сделали, но не помешает убедиться. Вы не упомянули, какую ОС вы используете, но поскольку это не Ubuntu, я предполагаю, что Windows. Если это не так, измените детали в этом решении для вашей ОС (например, вместо PowerShell используйте bash или что-то еще, замените утилиты на эквивалентные и т. д.).

Простые тесты

  • Убедитесь, что у вас не установлено и не настроено что-либо специально для ограничения скорости загрузки, например NetLimiter.
  • Проверьте использование сетивсе ваши запущенные процессыкак предложенный тип и проверьте, чтовсенизкий.
  • Запустите tracert, чтобы проверить, действительно ли задержка внутренняя (а не, скажем, в вашем маршрутизаторе). Вы сказали, что можете получить хорошую скорость для вашего NAS (что на самом деле делает менее вероятным, что это внутренняя проблема), так что, возможно, есть другая точка в вашем маршруте, которая по какой-то причине душит вашу полосу пропускания.

Сложный тест для поиска виновного процесса/услуги

Для этого потребуется немного кодирования — но ничего особенного.

В принципе, идея заключается в том, чтобы приостанавливать каждый запущенный процесс/службу по одному и смотреть, улучшится ли скорость загрузки. Для этого вам нужно будет использовать Windows API, как показано в примерездесь(просто измените GetDiskFreeSpaceWфункцию на ту, которая вам нужна).

Процессы

  1. Список всех запущенных процессов сПолучить-Процесс.
  2. Пройдемся по списку и для каждого процесса:

    1. Убедитесь, что это не процесс, запускающий скрипт, сравнив его с $pid(возможно, вам также придется проверить наличие родительских/предковых процессов; я не уверен).

    2. Приостановите процесс с помощьюDebugActiveProcessФункция Windows API. Также,этотможет оказаться полезным.

    3. Подождать несколько секунд здесь, вероятно, будет хорошей идеей, но можно и пропустить этот момент.

    4. Теперь, когда процесс отключен, проверьте пропускную способность загрузки. Я обнаружилэта страницас некоторыми примерами того, как это сделать в PowerShell, и это кажется самым простым способом:

      $a=Get-Date; Invoke-WebRequest http://client.akamai.com/install/test-objects/10MB.bin|Out-Null; "$((10/((Get-Date)-$a).TotalSeconds)*8) Mbps"
      

      Вы также можете попробовать использоватьэтот скрипт теста скорости; он написан на Python, поэтому вы сможете запустить его на другой ОС, если понадобится.

    5. Если пропускная способность превышает желаемый вами порог (скажем, 1 Мбит/с; решайте сами), то этот процесс ограничивает вашу скорость загрузки. Распечатайте его имя или идентификатор процесса или что-то еще и остановите цикл.

    6. Возобновите процесс, вызвавDebugActiveProcessStopфункция Windows API.

Услуги

Возможно, что скорость загрузки ограничивается службой, а не процессом. В этом случае вы можете сделать то же самое, что я предложил для процессов, только вам нужно использовать другие функции API (Приостановить обслуживаниеиРезюме-Сервис) и вам не нужно проверять, что вы не приостанавливаете свой аккаунт (так как скрипт не является службой).

Предостережения

Могут быть критические системные процессы и службы, которые вам следует избегать остановки, а возможно, и нет. В первом случае вам нужно будет составить список исключений, а во втором случае вам нужно будет учесть, что ваши вызовы API могут завершиться неудачей (на самом деле, вам следует сделать это в любом случае, и, возможно, вывести предупреждение, когда это произойдет, и продолжить).


Я знаю, что все это больше работы, чем вы надеялись сделать, но это лучшая идея, которая у меня есть для вас. Надеюсь, это поможет вам решить вашу проблему.

решение2

Загрузитесь в безопасном режиме с загрузкой сетевых драйверов, чтобы отключить все продукты сторонних производителей.

Если проблема осталась после загрузки, то это проблема самой Windows. Запустите sfc /scannow как проверка. Если ничего не обнаружится, то потребуются более жесткие меры. Дайте мне знать.

Если проблема исчезает после загрузки, то виноват какой-то установленный продукт. Используйте Автозапуски для выборочного отключения автозапускаемых продуктов и перезагрузки в качестве теста, повторного включения, если не виноват. Большинство таких проблем вызвано программным обеспечением безопасности и антивирусом.

решение3

Запустите resmon.exeи выберите вкладку Сеть. Там вы можете увидеть, какие процессы потребляют больше всего пропускной способности. В качестве альтернативы вы можете использоватьTCPПросмотриз пакета Sysinternals.

решение4

Этот ответ не дает прямого ответа на вопрос заголовка, но я хотел бы включить его сюда, даже если он будет отклонен, поскольку это было окончательное решение моей проблемы и, надеюсь, может помочь другим людям избежать стольких неприятностей.

В качестве последнего средства для устранения неполадок я запустил тест скорости, когда был подключен к моему телефону, и получил 24 Мбит/с вниз и 24 Мбит/с вверх. Это дало мне несколько дополнительных вещей для поиска в Google, и я наткнулся на эту ветку на форумах Asus.

https://vip.asus.com/forum/view.aspx?SLanguage=en-us&id=20160101061223931&board_id=11&model=DSL-AC68U

Подводя итог, можно сказать, что в последующих версиях прошивки маршрутизатора 3.0.0.4_376_2187возникают проблемы с некоторыми клиентами Windows, вплоть до моделей с высокой начальной скоростью, которая затем снижается до небольших пиков, в среднем до менее 0,1 Мбит/с.

Обходной путь, обнаруженный пользователемаоренгмбыло включить 802.1Qс помощью VLANID=0и802.1P=0

После настройки и перезагрузки маршрутизатора моя проблема была решена!

Небольшое замечание: при устранении неполадок VDSL у нашего интернет-провайдера они сказали, что его 802.1Qследует отключить (и я почти уверен, что это было по умолчанию на маршрутизаторе). Я не совсем понимаю, что делает эта настройка, но, похоже, все работает хорошо, когда она включена.

Я очень рад, что эта проблема решена, спасибо за всю вашу помощь в устранении этой досадной проблемы.

Связанный контент