Jump to content

Recommended Posts

Posted

Linux 2.6.18-4-amd64

PPPoE NAS

 

Решил проверить, что грузит проц.

 

# opreport

CPU: Core 2, speed 2000 MHz (estimated)

Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000

CPU_CLK_UNHALT...|

samples| %|

------------------

273404 73.7147 ip_tables

48430 13.0576 vmlinux

12671 3.4163 e1000

9535 2.5708 ip_conntrack

8032 2.1656 bnx2

6567 1.7706 pppoe

5378 1.4500 ppp_generic

1358 0.3661 oprofiled

864 0.2330 libc-2.3.6.so

665 0.1793 iptable_nat

538 0.1451 libzebra.so.0.0.0

...

 

Вопрос: я правильно понимаю, что именно iptables корень проблемы ?

Ведь в отчетах oprofile указано кол-во обращений к модулю, а не сама по себе "загрузка".

Количество обращений к этому модулю пропорционально создаваемой загрузке ? Или надо копать глубже ?

Posted

Да, именно iptables грузит железку. Можно при особом желании даже посмотреть по функциям причину (opannotate / opreport -l /iptables ...) - но в этом особого смысла нет.

Это не количество обращений, а данные с performance counters, т.е. именно кто использовал "сколько" CPU. oprofile не всегда истина в последней инстанции, но мой опыт показал - что почти всегда правильно, и лишь иногда чуть привирает (при перегрузе).

Posted (edited)

iptebles содержит примерно 2600 правил (на 99% это запрещающие правила drop). Неужели это слишком много ?

Попробовал сбросить все таблицы. Сразу полегчало.

Много думаю...

Может вместе с новым ядром поменять и iptables ?

Edited by Ivan Rostovikov
Posted

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

Допустим у вас есть правила на несколько подсетей, на каждую подсеть C штук 100.

Можно так

iptables -A INPUT -d 3.4.5.0/24 -j INPUT-NET-3.4.5

iptables -A INPUT-NET-3.4.5 -d 3.4.5.1/32 ... -j DROP

iptables -A INPUT-NET-3.4.5 -d 3.4.5.2/32 ... -j DROP

Можно еще подразбить - и так, чтоб цепочка была минимальной для большинства пакетов.

 

Posted

К сожалению не помогло :(

 

#dd if=vmlinuz-2.6.18-4-686 skip=`./binoffset vmlinuz-2.6.18-4-686 0x1f 0x8b 0x08 0x00` bs=1|gzip -d > vmlinux-2.6.18-4-686
filesize: 1261216
number of pattern matches = 1
20912
1240304+0 записей считано
1240304+0 записей написано
скопировано 1240304 байта (1,2 MB), 7,66809 секунд, 162 kB/s
#
# opcontrol --setup --vmlinux=vmlinux-2.6.18-4-686
The specified file vmlinux-2.6.18-4-686 does not seem to be valid
Make sure you are using the non-compressed image file (e.g. vmlinux not vmlinuz)

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.