Назад | Перейти на главную страницу

Медленное соединение между клиентским компьютером и домашним сервером

У меня есть сервер, двухъядерный, 4 ГБ ОЗУ, работающий под управлением Windows Server 2008, который я использую в качестве основного файлового сервера.

Доступ к нему внезапно стал очень медленным. Независимо от того, использую ли я RDP или получаю доступ к файлам удаленно через подключенные диски, это просто медленно!

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

Если я работаю непосредственно на самом сервере, это быстро. Похоже, что это что-то среднее между моей клиентской машиной (-ами) и сервером.

Как мне проверить скорость сетевого соединения между двумя машинами? Или что-нибудь еще я должен проверить?

Я видел, как много маленьких дешевых сетевых коммутаторов «сходили с ума» за последний год или около того. Режим отказа - сверхмедленная передача и отбрасывание пакетов. (Я видел это в основном с переключателями LinkSys в прошлом году). Я подозреваю, что это, хотя и не обязательно в первую очередь. К счастью, простой тест скорости довольно прост с «Совместным доступом к файлам и принтерам».

Вы можете провести «быстрый и грязный» тест пропускной способности файлового сервера, создав большой временный файл на своем клиентском компьютере с помощью команды fsutil, а затем рассчитав время передачи на серверный компьютер:

fsutil file createnew temp-file-name 209715200

Это создаст временный файл размером 200 МБ. Вы можете выполнить быстрое копирование с синхронизацией, используя следующий сценарий (из каталога, в котором вы создали временный файл, и при условии, что у вас есть права на копирование в какой-либо общий ресурс на сервере):

@echo off
echo.|time
copy temp-file-name \\server-computer-name\share-name
echo.|time

Вычтите время окончания из времени начала, преобразуйте в секунды и разделите 209715200 на количество прошедших секунд, чтобы получить байты в секунду.

Вы должны увидеть более 7000000 байтов в секунду (примерно 56 Мбит / с) в LAN 100Base-TX. Что-нибудь ниже этого, и я начну подозревать, что что-то не так. Если предположить, что серверный компьютер достаточно современный, он должен без проблем заполнить канал 100 Мбит / с. Если вы видите, что скорость передачи ниже этой, я бы начал смотреть на счетчики ошибок в интерфейсе администрирования коммутатора, к которому подключены сервер и клиент. У вас могут быть неисправные кабели, несоответствие дуплексного режима или проблемы с драйвером сетевой карты. Все дело в том, чтобы методично отследить проблему.


Изменить: тест копирования файлов - хороший тест, потому что вы можете проводить его без какого-либо стороннего программного обеспечения. Поскольку вы обнаружили, что узкое место действительно существует, следующим шагом будет определение его причины.

Утилита WSTTCP (доступна по адресу http://www.pcausa.com/Utilities/pcattcp.htm) - это быстрый и грязный тест вашего драйвера сетевой карты и оборудования сетевой инфраструктуры. Он отправляет данные, которые не снимаются с диска или не записываются на диск, поэтому дисковые подсистемы на клиенте и сервере в конечном итоге исключаются из уравнения.

На одном компьютере выполните следующее (после того, как вы распаковали WSTTCP!), Чтобы "прослушать" соединение:

wsttcp -r

На другом компьютере выполните следующее, чтобы передать тест на удаленный компьютер:

wsttcp -t <hostname>

В Ethernet 100 Мбит / с вы можете изменить команду передачи (повторно запустить команду приема на приемнике перед повторным запуском передатчика), чтобы отправить больше буферов, потому что вы получите немного более точные числа при более длительном тесте:

wsttcp -t -n8192 <hostname>

Это переместит 64 МБ трафика. Увеличьте число «8192», чтобы отправлять больше трафика.

Вам необходимо либо разрешить прослушивателю использовать ваш брандмауэр на прослушивающем компьютере (TCP-порт 5001 по умолчанию), либо временно отключить брандмауэр.

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

Удачной охоты.

Одна вещь, которую я бы порекомендовал, - это проверить на вирусы и т. Д. Запустите netstat, чтобы увидеть открытые соединения и посмотреть, есть ли что-нибудь изворотливое / неожиданное. Вероятно, есть инструменты для тестирования пропускной способности между двумя компьютерами с Windows, но я не знаю ни одного. iperf может работать в cygwin.

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

синтаксис например: tracert 196.12.2.13

Что-то в пользовательском интерфейсе (удаленный рабочий стол сервера windwos 2008) может снизить скорость. Может быть, какие-то настройки, эффекты пользовательского интерфейса. Или какое-то стороннее программное обеспечение. Все, что движется, прозрачно или имеет цветовые градиенты, работает медленнее. Квадратные и одноцветные части экрана быстрее.

Может, это тоже часть проблемы?

Удаленное дифференциальное сжатие