Решил на шлюз подключить винт и хранить на нем некие данные.
Винт 500 Гб Sata-2. Смонтировался без проблем, фвайловая система UFS2.
И тут наступил на грабли.
1. Вопрос первый: В чем причина медленного копирования с локальной сети на шлюз ?
Шлюз: МП на intel P31
проц: Celeron 1200E (1600)
ОЗУ: DDR-2 667 (1Гб + 512 Мб = 1.5 Гб.)
НЖМД: 1. под систему SATA-2 Samsung + Sata-2 Hitachi поднят gmirror
2. под файло-помойку НЖМД IDE ATA100 80 Гб
3. под нужные файлы Sata-2 500 Гб Seagate.
В локалку торчит встроенная в МП сетевая карта 1Gbit ( re0 ), подключена к свичу 100 Мбит.
На шлюзе установлена Samba и открыта шара на НЖМД IDE 80 Гб и Sata-2 500 Гб Seagate.
При попытке копирования на шлюз получил скорость 3,5 Мб/сек.
Порыв немного инет и дописав в конфиг самбы:
Код: Выделить всё
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=16384 SO_RCVBUF=16384 SO_KEEPALIVE
getwd cache = yes
read raw = yes
write raw = yes
max xmit = 65536
Далее делаю следуещее начинаю из инета тянуть большой файл ~ 200 метров (инет 10 Мбит ~ 1.2 Мбайт/сек) и одновременно лить инфу на шлюз.
Скорость заливания на шлюз упала до 2,5 - 3 Мб/сек.
Т.е. у меня сложилось впечатление что будто бы на сетевую повесили ограничение в 4Мб/сек (~ 32.5 Мбит/сек) при возможности сетевой в 1000 а свича в 100.
Я не расчитывал на скорость в 12,5 Мбайт (100 Мбит), но хотя бы 8 -9 Мбайт по локалке на шлюз хотелось бы иметь.
2. Вопрос второй: В чем причина низкой скорости копирования на самом шлюзе между винтами ?
После затыка по сети решил проверить как копируется инфа на самом шлюзе (предположил что тормоза не в сети а на винтах) и был удивлен.
Копирование с НЖМД Sata-2 на НЖМД Sata-2 или на НЖМД IDE ATA100 21-23 Мб/сек.
При копировании с себя на себя (Sata-2) скорость 8-9 Мб/сек. Копировал в МС и там же смотрел скорость.
Везде файловая система UFS-2. В момент копирования top показывает простой проца 28-33%, без копирования простой проца 44-49%.
При копировании в процессах видно что МС сжирает ~ 17-19% проца.
Память свободная тоже есть.
-----------------------------
Помогите решить делему, как минимум очень интересует поднять скорость копирования по сети.
Заранее спасибо за помощь.
Прилагаю следующее.
uname -a:
Код: Выделить всё
FreeBSD domain.local 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #4: Fri Jan 22 14:26:03 EET 2010 admin@domain.local:/usr/obj/usr/src/sys/FREE8 i386
Код: Выделить всё
Copyright (c) 1992-2009 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.0-RELEASE-p2 #4: Fri Jan 22 14:26:03 EET 2010
admin@domain.local:/usr/obj/usr/src/sys/FREE8
module_register: module pci/em already exists!
Module pci/em failed to register: 17
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Celeron(R) CPU E1200 @ 1.60GHz (1602.88-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x6fd Stepping = 13
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
Features2=0xe39d<SSE3,DTES64,MON,DS_CPL,EST,TM2,SSSE3,CX16,xTPR,PDCM>
AMD Features=0x20100000<NX,LM>
AMD Features2=0x1<LAHF>
TSC: P-state invariant
real memory = 1610612736 (1536 MB)
avail memory = 1558999040 (1486 MB)
ACPI APIC Table: <071508 APIC1628>
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s)
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
ioapic0 <Version 2.0> irqs 0-23 on motherboard
kbd1 at kbdmux0
cryptosoft0: <software crypto> on motherboard
acpi0: <071508 XSDT1628> on motherboard
acpi0: Overriding SCI Interrupt from IRQ 9 to IRQ 20
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
acpi0: reservation of fee00000, 1000 (3) failed
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, 5ff00000 (3) failed
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <ACPI PCI-PCI bridge> irq 16 at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
vgapci0: <VGA-compatible display> port 0xb000-0xb0ff mem 0xd0000000-0xdfffffff,0xfe9f0000-0xfe9fffff irq 16 at device 0.0 on pci1
pci1: <multimedia, HDA> at device 0.1 (no driver attached)
pci0: <multimedia, HDA> at device 27.0 (no driver attached)
pcib2: <ACPI PCI-PCI bridge> irq 16 at device 28.0 on pci0
pci2: <ACPI PCI bus> on pcib2
pcib3: <ACPI PCI-PCI bridge> irq 17 at device 28.1 on pci0
pci3: <ACPI PCI bus> on pcib3
re0: <RealTek 8168/8168B/8168C/8168CP/8168D/8168DP/8111B/8111C/8111CP/8111DP PCIe Gigabit Ethernet> port 0xc800-0xc8ff mem 0xfeaff000-0xfeafffff,0xfdff0000-0xfdffffff irq 17 at device 0.0 on pci3
re0: Using 1 MSI messages
re0: Chip rev. 0x3c000000
re0: MAC rev. 0x00400000
miibus0: <MII bus> on re0
rgephy0: <RTL8169S/8110S/8211B media interface> PHY 1 on miibus0
rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
re0: Ethernet address: 00:e0:4d:a1:d3:28
re0: [FILTER]
pcib4: <ACPI PCI-PCI bridge> irq 18 at device 28.2 on pci0
pci4: <ACPI PCI bus> on pcib4
atapci0: <JMicron JMB368 UDMA133 controller> port 0xdc00-0xdc07,0xd880-0xd883,0xd800-0xd807,0xd480-0xd483,0xd400-0xd40f irq 18 at device 0.0 on pci4
atapci0: [ITHREAD]
ata2: <ATA channel 0> on atapci0
ata2: [ITHREAD]
uhci0: <UHCI (generic) USB controller> port 0xac00-0xac1f irq 23 at device 29.0 on pci0
uhci0: [ITHREAD]
uhci0: LegSup = 0x0f00
usbus0: <UHCI (generic) USB controller> on uhci0
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xfe8fbc00-0xfe8fbfff irq 23 at device 29.7 on pci0
ehci0: [ITHREAD]
usbus1: EHCI version 1.0
usbus1: <EHCI (generic) USB 2.0 controller> on ehci0
pcib5: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci5: <ACPI PCI bus> on pcib5
rl0: <RealTek 8139 10/100BaseTX> port 0xe800-0xe8ff mem 0xfebffc00-0xfebffcff irq 16 at device 1.0 on pci5
miibus1: <MII bus> on rl0
rlphy0: <RealTek internal media interface> PHY 0 on miibus1
rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl0: Ethernet address: 00:30:4f:5a:c0:d3
rl0: [ITHREAD]
em0: <Intel(R) PRO/1000 Network Connection 6.9.14> port 0xec00-0xec3f mem 0xfebc0000-0xfebdffff,0xfeba0000-0xfebbffff irq 17 at device 2.0 on pci5
em0: [FILTER]
em0: Ethernet address: 00:0e:0c:d8:73:4e
vr0: <VIA VT6105 Rhine III 10/100BaseTX> port 0xe400-0xe4ff mem 0xfebff800-0xfebff8ff irq 18 at device 3.0 on pci5
vr0: Quirks: 0x0
vr0: Revision: 0x8b
miibus2: <MII bus> on vr0
ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus2
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vr0: Ethernet address: 00:19:5b:7c:22:11
vr0: [ITHREAD]
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci1: <Intel ICH10 SATA300 controller> port 0xa880-0xa887,0xa800-0xa803,0xa480-0xa487,0xa400-0xa403,0xa080-0xa09f mem 0xfe8fb000-0xfe8fb7ff irq 19 at device 31.2 on pci0
atapci1: [ITHREAD]
atapci1: AHCI called from vendor specific driver
atapci1: AHCI v1.20 controller with 6 3Gbps ports, PM not supported
ata3: <ATA channel 0> on atapci1
ata3: [ITHREAD]
ata4: <ATA channel 1> on atapci1
ata4: [ITHREAD]
ata5: <ATA channel 2> on atapci1
ata5: [ITHREAD]
ata6: <ATA channel 3> on atapci1
ata6: [ITHREAD]
ata7: <ATA channel 4> on atapci1
ata7: [ITHREAD]
ata8: <ATA channel 5> on atapci1
ata8: [ITHREAD]
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
acpi_button0: <Power Button> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0
cpu0: <ACPI CPU> on acpi0
est0: <Enhanced SpeedStep Frequency Control> on cpu0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
cpu1: <ACPI CPU> on acpi0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
p4tcc1: <CPU Frequency Thermal Control> on cpu1
pmtimer0 on isa0
orm0: <ISA Option ROM> at iomem 0xc0000-0xcf7ff pnpid ORM0000 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ata0 at port 0x1f0-0x1f7,0x3f6 irq 14 on isa0
ata0: [ITHREAD]
ata1 at port 0x170-0x177,0x376 irq 15 on isa0
ata1: [ITHREAD]
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
ppc0: parallel port not found.
fuse4bsd: version 0.3.9-pre1, FUSE ABI 7.8
Timecounters tick every 1.000 msec
IPsec: Initialized Security Association Processing.
ipfw2 (+ipv6) initialized, divert enabled, nat loadable, rule-based forwarding enabled, default to accept, logging disabled
usbus0: 12Mbps Full Speed USB v1.0
usbus1: 480Mbps High Speed USB v2.0
ad4: 76319MB <Seagate ST380011A 3.04> at ata2-master UDMA100
ugen0.1: <Intel> at usbus0
uhub0: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
ugen1.1: <Intel> at usbus1
uhub1: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
ad6: 76318MB <Hitachi HDS721680PLA380 P21OABEA> at ata3-master SATA300
ad8: 76318MB <SAMSUNG HD080HJ ZH100-47> at ata4-master SATA300
GEOM_MIRROR: Device mirror/gm0 launched (2/2).
ad14: 476940MB <Seagate ST3500320AS SD15> at ata7-master SATA300
GEOM: mirror/gm0s1: geometry does not match label (16h,63s != 255h,63s).
SMP: AP CPU #1 Launched!
uhub0: 2 ports with 2 removable, self powered
uhub1: 2 ports with 2 removable, self powered
Trying to mount root from ufs:/dev/mirror/gm0s1a
ifconfig:
Код: Выделить всё
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
ether 00:e0:4d:a1:d3:28
inet 192.168.10.250 netmask 0xffffff00 broadcast 192.168.10.255
media: Ethernet 100baseTX <full-duplex>
status: active
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:30:4f:5a:c0:d3
inet 111.222.333.444 netmask 0xffffff00 broadcast 111.222.333.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 10 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 04:4b:80:80:80:44
inet6 fe80::64b:80ff:fe80:8044%em0 prefixlen 64 scopeid 0x3
inet 10.159.144.21 netmask 0xfffff000 broadcast 10.159.159.255
media: Ethernet 100baseTX <full-duplex>
status: active
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 20 mtu 1500
options=2808<VLAN_MTU,WOL_UCAST,WOL_MAGIC>
ether 00:1a:4d:74:ad:45
inet6 fe80::21a:4dff:fe74:ad45%vr0 prefixlen 64 scopeid 0x4
inet 10.159.145.75 netmask 0xfffff000 broadcast 10.159.159.255
media: Ethernet 100baseTX <full-duplex>
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
pflog0: flags=141<UP,RUNNING,PROMISC> metric 0 mtu 33200
pfsync0: flags=0<> metric 0 mtu 1460
syncpeer: 224.0.0.240 maxupd: 128
Код: Выделить всё
net.inet.ip.forwarding=1
# Запрещает юзерам видеть процессы соседа&root
security.bsd.see_other_uids=0
# Запрещает видеть групповые процессы
security.bsd.see_other_gids=0
# Пускаем запросы на закрытые порты в черные дыры
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
# Указываем размер очереди сокета
kern.ipc.somaxconn=1024
# Отрубаем ip-редиректы
net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=1
net.inet.ip.redirect=0
# Назначаем размеры буфера для TCP-подключений. Если на сервер ожидается большая
# нагрузка, и у него много памяти – лучше поставить 65535. Значение выше 65535
# не рекомендуется.
net.inet.tcp.sendspace=32768
net.inet.tcp.recvspace=32768
# Обновляем ARP-таблицу каждые 20 минут
net.link.ether.inet.max_age=1200
# Запрещаем отвечать на все лишние запросы.
net.inet.icmp.maskrepl=0
net.inet.ip.sourceroute=0
net.inet.ip.accept_sourceroute=0
net.inet.icmp.bmcastecho=0
net.inet.tcp.finwait2_timeout=5000
net.inet.tcp.fast_finwait2_recycle=1
kern.ipc.somaxconn=4096
net.inet.tcp.always_keepalive=0
net.inet.tcp.nolocaltimewait=1
net.inet.ip.portrange.first=1024
kern.ipc.nmbclusters=65536
net.inet.ip.portrange.randomized=0
net.inet.tcp.keepidle=60000
kern.ipc.nmbclusters=262144
kern.ipc.maxsockets=204800
net.inet.tcp.recvspace=8192
net.inet.tcp.sendspace=16384
net.inet.tcp.msl=15000
Код: Выделить всё
autoboot_delay="1"
loader_logo="none"
if_em_load="YES"