Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование *NIX систем > медленная скорость linux-linux


Автор: admsasha 4.10.2009, 09:12
Вопросы в основном идут, что поставили на linux машину samba, и с windows медленно качается. И ответы типа,  вот если был бы клиент-linux то было бы всё нормально.
Так вот, собрал я такую модель: Linux (samba) --> ADSL (8000Kb / 1024Kb) --> одна машина( клиент-linux + клиент-windows )

в smb.conf  (Samba version 3.2.3)
Код

max xmit = 65535
socket options = IPTOS_LOWDELAY SO_KEEPALIVE TCP_NODELAY SO_RCVBUF=65535 SO_SNDBUF=65535


Качаю с клиент-linux скорость не более 400KB/s  (3200Kb/s), качаю с клиент-windows скорость ~620KB/s (4960Kb/s).

Почему такое отличие ?

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

С клиент-linux качал с dolphin (от туда и смотрел скорость + pppnetm ), С клиент-windows качал через TotalCommander (от туда смотрел скорость+ через диспечер по загрузке сетевой)

Как добить на Linux клиенте скорость хотябы 600Kb/s ?


Кстати, если качать по FTP то скорость с обоих машин под 1000KB/s !


Думаю подробно объяснил проблему smile


Автор: bilbobagginz 4.10.2009, 09:31
Цитата(admsasha @  4.10.2009,  08:12 Найти цитируемый пост)
Так вот, собрал я такую модель: Linux (samba) --> ADSL (8000Kb / 1024Kb) --> одна машина( клиент-linux + клиент-windows )

не понял:
сервер соединён с клиентом посредством "сеть internet на инфраструктуре ADSL" ?
или же сервер подключен к интернету, а клиент находится в локальной сети (Ethernet) ?




Автор: admsasha 4.10.2009, 09:50
Цитата(bilbobagginz @  4.10.2009,  16:31 Найти цитируемый пост)
не понял:

Это всё локальная сеть. Клиентская машина подключена к серверу по ADSL.

Автор: bilbobagginz 4.10.2009, 12:28
Цитата(admsasha @  4.10.2009,  08:50 Найти цитируемый пост)
Это всё локальная сеть. Клиентская машина подключена к серверу по ADSL. 

т.е. есть какой-то VPN туннель внутри локальной сети, проложенный через сеть интернет. 
правильно ?


Автор: admsasha 4.10.2009, 12:33
Цитата(bilbobagginz @  4.10.2009,  19:28 Найти цитируемый пост)
т.е. есть какой-то VPN туннель внутри локальной сети, проложенный через сеть интернет. 
правильно ?

ну нет, зачем же.

[клиет-комп] ->[adsl]->[DSLAM]->[cisco 2950]->[сервер-комп]  (клиентский комп, подключен по adsl в DSLAM, тот включен в cisco и в туже cisco включен комп с samba)


Интернет тут вообще никак.

Автор: bilbobagginz 4.10.2009, 13:07
Цитата(admsasha @  4.10.2009,  11:33 Найти цитируемый пост)
Интернет тут вообще никак. 

я хочу понять какие сетевые стеки задействованы. это определяет delay в различных действиях, что замедляет контроль и скорость передачи данных.
проще узнать времена ping с сервера на клиент и наоборот.
проведи пожалста запуск пинга с сервера на клиент и наоборот, по 100 пингов, дай мне только последние 3-4 строки (чтобы знать среднее, максимальное, минимальное время и процент потерь, если были)


Автор: admsasha 4.10.2009, 13:40
Как я уже отметил, с этой же машины, но с OS WindowsXP, качает 600KB/s, а по FTP с любой OS 1000KB/s, 
тем неменее вот результат

С клиента до сервера
Код

100 packets transmitted, 100 received, 0% packet loss, time 99146ms
rtt min/avg/max/mdev = 13.705/15.187/30.394/2.451 ms


Всё же я пологаю, что что-то не так настроено в самой Linux системе.
за одним вот ifconfig eth0 на клиентской машине
Код

eth0      Link encap:Ethernet  HWaddr 00:1F:D0:5A:7C:65                  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::21f:d0ff:fe5a:7c65/64 Scope:Link                  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1                  
          RX packets:4902350 errors:0 dropped:0 overruns:0 frame:0            
          TX packets:3009711 errors:0 dropped:0 overruns:0 carrier:0          
          collisions:0 txqueuelen:1000                                        
          RX bytes:1068672684 (1019.1 MiB)  TX bytes:3886124619 (3.6 GiB)     
          Interrupt:28 Base address:0x4000 


Добавлено через 7 минут и 23 секунды
Забыл про обратно)

С сервера до клиента
Код

100 packets transmitted, 100 received, 0% packet loss, time 99125ms
rtt min/avg/max/mdev = 13.878/15.761/26.378/2.314 ms



ну и сразу уж ifconfig
Код

eth0      Link encap:Ethernet  HWaddr 00:1A:4D:F3:A6:DF
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::21a:4dff:fef3:a6df/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:31512164 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33064342 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2577814226 (2.4 GiB)  TX bytes:1747271207 (1.6 GiB)
          Interrupt:19 Base address:0xa000

Автор: bilbobagginz 4.10.2009, 14:25
я не знаю что тебе там наговорили до этого (и есть ли связь между тем, что работает клиент виндовс или линукс)
но:
Цитата(admsasha @  4.10.2009,  12:40 Найти цитируемый пост)
а по FTP с любой OS 1000KB/s

в принципе разница между FTP и самбой с т.з. скорости передачи должна быть.

причина в том, что FTP - оптимизирован "тупо" под передачу данных, в то время как SMB/CIFS предназначены "не только" для этого.
"не только" не вдаваясь в подробности - дополнительные операции  (напр. дополнительное кеширование, копировка различных атрибутов файла в контексте ACLs/Ownerships, которые сложнее чем просто ТЕ-ЖЕ разрешения в случае FTP) и различные механизмы синхронизации, которые просто останавливают передачу данных в процессе копирования.
в принципе именно синхронизация (a точнее высокий delay при синхронизации)

теперь о самбе:какой именно метод используется ? 
существует 2 группы протоколов: CIFS и SMB
более старый - SMB
более новый - CIFS

виндовс XP если не ошибаюсь использует CIFS
линукс имеет 2 реализации CIFS и SMB.


каким образом производится копирование с/на линукс-клиент ?


Автор: admsasha 4.10.2009, 15:06
Цитата(bilbobagginz @  4.10.2009,  21:25 Найти цитируемый пост)
аким образом производится копирование с/на линукс-клиент ?

На клиенте стоит mandriva 2009.1 KDE 4.3.1, Dolphin 1.3.  пишу в Dolphin smb:://192.168.1.1 и далее  копировать-вставить

Как посмотреть какой протокол он использует ?

Автор: admsasha 4.10.2009, 16:43
пробую монтировать так
Код

mount -t cifs //192.168.1.1/   /media/samba --verbose -o user=admsasha


Проблемы:
1. Символические ссылки отображаются неправильно (они показываются как ссылки, а не как папки. Т.е. ссылка ведет на мой /samba/share1, а не ссылку на сервере)
2. Скорость не изменилась, точно также ~400KB/s


Автор: bilbobagginz 4.10.2009, 21:47
Цитата(admsasha @  4.10.2009,  15:43 Найти цитируемый пост)
1. Символические ссылки отображаются неправильно (они показываются как ссылки, а не как папки. Т.е. ссылка ведет на мой /samba/share1, а не ссылку на сервере)

да, а ты как думал smile
попробуй создать на клиенте /samba/share1, смонтируй на этот каталог.

Цитата(admsasha @  4.10.2009,  15:43 Найти цитируемый пост)
2. Скорость не изменилась, точно также ~400KB/s

это значит, что все остальные средства использовали тоже CIFS.
если смаунтишь через smb, то возможно будет некоторое ухудшение скорости.

не суть дело.

Автор: admsasha 5.10.2009, 01:59
bilbobagginz, Что еще можно посмотреть попробывать ?

Автор: bilbobagginz 5.10.2009, 13:42
Цитата(admsasha @  5.10.2009,  00:59 Найти цитируемый пост)
, Что еще можно посмотреть попробывать ? 

может резолвинг работает неправильно на линуксе ? или может время кривое...


Автор: admsasha 5.10.2009, 14:01
Цитата(bilbobagginz @  5.10.2009,  20:42 Найти цитируемый пост)
может резолвинг работает неправильно на линуксе ? или может время кривое...

хосты жестко прописаны  в /etc/hosts. Время идет синхронно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)