Tooreagen Posted January 15, 2023 Posted January 15, 2023 Всем привет! Ребят помогите решить проблему увеличение пинга и падения скорости у абонентов. В инете куча инфы, но не могу систематизировать и подобрать для своей конфигурации: Система: FreeBSD 9.3-RELEASE-p20 Сетевая карта: 2-х портовая 82599EB 10-Gigabit SFI/SFP+ Процессор: Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz ОЗУ: Всего 32Gb, использовано 4Gb. ПО: dummynet нет, PF NAT, фаервол IPFW, абоненты подключаются по PPPoE mpd5 Трафика 1,5G, надо прожевать 5G Подскажите какие мне параметры loader.conf и sysctl установить чтобы более-менее заработало. Спасибо. Про обновить систему знаю, это будет позже, есть нюансы в подготовке, сейчас главное чтобы работало. Вставить ник Quote
jffulcrum Posted January 15, 2023 Posted January 15, 2023 1. Вы сидите на очень древней ОС. 9 была актуальна 10 лет назад 2. Надо понять, а какая нагрузка сейчас. vmstat -i, vmstat -s хоты бы вывод 3. Такой трафик ваши процессор и карта должны есть на завтрак без нужды каких-то ковыряний. Скорее, эти ковыряния были сделаны по мануалам 10-летней давности, от них и проблемы. Выложите, что сейчас в sysctl.conf и loader.conf Вставить ник Quote
Tooreagen Posted January 15, 2023 Author Posted January 15, 2023 Не спорю, готовимся обновится но есть нюансы с сетевой инфракструктурой. $ vmstat -i interrupt total rate irq1: atkbd0 18 0 irq20: ehci1 157764 2 irq21: ehci0 94710 1 cpu0:timer 70492377 1117 irq274: ciss0 116180 1 irq275: ix0:que 0 295666673 4687 irq276: ix0:que 1 180242852 2857 irq277: ix0:que 2 175591722 2784 irq278: ix0:que 3 175189421 2777 irq279: ix0:que 4 176534141 2799 irq280: ix0:que 5 170624791 2705 irq281: ix0:que 6 174998688 2774 irq282: ix0:que 7 173487851 2750 irq283: ix0:link 10 0 irq284: ix1:que 0 349903662 5547 irq285: ix1:que 1 248295010 3936 irq286: ix1:que 2 249385356 3954 irq287: ix1:que 3 241537219 3829 irq288: ix1:que 4 256050523 4059 irq289: ix1:que 5 249567367 3957 irq290: ix1:que 6 250770039 3976 irq291: ix1:que 7 251223797 3983 irq292: ix1:link 10 0 cpu14:timer 7722295 122 cpu8:timer 2722222 43 cpu17:timer 7435385 117 cpu5:timer 46199162 732 cpu16:timer 7448187 118 cpu4:timer 46063140 730 cpu19:timer 7403627 117 cpu1:timer 46223095 732 cpu11:timer 7712094 122 cpu3:timer 46197136 732 cpu15:timer 7506871 119 cpu12:timer 7669605 121 cpu2:timer 45953506 728 cpu18:timer 7417658 117 cpu13:timer 7619743 120 cpu6:timer 46082493 730 cpu10:timer 7848101 124 cpu7:timer 45808696 726 cpu9:timer 2722975 43 Total 4093686172 64908 vmstat -s 2069284061 cpu context switches 3626848245 device interrupts 65982691 software interrupts 28048034 traps 4039617000 system calls 21 kernel threads created 81578 fork() calls 24892 vfork() calls 0 rfork() calls 0 swap pager pageins 0 swap pager pages paged in 0 swap pager pageouts 0 swap pager pages paged out 1004 vnode pager pageins 6977 vnode pager pages paged in 0 vnode pager pageouts 0 vnode pager pages paged out 0 page daemon wakeups 0 pages examined by the page daemon 15 pages reactivated 2922432 copy-on-write faults 2516 copy-on-write optimized faults 7334613 zero fill pages zeroed 0 zero fill pages prezeroed 20 intransit blocking page faults 19026265 total VM faults taken 0 pages affected by kernel thread creation 45349631 pages affected by fork() 12736875 pages affected by vfork() 0 pages affected by rfork() 57 pages cached 54241407 pages freed 0 pages freed by daemon 6186539 pages freed by exiting processes 19275 pages active 910102 pages inactive 0 pages in VM cache 604499 pages wired down 6585928 pages free 4096 bytes per page 10102337 total name lookups cache hits (89% pos + 10% neg) system 0% per-directory deletions 0%, falsehits 0%, toolong 0% cat /etc/sysctl.conf vfs.read_max=32 net.inet.ip.forwarding=1 net.inet.ip.fastforwarding=1 net.inet.ip.dummynet.io_fast=1 net.inet.ip.dummynet.hash_size=65535 net.inet.ip.dummynet.pipe_slot_limit=2048 net.inet.ip.fw.one_pass=1 net.inet.tcp.blackhole=2 net.inet.udp.blackhole=1 net.inet.icmp.drop_redirect=1 net.inet.icmp.log_redirect=0 net.inet.icmp.maskrepl=0 net.inet.icmp.icmplim=100 net.inet.icmp.bmcastecho=0 net.inet.ip.redirect=0 net.inet.ip.sourceroute=0 net.inet.ip.accept_sourceroute=0 net.inet.ip.ttl=226 net.inet.tcp.drop_synfin=1 net.inet.tcp.syncookies=1 kern.ipc.somaxconn=32768 kern.maxfiles=204800 kern.maxfilesperproc=200000 kern.ipc.nmbclusters=524288 kern.ipc.maxsockbuf=83886080 kern.random.sys.harvest.ethernet=0 kern.random.sys.harvest.interrupt=0 kern.ipc.shmmax=67108864 net.inet.ip.intr_queue_maxlen=10240 #MPD net.graph.maxdgram=128000 net.graph.recvspace=128000 net.inet6.ip6.auto_linklocal=0 # for rtsock net.route.netisr_maxqlen=4096 # for other protocols (IP & PPPoE?) net.isr.defaultqlimit=4096 # default outgoing interface queue length # used by lagg etc. net.link.ifqmaxlen=10240 loader.conf пустой Вставить ник Quote
Ivan_83 Posted January 16, 2023 Posted January 16, 2023 1. не тратте время и обновляйтесь. 2. проц не того класса: много ядер-мало частоты, лучше было бы наоборот. 4-8 ядер современного проца должно хватить. 3. лучше смотреть старые темы, я уже не помню крутилок. Скорее всего оно упирается в 1-2 ядра из за особенностей PPPoE. top -aSHIP должен это примерно и показать. Вставить ник Quote
Tooreagen Posted January 16, 2023 Author Posted January 16, 2023 Так и есть, первое ядро уже почти на максимуме Т.е. может помочь установить количество прерываний и раскидать их по ядрам? hw.ix.num_queues=20 Вставить ник Quote
jffulcrum Posted January 16, 2023 Posted January 16, 2023 Можно пока смотреть темы: Возможно вы как раз в лимит 500 сессий стукаетесь, а не в трафик Вставить ник Quote
Tooreagen Posted January 16, 2023 Author Posted January 16, 2023 Ну в 12 ветке FreeBSD там же iflib уже используется, а по сессиям то у меня уже сейчас: netstat -rn | grep -v grep | grep -c ng 870 Вставить ник Quote
st_re Posted January 16, 2023 Posted January 16, 2023 1 час назад, Tooreagen сказал: Так и есть, первое ядро уже почти на максимуме Т.е. может помочь установить количество прерываний и раскидать их по ядрам? hw.ix.num_queues=20 у Вас там pppoe и pf (на вашей версии фри) не умеют в многопроцессорность. и именно тут оно и воткнёт (и это и видно что одно ядро 85%, остальные курят). надо мало ядер, но большой частоты камень. И если с pf вроде как в свежих верисях поборолись то с пппое всё хуже в этом плане. Вставить ник Quote
Ivan_83 Posted January 16, 2023 Posted January 16, 2023 10 hours ago, Tooreagen said: Т.е. может помочь установить количество прерываний и раскидать их по ядрам? Установить - поможет мало, PPPoE не размазывается по прерываниям, особенности реализации хэш функции в железе. Вставить ник Quote
Tooreagen Posted January 16, 2023 Author Posted January 16, 2023 Ну как-то же работали раньше, с нагрузкой. Что-то же делали? Вставить ник Quote
Ivan_83 Posted January 16, 2023 Posted January 16, 2023 Читайте, на форуме всё было. Если нет возможности раскидать по прерываниям сетевухой значит нужно раскидывать позже, это isr, в старой фре ещё нетграфом можно было, потом из нетграфа это выкинули и втащили туда тот же isr. Патч для ng_pppoe (вроде него) я тут выкладывал, вроде его даже кто то тестил. https://forum.nag.ru/index.php?/topic/159591-problema-na-freebsd-111-i-mpd58/&do=findComment&comment=1657001 И в целом тут никто не будет искать для вас ответы и вспоминать как оно было 10 лет назад, читайте форум, тут всё уже было. Вставить ник Quote
Sacrament Posted January 17, 2023 Posted January 17, 2023 Переходите на Линукс, там с этим куда лучше. Вставить ник Quote
Ivan_83 Posted January 17, 2023 Posted January 17, 2023 15 hours ago, Sacrament said: Переходите на Линукс, там с этим куда лучше. Готовы отвечать на вопросы по 2.6 ядру?) Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.