
Я пытаюсь устранить неполадки на компьютере члена семьи, скорость загрузки которого очень низкая по сравнению со всеми остальными компьютерами в сети.
Все остальные компьютеры получают около 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
функцию на ту, которая вам нужна).
Процессы
- Список всех запущенных процессов сПолучить-Процесс.
Пройдемся по списку и для каждого процесса:
Убедитесь, что это не процесс, запускающий скрипт, сравнив его с
$pid
(возможно, вам также придется проверить наличие родительских/предковых процессов; я не уверен).Приостановите процесс с помощью
DebugActiveProcess
Функция Windows API. Также,этотможет оказаться полезным.Подождать несколько секунд здесь, вероятно, будет хорошей идеей, но можно и пропустить этот момент.
Теперь, когда процесс отключен, проверьте пропускную способность загрузки. Я обнаружилэта страницас некоторыми примерами того, как это сделать в 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, поэтому вы сможете запустить его на другой ОС, если понадобится.
Если пропускная способность превышает желаемый вами порог (скажем, 1 Мбит/с; решайте сами), то этот процесс ограничивает вашу скорость загрузки. Распечатайте его имя или идентификатор процесса или что-то еще и остановите цикл.
Возобновите процесс, вызвавDebugActiveProcessStopфункция Windows API.
Услуги
Возможно, что скорость загрузки ограничивается службой, а не процессом. В этом случае вы можете сделать то же самое, что я предложил для процессов, только вам нужно использовать другие функции API (Приостановить обслуживаниеиРезюме-Сервис) и вам не нужно проверять, что вы не приостанавливаете свой аккаунт (так как скрипт не является службой).
Предостережения
Могут быть критические системные процессы и службы, которые вам следует избегать остановки, а возможно, и нет. В первом случае вам нужно будет составить список исключений, а во втором случае вам нужно будет учесть, что ваши вызовы API могут завершиться неудачей (на самом деле, вам следует сделать это в любом случае, и, возможно, вывести предупреждение, когда это произойдет, и продолжить).
Я знаю, что все это больше работы, чем вы надеялись сделать, но это лучшая идея, которая у меня есть для вас. Надеюсь, это поможет вам решить вашу проблему.
решение2
Загрузитесь в безопасном режиме с загрузкой сетевых драйверов, чтобы отключить все продукты сторонних производителей.
Если проблема осталась после загрузки, то это проблема самой Windows. Запустите sfc /scannow как проверка. Если ничего не обнаружится, то потребуются более жесткие меры. Дайте мне знать.
Если проблема исчезает после загрузки, то виноват какой-то установленный продукт. Используйте Автозапуски для выборочного отключения автозапускаемых продуктов и перезагрузки в качестве теста, повторного включения, если не виноват. Большинство таких проблем вызвано программным обеспечением безопасности и антивирусом.
решение3
Запустите resmon.exe
и выберите вкладку Сеть. Там вы можете увидеть, какие процессы потребляют больше всего пропускной способности. В качестве альтернативы вы можете использоватьTCPПросмотриз пакета Sysinternals.
решение4
Этот ответ не дает прямого ответа на вопрос заголовка, но я хотел бы включить его сюда, даже если он будет отклонен, поскольку это было окончательное решение моей проблемы и, надеюсь, может помочь другим людям избежать стольких неприятностей.
В качестве последнего средства для устранения неполадок я запустил тест скорости, когда был подключен к моему телефону, и получил 24 Мбит/с вниз и 24 Мбит/с вверх. Это дало мне несколько дополнительных вещей для поиска в Google, и я наткнулся на эту ветку на форумах Asus.
Подводя итог, можно сказать, что в последующих версиях прошивки маршрутизатора 3.0.0.4_376_2187
возникают проблемы с некоторыми клиентами Windows, вплоть до моделей с высокой начальной скоростью, которая затем снижается до небольших пиков, в среднем до менее 0,1 Мбит/с.
Обходной путь, обнаруженный пользователемаоренгмбыло включить 802.1Q
с помощью VLANID=0
и802.1P=0
После настройки и перезагрузки маршрутизатора моя проблема была решена!
Небольшое замечание: при устранении неполадок VDSL у нашего интернет-провайдера они сказали, что его 802.1Q
следует отключить (и я почти уверен, что это было по умолчанию на маршрутизаторе). Я не совсем понимаю, что делает эта настройка, но, похоже, все работает хорошо, когда она включена.
Я очень рад, что эта проблема решена, спасибо за всю вашу помощь в устранении этой досадной проблемы.