Jump to content
Local
laffytaffy

Нужен совет. разница в загрузке сетевых карт.

Recommended Posts

Собственно нужен совет почему так. Сервер доступа

 

nas1# uname -a
FreeBSD nas1.freebit.net.ua 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Mon Feb 28 16:44:20 EET 2011	 root@:/usr/obj/usr/src/sys/GW1  amd64

 

top

 

last pid: 37271;  load averages:  4.50,  4.09,  4.04	up 8+22:04:20  20:49:07
93 processes:  10 running, 64 sleeping, 19 waiting
CPU 0:  0.0% user,  0.0% nice, 86.9% system,  0.0% interrupt, 13.1% idle
CPU 1:  1.1% user,  0.0% nice, 71.9% system,  2.2% interrupt, 24.7% idle
CPU 2:  0.0% user,  0.0% nice, 88.0% system,  0.4% interrupt, 11.6% idle
CPU 3:  0.0% user,  0.0% nice, 98.9% system,  0.0% interrupt,  1.1% idle
Mem: 97M Active, 222M Inact, 387M Wired, 496K Cache, 213M Buf, 1269M Free
Swap: 4096M Total, 4096M Free
 PID USERNAME PRI NICE   SIZE	RES STATE  C   TIME   WCPU COMMAND
  31 root	  43	-	 0K	16K CPU1   3  76.0H 100.00% em1_rx0_0
  32 root	  43	-	 0K	16K CPU3   3  75.9H 100.00% em1_rx0_1
  52 root	 -68	-	 0K	16K CPU0   0  57.3H 79.20% dummynet
  28 root	  43	-	 0K	16K RUN	2  28.8H 35.06% em0_rx0_1
  27 root	  43	-	 0K	16K RUN	2  28.7H 34.08% em0_rx0_0
  13 root	 171 ki31	 0K	16K RUN	1 141.8H 19.87% idle: cpu1
  14 root	 171 ki31	 0K	16K RUN	0 137.2H 14.99% idle: cpu0
  11 root	 171 ki31	 0K	16K RUN	3 148.7H  9.57% idle: cpu3
  12 root	 171 ki31	 0K	16K RUN	2 148.2H  9.28% idle: cpu2
  25 root	  16	-	 0K	16K WAIT   2  86:10  0.49% swi16: em0_tx
  29 root	  16	-	 0K	16K WAIT   2  68:41  0.20% swi16: em1_tx
  15 root	 -32	-	 0K	16K WAIT   2  44:03  0.00% swi4: clock sio

 

netstat

 

nas1# netstat -w 1 -I em1
		input		  (em1)		   output
  packets  errs	  bytes	packets  errs	  bytes colls
 40666	 0   44254186	  32107	 0   14221668	 0
 49197	 0   55682789	  37641	 0   16396562	 0
 44485	 0   48322297	  36170	 0   16606659	 0
 45383	 0   50147857	  35391	 0   15767698	 0
 45216	 0   50519446	  35909	 0   16312963	 0
 40484	 0   43262800	  32715	 0   15026413	 0
 48581	 0   53982411	  37243	 0   16785994	 0
 45070	 0   49937292	  34785	 0   14310229	 0
 44536	 0   48234034	  35932	 0   15545967	 0
 39957	 0   44142618	  30854	 0   14000010	 0
 47833	 0   53703541	  36880	 0   16720709	 0
 40925	 0   44266040	  33159	 0   15606619	 0
 40695	 0   43765070	  33473	 0   16464586	 0
Terminated

 

 

не могу понять почему такая разница в загрузке между em0 и em1

Нагрузка может как резко возрасти и держаться 10-20 минут и так же резко упасть, а может держаться несколько часов. Зависимости от трафика - нет, от количества нат-сессий - нет.

Share this post


Link to post
Share on other sites

Это нормальная нагрузка dummynet?

Происходит тоже самое, загрузка обоих ядер, примерно по 20%.

