Установленная из пакета в ALT Linux samba демонстрировала невысокую скорость передачи данных:
1Мб/сек на прием и 700 Кб/сек на отдачу файлов по 100 Мбит ethernet сети.Поискав на бескрайних просторах интернета, мне удалось найти следующее решение:
В файл /etc/samba/smb.conf в опцию [global] вставьте следующие строки:[global]
max xmit = 64000
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=64000 SO_RCVBUF=64000 SO_KEEPALIVE
Благодаря данным настройкам, пиковые значения скорости передачи данных по сети у меня увеличились
до 7.5Мб/сек на прием и 4 Мб/сек на отдачу файлов.URL: http://myaltlinux.blogspot.com/2009/04/samba.html
Обсуждается: http://www.opennet.me/tips/info/2051.shtml
все равно очень медленно, что за железо?
а теперь попробуй ftp и ощути разницу
FTP кстати тоже тот еще пень.Попробуйте через него влить 100 мелких файлов и прикиньте кпд... :)
use sendfile = yes
На сколько я помню, уже давно в самбе только параметр max xmit задан по умолчанию не лучшим образом. А основной прирост производительности делается за счет:
log file = /dev/null
log level = 0
FreeBSD 6.2-STABLE:
Действительно после тюнинга, скорость отдачи увеличилась с 3MB\s до 6.5MB\s.
Вы что, серьёзно?
Я на NFS ниразу не видел скорость ниже 12МБ/с в 100 мегабитной сети.
>Вы что, серьёзно?
>Я на NFS ниразу не видел скорость ниже 12МБ/с в 100 мегабитной
>сети.а выше видел?
>Вы что, серьёзно?
>Я на NFS ниразу не видел скорость ниже 12МБ/с в 100 мегабитной
>сети.ой гонишь ... )
>>Вы что, серьёзно?
>>Я на NFS ниразу не видел скорость ниже 12МБ/с в 100 мегабитной
>>сети.
>
>ой гонишь ... )Куда гоню? Смотрел на график сетевого трафика в gnome-system-monitor во время копирования файлов по сетке между двумя машинами с FreeBSD.
>>>Вы что, серьёзно?
>>>Я на NFS ниразу не видел скорость ниже 12МБ/с в 100 мегабитной
>>>сети.
>>
>>ой гонишь ... )
>
>Куда гоню? Смотрел на график сетевого трафика в gnome-system-monitor во время копирования
>файлов по сетке между двумя машинами с FreeBSD.это ты две машины морда-морда воткнул без промежуточных свичей на фул дуплекс? )
12.5 это просто теоретический (недостижимый) предел поэтому в 12 слабо верится - ну есть вариант что у тебя мега-супер железки с мега-супер прямымы дровами под них ...
Что за бред? у меня на гигабите под 50мб в сек принимает и отдает самба на убунте 8.04
ХЗ что там АЛЬТовцы поломали, но в моей ебунте без каких либо настроек 8,5 МБ\с выдает на ноуте (винт 5400).
Использовать "правильные сетевые карты"
на 100 Мбит у мя 3сом для юзеров и Интел на серваке.
3сом выжимал до 8.5-9 Мб/сек, Интел до 12.5.на 1Гигабите:
Оптимально: Длинк 530-Е ( Марвел 88Е8001 ).
Не забываем ставить Джамбо Фрэймы: ifconfig eth1 mtu 9000.
Не все Гигабитные сетевухи имеют такой параметр.
1000Т компекс 7200.
Этот параметры выше у Интела - 16436
Ну и свитч должен быть соответсвующий.
(у меня кросс-линком в 1Гбит СК804(nForce4, винда, фрэйь 9014)<=> 1Гбит DGE 530-T, mtu 9000, слака 12.2, самба дефолтная. Прокачка до 70-80 Мб/с )
/*
http://en.wikipedia.org/wiki/Jumbo_frame*/
>Использовать "правильные сетевые карты"+1, хотя для многих вещей и Realtek 816x пойдёт. MTU 7200 и вперёд.
>Ну и свитч должен быть соответсвующий.
Что-то мне подсказывает (опыт наверное) что нормальный свич в конторе до 10 машин - скорее нонсенс, как результат приходится извращаться.
А вообще за подсказку спасибо — заодно узнал что домашний 3com такое позволяет.
http://www.uoregon.edu/~joe/jumbo-clean-gear.html
В догонку..
у кого больше 10МБ/с даёт, выложите конфиг позырить? а то больше 9,5 не вытянул
спасибо! помогло
Убунта 9.04 на компе, конфига дефолтная, сетевуха интел, пси, свитч - асус wl500gpv1
скачивал на ноут смбклиентом образ убунты, 700метров
средняя скорость 11.25 мбайт/c
jumbo не настроеночто я делаю не так?
>что я делаю не так?тебе нужно поставить freebsd или alt linux, чтоб появились тормоза
> что я делаю не так?1. Посчитал на калькуляторе сколько будет 100 Mbit / 8, и вычел 256kb для правдоподобности.
2. Засрал весь канал.
3. Linux установил!
Возможно все дело в свитчах
у меня загрузка на сервер около 9 метров, а отдача выше 4 не поднимается.OS: debian lenny
SLES10, настройки самбы по дефолту, транк-порт (2 гигабитных порта - Cisco 3450) -файл 7Гб - 84 мб\сек забирается клиентом. Обычные (400-900 мб файлы 40-55 мб\сек)
будьте добры, напишите пару слов, что такое транк порт?//у меня сейчас самые дефолтные trendnet-коммутаторы на 100 мбит. на серваке риалтеки r8169. довольно простой и нищебродный вариант.
>будьте добры, напишите пару слов, что такое транк порт?
>
>//у меня сейчас самые дефолтные trendnet-коммутаторы на 100 мбит. на серваке риалтеки
>r8169. довольно простой и нищебродный вариант.Транк - специально сконфигурированное соединение vlan между 2-мя точками (допустим сервер - cisco), соединяем 2 порта на cisco в vlan и в них 2 сетевых интерфейса на сервере тоже в vlan интерфейс, получается trunk, для остальных потребителей это один и тот же ip и получается что данные забираются расчётно в 4 раза быстрее.
Транк (Trunk)- объединение нескольких портов. Наиболее часто используются объединение vlan при передаче между коммутаторами (и сервером) и агрегация каналов (link aggregation) (о ней речь и шла).
[global]
max xmit = 65535
read raw = yes
write raw = yes
socket options = TCP_NODELAY SO_KEEPALIVE SO_RCVBUF=17520 SO_SNDBUF=17520 IPTOS_LOWDELAY
dead time = 15
MTU:1500 - большинство клиентов 100Мбит
WinXP гигабитный клиент 50Мбайт/сек, а 100 обычно 9,5 Мбайт/сек в обе стороны.
04:02.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05)
Ubuntu 8.04
> max xmit = 65535
> SO_RCVBUF=17520
> SO_SNDBUF=17520Ни когда так не делайте, память сожрёт и много нулей будет!!!
Числа должны быть только кратные 64, а лучше 256,
По умолчанию, эти буфера :) равны net.core.rmem_default/net.core.wmem_default в sysctl
максимально допустимые net.core.rmem_max/net.core.wmem_max
Если хотите увеличит буфер только у Самбы, выше максимального допустимого системой,
то можно поюзать опции SO_SNDBUFFORCE/SO_RCVBUFFORCE
Можно отрубить "временные отметки" - SO_TIMESTAMP=0
Так же, поигратся с SO_RCVLOWAT=1 и SO_SNDLOWAT=1
Ну и моё мнение, автопилот у Самбы отличный, прекрасно работает с конфигом вроде[global]
workgroup = WORKGROUP[shara]
path = /tmpищите решение проблем в sysctl, на сраненькой Noname RTL8100 и Длинк 604 чудненько те же 12 мегоф выходят...
>[global]
> max xmit = 64000
> socket options = IPTOS_LOWDELAY TCP_NODELAY >SO_SNDBUF=64000 SO_RCVBUF=64000 SO_KEEPALIVEПомогло,спасибо. Передача порядка 9,5 мб/с.
re0: mtu 7422socket options = SO_KEEPALIVE SO_BROADCAST TCP_NODELAY SO_RCVBUF=32768 SO_SNDBUF=32768 IPTOS_LOWDELAY
FreeBSD 7.0-RELEASE-p5
25-35мб/с
по фтп выжимал 102mb/sec. с рабочей машины на сервер и обратно. моя машина и сервер находятся в разных сигментах, соответсвенно между ними роутер который это дело форвардил. на всех 3х машинах сетевые карты intel pro 1000. всё это хозяйство воткнутно в catalyst 3750g и разделено вланами. на сервере и на моей машине Debian 5.0. на роутере по середине ALTLinux 4.0.1 server
Что-то низкие у вас скорости на 100Mbit'ной сети. Мегов 11-12 должно быть.