The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Оптимизация сетевой карты и DMA режим"
Отправлено Дядя_Федор, 24-Июн-11 22:43 
Некоторые параметры можно регулировать при помощи утилиты ethtool. Например, на гиговых линках вместо дефолтных RX/TX выставить их (при помощи ключа -G) в максимальные 4096. Можно еще выставить очередь побольше txqueuelen - по дефолту она ставится в 1000. ifconfig-ом можно увеличить до 5000, например. тем же ethtool можно посмотреть статистику сетевой карты. Вот, например, у меня на гиговом линке (стоит поток в 250 Мбит - файлопомойка, в пике бывает под 800):
ethtool -S eth0
NIC statistics:
     rx_packets: 5340661595
     tx_packets: 10477922476
     rx_bytes: 936904612202
     tx_bytes: 15475615496524
     rx_broadcast: 67824
     tx_broadcast: 1
     rx_multicast: 199
     tx_multicast: 0
     rx_errors: 2
     tx_errors: 0
     tx_dropped: 0
     multicast: 199
     collisions: 0
     rx_length_errors: 0
     rx_over_errors: 0
     rx_crc_errors: 1
     rx_frame_errors: 0
     rx_no_buffer_count: 0
     rx_missed_errors: 0
     tx_aborted_errors: 0
     tx_carrier_errors: 0
     tx_fifo_errors: 0
     tx_heartbeat_errors: 0
     tx_window_errors: 0
     tx_abort_late_coll: 0
     tx_deferred_ok: 0
     tx_single_coll_ok: 0
     tx_multi_coll_ok: 0
     tx_timeout_count: 0
     tx_restart_queue: 0
     rx_long_length_errors: 0
     rx_short_length_errors: 0
     rx_align_errors: 0
     tx_tcp_seg_good: 1144725332
     tx_tcp_seg_failed: 0
     rx_flow_control_xon: 0
     rx_flow_control_xoff: 0
     tx_flow_control_xon: 0
     tx_flow_control_xoff: 0
     rx_long_byte_count: 936904612202
     rx_csum_offload_good: 5340575116
     rx_csum_offload_errors: 573
     rx_header_split: 0
     alloc_rx_buff_failed: 0
     tx_smbus: 0
     rx_smbus: 67878
     dropped_smbus: 0
     rx_dma_failed: 0
     tx_dma_failed: 0
Можно еще с настройками сетевого стека пограться. У меня во чего в sysctl.conf:
net.core.rmem_max=1000000
net.core.wmem_max=1000000
net.ipv4.tcp_rmem=4096 87380 1000000
net.ipv4.tcp_wmem=4096 65536 1000000
net.ipv4.tcp_no_metrics_save = 1
net.core.netdev_max_backlog = 2500
Можно использовать другие Congession Control Algorithms - http://linuxgazette.net/135/pfeiffer.html Ну и до кучи - http://fasterdata.es.net/fasterdata/host-tuning/linux/ А вообще сетевуха обычно вешается не от величины трафика а по PPS - посмотреть можно при помощи iptraf (например). Ну и прерывание каждой сетевухи надо вешать на отдельное ядро (в случае многоядерности) - используя аффинити - http://www.linuxjournal.com/article/6799 В общем - задача комплексная. И творческая. :) Тут главное не перемудрить.
 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру