Перейти к содержимому
Калькуляторы
А теперь посчитаем время на лочках, там , где без smp их нет. Ну и кеш не резиновый, хотя и большой.

Ну посчитайте :)

А люди просто попробовали :)

 

Я имел в виду не железку, а софтовую часть драйвера - пока одно ядро ее курочит, другое будет стоять.

Честно говоря, не понял смысла фразы.

Кроме софтовой части, что ещё есть в драйвере?

 

а какие считалки трафика у нас в ядре

Самописные.

А смысл? Чтоб второе ядро не использовалось? :)

Вот я написал свою считалку через ulog. Работает в несколько раз быстрее fprobe-ulog.

Пока одно ядро роутит, второе всё успевает обсчитывать.

Преимущества перед ядерной очевидны. Например, я мог отлаживать код на живом роутере и не получать kernel panic :)

 

А вот по теме - вспомнил.

Был у меня совсем недавно роутер, кажется на этом же чипсете. Serverworks точно.

И встроенная сетевуха на PCI-32 тоже.

Не пропускала она больше 360М, как ни старался.

PCI-X e1000 - не больше 400М.

Проблема решилась заменой железа на нормальное.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

PCI-X e1000 ВЫ считаете не нормальным железом ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

карта конечно нормальная

а вот материнка, куда она вставлялась, неудачная какая-то

точнее сказать не могу, не настолько разбираюсь в устройстве pci-x

думаю, и здесь похожий случай

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я имел в виду не железку, а софтовую часть драйвера - пока одно ядро ее курочит, другое будет стоять.

Честно говоря, не понял смысла фразы.

Кроме софтовой части, что ещё есть в драйвере?

В драйвере - ничего Но есть еще и аппаратный ресурс.

 

Вообще, smp в роутинге не сильно будет ускорять: разбор очереди пакетов (которая backlog) делается в на одном из ядер, другое будет стоять. Тем более, что HT - это одно ядро.

 

А смысл? Чтоб второе ядро не использовалось? :)
Нет, что бы быстрее работало.

 

Преимущества перед ядерной очевидны. Например, я мог отлаживать код на живом роутере и не получать kernel panic :)
А не надо на живом канале эксперементировать.

Я уже в этом треде писал, что ищу имитатор реальной нагрузки, для подобных тестов.

 

И встроенная сетевуха на PCI-32 тоже.

Не пропускала она больше 360М, как ни старался.

PCI-X e1000 - не больше 400М.

Проблема решилась заменой железа на нормальное.

(400*1024*1024/8)/500=104857pps на пакете 500байт. И это только на прием. Реально ли ?
Изменено пользователем bitbucket

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вообще, smp в роутинге не сильно будет ускорять: разбор очереди пакетов (которая backlog) делается в на одном из ядер, другое будет стоять. Тем более, что HT - это одно ядро.

никто и не говорил, что сильно

 

Нет, что бы быстрее работало.

 

А не надо на живом канале эксперементировать.

Я уже в этом треде писал, что ищу имитатор реальной нагрузки, для подобных тестов.

ну не было в бюджете заложено создание полигона

а так, ну писал я считалку в ядре как-то

для развлечения скорее, так как в дело так и не пошла

потом не стал портировать с 2.2 на 2.4, потому что и юзер-левел решение работает отлично, и написано было быстро из-за простоты отладки

 

Не пропускала она больше 360М, как ни старался.

PCI-X e1000 - не больше 400М.

Проблема решилась заменой железа на нормальное.

(400*1024*1024/8)/500=104857pps на пакете 500байт. И это только на прием. Реально ли ?

Опять не понял мысль. 100kpps - это много что ли?

На самом деле было 80kpps.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не пропускала она больше 360М, как ни старался.

PCI-X e1000 - не больше 400М.

Проблема решилась заменой железа на нормальное.

(400*1024*1024/8)/500=104857pps на пакете 500байт. И это только на прием. Реально ли ?

Опять не понял мысль. 100kpps - это много что ли?

На самом деле было 80kpps.

Вот в чем и впорос. У автора темы дохнет на 40к pps. У вас ходило 80к. На какой версии ядра и железа это было ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

чипсет GCNB-LE

материнка от Asus модель не помню

процессор Intel® Pentium® 4 CPU 2.80GHz

и наврал я, не на PCI-32 там встроенная сетевуха

а на PCI-X вроде как, судя по lspci

но он на этой матери урезанный какой-то

и в dmesg про сетевуху написано 32bit 33MHz

 

Ядро 2.6.20.18 i686 SMP (хоть и процессор без HT)

Изменено пользователем random7

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

у меня было 100Kpps синтетических на Intel SE7500WV2+2*XeonDP2,4.

при этом на нем же:

- pptp+MPPE128 (около 40Kpps реальных), около 1000 коннектов.

- учет через ulog+самописка

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

cat /sys/devices/system/clocksource/clocksource0/current_clocksource
на что влияет?

какой рекомендуете?

Until TSC becomes invariant, AMD recommends that operating

system developers avoid TSC as a fast timer source on

affected systems. (AMD recommends that the operating system

should favor these time sources in a prioritized manner:

HPET first, then ACPI PM Timer, then PIT.)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

cat /sys/devices/system/clocksource/clocksource0/current_clocksource
на что влияет?

какой рекомендуете?

пишу по памяти сведения примерно годовой давности

 

в некоторых условиях (если открыт хотя бы один raw-socket с включённой опцией SO_TIMESTAMP или типа того)

линукс хочет знать точное время прибытия каждого пакета

из приложений, которые открывают сокеты данного типа: tcpdump (точно), isc-dhcpd (если правильно помню)

 

все clocksources, кроме tsc, медленные: на нагруженном роутере будет заметно падение производительности

если запусть oprofile, то в топе будут видны функции, связанные с узнаванием времени

 

tsc нестабилен на некоторых аппаратных конфигурациях, в этих условиях ядро использует другие источники, с соответствующим падением производительности

 

у меня есть патч, отменяющий точные timestamps для входящих пакетов

отмена настраивается через sysctl

в linux-kernel патч не взяли, но я использовал на нескольких линукс-роутерах

могу отправить по запросу, если актуально

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

cat /sys/devices/system/clocksource/clocksource0/current_clocksource
на что влияет?

какой рекомендуете?

пишу по памяти сведения примерно годовой давности

 

в некоторых условиях (если открыт хотя бы один raw-socket с включённой опцией SO_TIMESTAMP или типа того)

линукс хочет знать точное время прибытия каждого пакета

из приложений, которые открывают сокеты данного типа: tcpdump (точно), isc-dhcpd (если правильно помню)

 

все clocksources, кроме tsc, медленные: на нагруженном роутере будет заметно падение производительности

если запусть oprofile, то в топе будут видны функции, связанные с узнаванием времени

 

tsc нестабилен на некоторых аппаратных конфигурациях, в этих условиях ядро использует другие источники, с соответствующим падением производительности

 

у меня есть патч, отменяющий точные timestamps для входящих пакетов

отмена настраивается через sysctl

в linux-kernel патч не взяли, но я использовал на нескольких линукс-роутерах

могу отправить по запросу, если актуально

Актуально конечно

sirmax at noname.com.ua

 

но если на сервере нет ни tcpdump ни isc-dhcpd то как я понимаю, проблемы нет?

Если ядро выбрало другой источник, не tsc, то эта платформа для роутера что ли совсем не годиться? У меня дуал-коре дуал-оптерон (2 проца по 2 ядра), и источник

zireael # cat /sys/devices/system/clocksource/clocksource0/current_clocksource

acpi_pm

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

но если на сервере нет ни tcpdump ни isc-dhcpd то как я понимаю, проблемы нет?

Если ядро выбрало другой источник, не tsc, то эта платформа для роутера что ли совсем не годиться? У меня дуал-коре дуал-оптерон (2 проца по 2 ядра), и источник

zireael # cat /sys/devices/system/clocksource/clocksource0/current_clocksource

acpi_pm

ну захочется запустить tcpdump, и вдруг начнутся проблемы, типа не хватит процессора для квагги или что у вас там

патч сейчас найду и вышлю

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что скажете насчет hpet (http://en.wikipedia.org/wiki/HPET)? Он лучше tsc или как?

Я так понял проблема с tcpdump и ping на нем проявляется, а как в плане производительности?

Изменено пользователем SokolovS

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

RAW socket еще открываться (тадаааааам... ) пингом.

Достаточно запустить под юзером ping (он ведь суидный, зараза) - и привет.

 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну блин. Дак а опцией разработчикам не судьба сделать?

А в плане быстродействия как? Есть разница по сравнению с tsc, если отбросить глюки с raw сокетом?

P.S.: Похакать не кто не пробовал? Может патч на ядро есть?

Изменено пользователем SokolovS

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Есть ли разница в одной asm инструкции и дергании IRQ с кучей записи в регистры и т.п.?

Мне пришлось купить дорогостоящий новый сервер с Intel, вместо AMD (с его нестабильным и соответственно неюзабельным SMP tsc). Т.к. данный баг исключал возможность запуска tcpdump и пинг на сервере.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На собственном опыте видел меньшие (примерно на 20%) показатели одинакогого raid контроллера на мамке с GCLE и на мамке с интелом, процы/память/диски были одинаковые (тестовый стенд).

 

Может попробовать на другой матери прогнать ту-же конфигурацию?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А скажите, пожалуйста, как вы свои PPS смотрите :)

Есть жуткая проблема с ksoftirqd на софтовом роутере. Карточка интеловская встроенная (драйвер e1000e)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Linux 2.6.25 на 4х ядерном 2хГг Xeone.

accel-pptp, openl2tpd, zebra, nat, tc

 

На данный момент на одном из серверов поднято 1084 сессии.

eth1 смотрит в инет

if_bw.pl eth1 5

Init... Init...

Speed IN 120343 Kbits/s: 16 KPPS Speed OUT 38194 Kbits/s: 14 KPPS

Speed IN 114543 Kbits/s: 16 KPPS Speed OUT 38771 Kbits/s: 14 KPPS

 

mpstat -P ALL 1

09:24:53 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s

09:24:54 PM all 0.00 0.00 0.00 0.00 0.50 18.50 0.00 81.00 23184.00

09:24:54 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00

09:24:54 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00

09:24:54 PM 2 0.00 0.00 0.00 0.00 2.00 43.00 0.00 55.00 10945.00

09:24:54 PM 3 0.00 0.00 0.00 0.00 0.00 31.00 0.00 69.00 12236.00

 

В iptables больше 3000 правил, точнее 3137

Изменено пользователем shaytan

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

При скоростях в районе 100Мб, 3К правил - это не критично. Попробуйте дать 400-500Мб и увидите как "меняется мир".

Я это уже проходил.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

if_bw.pl - это чего такое?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

if_bw.pl - это чего такое?

Это скриптик на перле,смотрит счётчики пакетиков и байтиков через proc.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а посмотреть на него можно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

зачем скрипт, если всё есть в sysstat? ещё раз повторю:

 

[root@billing ~]# sar -n DEV 1

Linux 2.6.18-92.1.22.el5PAE 24.05.2009

 

11:29:31 IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s

11:29:32 lo 0,00 0,00 0,00 0,00 0,00 0,00 0,00

11:29:32 eth1 10927,00 9447,00 10523874,00 4435639,00 0,00 0,00 0,00

11:29:32 eth0 9529,00 10670,00 4553704,00 10154543,00 0,00 0,00 0,00

 

Среднее: IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s

Среднее: lo 0,00 0,00 0,00 0,00 0,00 0,00 0,00

Среднее: eth1 10927,00 9447,00 10523874,00 4435639,00 0,00 0,00 0,00

Среднее: eth0 9529,00 10670,00 4553704,00 10154543,00 0,00 0,00 0,00

[root@billing ~]#

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.