У меня есть вопрос для кого-то, кто знает BSD немного лучше меня, что касается настройки моей локальной сети дома / на работе здесь, за пределами Чикаго.
Я не могу полностью оптимизировать пропускную способность моей сети (LAN) через мой файловый сервер FreeNAS (на основе BSD). Он работает с последней версией FreeBSD, которая модифицирована для поддержки нескольких протоколов для передачи файлов и многого другого. Каждая машина, которая находится за моим маршрутизатором Smoothwall (на базе Linux), находится в обычной подсети 192.168.0.x и по большей части работает нормально. За коробкой Smoothwall все машины подключены к неуправляемому коммутатору HP GB. Я размещаю здесь большой WISP и имею соединение OC-3 здесь, дома / на работе, и у меня нет проблем с загрузкой / выгрузкой из / в «сеть».
У меня проблема с пропускной способностью. Когда я пытаюсь передать большие файлы ... действительно любые в этом отношении ... между любой из машин на / и с сервера FreeNAS через FTP, максимальная пропускная способность, которую я могу достичь, скажем, между Win 7 или Linux составляет ~ 65 Мбит / сек. Все машины работают с сетевыми адаптерами Intel Pro 1000 ГБ и все кабели CAT6. Каждый из них настроен на «автоматическое согласование», и каждый показывает 1500 MTU Full Duplex @ 1GB, поэтому я знаю, что с оборудованием все в порядке. Я не настраивал MTU ни на одной машине, так как понимаю, что это бессмысленно, если не используются определенные конфигурации (я предполагаю, что я не один из них). Мои настройки для машины FreeNAS следующие:
# FreeNAS /etc/sysctl.conf - pertinent settings shown
kern.ipc.maxsockbuf=262144
kern.ipc.nmbclusters=32768
kern.ipc.somaxconn=8192
kern.maxfiles=65536
kern.maxfilesperproc=32768
net.inet.tcp.delayed_ack=0
net.inet.tcp.inflight.enable=0
net.inet.tcp.path_mtu_discovery=0
net.inet.tcp.recvbuf_auto=1
net.inet.tcp.recvbuf_inc=524288
net.inet.tcp.recvbuf_max=16777216
net.inet.tcp.recvspace=65536
net.inet.tcp.rfc1323=1
net.inet.tcp.sendbuf_inc=16384
net.inet.tcp.sendbuf_max=16777216
net.inet.tcp.sendspace=65536
net.inet.udp.recvspace=65536
net.local.stream.recvspace=65536
net.local.stream.sendspace=65536
net.inet.tcp.hostcache.expire=1
Насколько я могу судить, это выглядит несколько оптимизированным профилем для типичной машины BSD, выступающей в качестве сервера для локальной сети. Я мог ошибаться и просто хотел узнать у кого-то, кто знает BSD лучше, чем я, действительно ли это нормально, или что-то не в лад или что-то в этом роде. Есть ли другие способы передачи файлов P2P лучше?
Я честно не знаю, что мне СЛЕДУЕТ искать в отношении пропускной способности между NAS-устройством и другим клиентом при передаче файлов через FTP, но мне сказали, что то, что я получаю в среднем (40-70 МБ / с), слишком мало для того, что возможно.
Я подумал о том, чтобы добавить еще одну сетевую карту в поле FreeNAS, а также машину Win7 и использовать кабель X-over через статический маршрут, но хотел сначала уточнить у кого-нибудь, стоит ли это того или нет. Я не знаю, позволит ли это обойти переключатель HP GB и в любом случае позволить машине обрабатывать xfer.
Я использую FTP-клиент: Filezilla, и я пробовал активный и пассивный режимы, но без реального преимущества друг перед другом. Коробка NAS запускает ProFTPD.
Кажется, что эти вопросы устарели, но в комментариях есть несколько замечательных предложений, которые могут решить проблему. В дополнение Справочник FreeBSD есть целый раздел по настройке производительности (обновляется с каждым новым выпуском и всегда актуальная информация / полезные советы).
Если ничего из вышеперечисленного не помогло, возможно, стоит попробовать прямой тест скорости сети (используйте netcat для отправки большого потока байтов и определения пропускной способности сети) - это позволит определить, связана ли низкая производительность с сетью. (и позволяют вам тестировать сеть поэтапно: перекрестный кабель, через коммутатор и т. д.) или из другого источника, например, задержки диска.