В какой то момент становится 100%, при это основное съедает em0 em1 и думминет.

Количество сессий не увеличивается, а трафик наоборот проседает где то в двое.

Через 5-10 минут становится нормально. Замечал только вечером.

Share this post


Link to post
Share on other sites

аналогичная ситуация, трафик не вдвое но на треть уменьшается.

Share this post


Link to post
Share on other sites

Это нормальная нагрузка dummynet?

 

в час пик примерно варьируется от 75% до 85% загрузка ядра дамминетом

Share this post


Link to post
Share on other sites

Разная загрузка ядер сетевками нормальна, в конце концов на определенных интерфейсах делается NAT и висят шейперы. Хотя и при чистой маршрутизации загрузка не будет одинакова, для одного интерфейса трафик будет входящим, для другого соответственно исходящим, тут даже большая таблица маршрутизации будет нагрузку давать.

Use linux.

Share this post


Link to post
Share on other sites

хочу понять из-за чего нагрузка прыгает, потому как ни от кол-ва трафика, ни от кол-ва нат-сессий зависимости не выявлено

Share this post


Link to post
Share on other sites

netstat по em0 покажи

и pciconf -lv по em0/1

и строчки из /var/run/dmesg.boot

Share this post


Link to post
Share on other sites
netstat по em0 покажи и pciconf -lv по em0/1 и строчки из /var/run/dmesg.boot

 

nas1# cat /var/run/dmesg.boot | grep em0
em0: <Intel(R) PRO/1000 Network Connection 7.0.5.Yandex[$Revision: 1.36.2.18 $]> port 0xb880-0xb89f mem 0xfe880000-0xfe89ffff,0xfe860000-0xfe87ffff irq 16 at device 0.0 on pci2
em0: Using MSI interrupt
em0: [FILTER]
em0: Ethernet address: 00:15:17:dd:ae:aa

 

nas1# cat /var/run/dmesg.boot | grep em1
em1: <Intel(R) PRO/1000 Network Connection 7.0.5.Yandex[$Revision: 1.36.2.18 $]> port 0xbc00-0xbc1f mem 0xfe8e0000-0xfe8fffff,0xfe8c0000-0xfe8dffff irq 17 at device 0.1 on pci2
em1: Using MSI interrupt
em1: [FILTER]
em1: Ethernet address: 00:15:17:dd:ae:ab

Share this post


Link to post
Share on other sites
nas1# netstat -rn -w 1 -I em0
	    input		  (em0)		   output
  packets  errs	  bytes    packets  errs	  bytes colls
 25213	 0   12586606	  28658	 0   29978624	 0
 23660	 0   11539790	  26694	 0   27633029	 0
 25347	 0   12529685	  29450	 0   30304285	 0
 23951	 0   11767550	  27367	 0   29334973	 0
 25036	 0   11867269	  28971	 0   30350787	 0
 23865	 0   11434590	  27306	 0   28303030	 0
^C
nas1# netstat -rn -w 1 -I em1
	    input		  (em1)		   output
  packets  errs	  bytes    packets  errs	  bytes colls
 31890    13   33789866	  24868	 0   11741858	 0
 28751   202   29007400	  25854	 0   10833367	 0
 29152	 0   30046458	  24894	 0   11865775	 0
 27887   230   26777592	  25047	 0   11932990	 0
 26262   243   25698303	  23609	 0   11588575	 0
 27260    24   26345664	  24899	 0   12537882	 0
 27922   161   26952451	  25179	 0   13356213	 0
 24545   128   23895555	  22204	 0   11552069	 0
 25897   200   24306051	  23347	 0   11608749	 0
 30283	 0   31397391	  25752	 0   12096021	 0
 27373   144   28623039	  23409	 0   10844988	 0
 27382   212   26848753	  23184	 0   11546985	 0
 24484   186   23841766	  22264	 0   11142167	 0
 27718    47   26607481	  24297	 0   12500195	 0
 25328   203   25256775	  22316	 0   11244390	 0
 24403   116   22586359	  22705	 0   11538911	 0
 28069    12   28240113	  23536	 0   12128392	 0
^C

Share this post


Link to post
Share on other sites

em1 смотрит на БГП ?

Если да, не заруливается ли с БГП на этот сервак какой-либо блок внешних адресов ?

Share this post


Link to post
Share on other sites

имеете ввиду, крутится ли на этой машинке bgp - нет, перед ней еще стоит пограничный маршрутизатор, на маршрутизаторе стоят фильтры.

Share this post


Link to post
Share on other sites

вот например, трафик выше в 2 раза, чем в предыдущем посте и ошибок нет и проц не в полке

 

nas1# netstat -w 1 -I em1
		input		  (em1)		   output
  packets  errs	  bytes	packets  errs	  bytes colls
 59802	 0   72918188	  42736	 0   18974758	 0
 61571	 0   76002203	  44453	 0   19092951	 0
 62014	 0   75636636	  44854	 0   20267569	 0
 60708	 0   73416718	  44983	 0   20528601	 0
 60875	 0   74149548	  43955	 0   20401444	 0
 60068	 0   73001785	  44094	 0   19860044	 0
 60335	 0   73124348	  44340	 0   21097461	 0
 60703	 0   73737900	  44420	 0   21588056	 0
 64609	 0   79927131	  45567	 0   20159777	 0
 61488	 0   75486273	  44046	 0   19358085	 0
 59906	 0   72033963	  44480	 0   20843751	 0
 59741	 0   71656498	  44121	 0   20837278	 0
 58641	 0   70958537	  43127	 0   20489312	 0
 58996	 0   70933299	  42814	 0   20520084	 0
 57186	 0   68102695	  43352	 0   21746162	 0
 56474	 0   67608306	  43089	 0   20597239	 0
 59276	 0   72138554	  41996	 0   18682065	 0
 59778	 0   72792095	  44026	 0   20206665	 0
 58491	 0   69932101	  43735	 0   20752907	 0
 60523	 0   72716295	  44789	 0   21573183	 0
		input		  (em1)		   output
  packets  errs	  bytes	packets  errs	  bytes colls
 64960	 0   80198737	  45717	 0   19758408	 0
 61997	 0   74747395	  44421	 0   20775572	 0
 60781	 0   73382372	  44538	 0   20225025	 0
 62918	 0   76244719	  45109	 0   20557795	 0
 60836	 0   73836576	  43714	 0   19957047	 0
 58504	 0   70250673	  43763	 0   20401480	 0
 62406	 0   76054425	  45005	 0   20467699	 0
 61954	 0   75217337	  44550	 0   19859601	 0
 61242	 0   74365524	  44144	 0   20116830	 0
 60215	 0   72347370	  44010	 0   21035600	 0
 59714	 0   71729017	  44003	 0   20550829	 0
 62656	 0   76426607	  44693	 0   18928326	 0
 60657	 0   73197970	  44495	 0   20108330	 0
 60403	 0   72674341	  43845	 0   20394198	 0
 59074	 0   70828441	  44590	 0   21634079	 0
 57724	 0   70451735	  41327	 0   17355994	 0
^C

Share this post


Link to post
Share on other sites

Нет. Имелось ввиду следующее (давно это было :) ):

Есть БГП. За ним сервер с НАТом.

На этот сервер заруливается блок внешних адресов.

Эти самые адреса используются для nat source-hash, то-есть физически их не было ни на одном ифейсе.

Так вот в моменты пиковой нагрузки или отключении шейпера начинала сыпаться куча ошибок в нетстате и трафик проседал более чем в два раза.

Быстрый досмотр показал наличие огромного кол-ва АРП пакетов для вот этих самых непривязанных адресов.

Решилось привязкой КАЖДОГО такого белого адреса на внешний ифейс с маской /32.

 

п.с. Ну это так - лирика )

Уже увидел по ситуации, что на наш случай не похоже.

Share this post


Link to post
Share on other sites

Нет. Имелось ввиду следующее (давно это было :) ):

Есть БГП. За ним сервер с НАТом.

На этот сервер заруливается блок внешних адресов.

Эти самые адреса используются для nat source-hash, то-есть физически их не было ни на одном ифейсе.

Так вот в моменты пиковой нагрузки или отключении шейпера начинала сыпаться куча ошибок в нетстате и трафик проседал более чем в два раза.

Быстрый досмотр показал наличие огромного кол-ва АРП пакетов для вот этих самых непривязанных адресов.

Решилось привязкой КАЖДОГО такого белого адреса на внешний ифейс с маской /32.

 

п.с. Ну это так - лирика )

Уже увидел по ситуации, что на наш случай не похоже.

 

нет, точно не такая ситуация, что-то нагружается машинку, не молниеносно, но как-то неравномерно, не могу выявить зависимости.

Может быть pps за 60к и трафика под 700 мегабит и процессор загружен на 70%, а может быть pps 30к и трафика около 300 мегабит, а процессор загружен на 100%, причем загружены только 2 ядра, по топу видно. По нату тоже зависимости не выявлено, может быть 200к нат сессий и процессор максимум 40-50%, а может быть 150к нат сессий, а проц в полке, опять же по top, 2 ядра на 100% заняты прерываниями внешней сетевой.

Share this post


Link to post
Share on other sites

на внешную сетевую стоит поставить intel с чипом 82576 ( у карты 4 очереди на вход и 4 очереди на выход на каждый езернет порт) а у предидуших моделей чипов всего 2-4 очереди против 8ми в этой модели.

 

Соотвественно с таким колличеством очередей вы сможете равномерно распределить их между ядрами и получить желаемый эффект.

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

Share this post


Link to post
Share on other sites

а dummynet прибит к 0 ядру?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Максим97
      что нужно настроить, что бы велся учет переданных данных и снималась абонентская плата в схеме собранной в GNS3?
    • By Amourmort
      Доброго времени суток!
      Был шлюз, настроенный неизвестно когда неизвестным админом. Всё прекрасно работало, интернет людям раздавался, пока не возникла необходимость перейти на другого провайдера.

      У предыдущего провайдера IP шлюзу не выдавался, адрес и шлюз был настроен прямо в rc.conf.
      У нового провайдера PPPoE
      Штатными средствами фряхи у меня поднять соединение не получилось... Вернее, соединение поднималось только вручную, командой /etc/rc.d/ppp start - при перезагрузке соединение автоматически не стартовало.
      Решил использовать утилиту mpd5 для PPPoE. Вот содержимое mpd.conf:
      default: load pppoe_client pppoe_client: # # PPPoE client: only outgoing calls, auto reconnect, # ipcp-negotiated address, one-sided authentication, # default route points on ISP's end # create bundle static B1 # set iface enable nat ##NAT is configured elsewhere set iface route default set ipcp ranges 0.0.0.0/0 0.0.0.0/0 create link static L1 pppoe set link action bundle B1 set auth authname ******** set auth password ******** set link max-redial 0 set link mtu 1492 set link keep-alive 10 60 set pppoe iface igb0 set pppoe service "" open Внёс правки в rc.conf, добавив туда запуск mpd5 и убрав интерфейс igb0. Так же, убрал строку defaultrouter - она была нужна для работы с предыдущим провайдером, с новым резолвер получает данные автоматически.
      Далее, в качестве фаервола используется PF.
      В /etc/pf.conf, к счастью, использованы переменные для конфигурации. Меняю одну переменную ext_if = "igb0" на ext_if = "ng0" и думаю, что дело сделано. Соединение при перезагрузке поднимается, доступ в интернет есть... Довольный собой уехал с объекта домой.
      Вроде бы всё хорошо.
      Но вдруг оказывается, что доступ есть далеко не к каждому сайту. Например, к укр.нет доступ есть. А к bitrix24.ua - нет.
      Пингую с сервака:
       
      ping bitrix24.ua PING bitrix24.ua (18.232.195.40): 56 data bytes ^C --- bitrix24.ua ping statistics --- 26 packets transmitted, 0 packets received, 100.0% packet loss ЧЗН? Спидтест:
       
      speedtest-cli Retrieving speedtest.net configuration... Testing from LIMANET Ltd. (141.105.132.238)... Retrieving speedtest.net server list... Selecting best server based on ping... Hosted by ISP Black Sea (Одесса) [0.43 km]: 5034.671 ms Testing download speed................................................................................ Download: 0.00 Mbit/s Testing upload speed................................................................................................ Upload: 0.00 Mbit/s АААААААААААААААААААА!!!! Что это???
       
      ping korinf-group.com PING korinf-group.com (91.234.33.240): 56 data bytes 64 bytes from 91.234.33.240: icmp_seq=0 ttl=58 time=13.654 ms 64 bytes from 91.234.33.240: icmp_seq=1 ttl=58 time=13.475 ms 64 bytes from 91.234.33.240: icmp_seq=2 ttl=58 time=13.332 ms 64 bytes from 91.234.33.240: icmp_seq=3 ttl=58 time=13.913 ms 64 bytes from 91.234.33.240: icmp_seq=4 ttl=58 time=14.873 ms 64 bytes from 91.234.33.240: icmp_seq=5 ttl=58 time=14.033 ms 64 bytes from 91.234.33.240: icmp_seq=6 ttl=58 time=13.743 ms ^C --- korinf-group.com ping statistics --- 7 packets transmitted, 7 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 13.332/13.860/14.873/0.469 ms ping google.com.ua PING google.com.ua (216.58.215.67): 56 data bytes 64 bytes from 216.58.215.67: icmp_seq=0 ttl=120 time=27.686 ms 64 bytes from 216.58.215.67: icmp_seq=1 ttl=120 time=27.766 ms 64 bytes from 216.58.215.67: icmp_seq=2 ttl=120 time=27.738 ms 64 bytes from 216.58.215.67: icmp_seq=3 ttl=120 time=27.651 ms 64 bytes from 216.58.215.67: icmp_seq=4 ttl=120 time=27.603 ms 64 bytes from 216.58.215.67: icmp_seq=5 ttl=120 time=27.781 ms 64 bytes from 216.58.215.67: icmp_seq=6 ttl=120 time=27.562 ms ^C --- google.com.ua ping statistics --- 7 packets transmitted, 7 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 27.562/27.684/27.781/0.077 ms Как такое может быть? Куда копать?
      При этом, если на компе юзера включить какой-нибудь "впн", с туннелем через Киев или Берлин, доступ к любым сайтам есть, как положено...
    • By Максим97
      После установки FreeBSD на виртуал бокс по инструкции с данного видео, не устанавливается пакет pkg и не могу зайти в режим супер юзера, что делать?
    • By KGroup
      Всем привет!
      Подскажите плиз: Как очистить содержимое всех файлов в каталоге на системе linux без удаления самих файлов?
      Может скрипт какой есть для примера?
       
      зы.
      sudo cat /dev/null > file.txt работает только с одним файлом...
       
    • By a_n_h
      Всем доброго дня!
      в чем разница между созданием vlan:
       
      1-й способ:
      cloned_interfaces="vlan101 vlan102 vlan103 vlan104"
      ifconfig_igb0="up"
      ifconfig_igb1="up"
      ifconfig_igb2="up"
      ifconfig_igb3="up"
      ifconfig_vlan101="vlan 101 vlandev igb0 up"
      ifconfig_vlan102="vlan 102 vlandev igb1 up"
      ifconfig_vlan103="vlan 103 vlandev igb2 up"
      ifconfig_vlan104="vlan 104 vlandev igb3 up"
       
       
      и 2-й способ:
      cloned_interfaces="igb0.101 igb0.102 igb2.103 igb2.104 up"
       
       
×