Перейти до

major12

Маглы
  • Всього повідомлень

    89
  • Приєднався

  • Останній візит

  • Дней в лидерах

    2

Все, що було написано major12

  1. major12

    FreeBSD hi loading CPU

    2 BARVIT Ви принципово ігноруєте мої рекомендації?
  2. major12

    FreeBSD hi loading CPU

    Ще раз запитаю ipfw nat show config ipfw nat show
  3. major12

    FreeBSD hi loading CPU

    Дуже подібно що таки LibAlias. nat 1: icmp=14, udp=26044, tcp=14320, sctp=0, pptp=0, proto=0, frag_id=715 frag_ptr=0 / tot=41093 Навіть циферки майже ті самі - 40к-45к сесій і починаються проблеми. Тільки у мене frag_id завжди нулі. Спробуйте те що я радив. Ну і можливо mbuf clusters покрутіть, бо краще коли total < max.
  4. major12

    FreeBSD hi loading CPU

    Додайте deny_in бо воно дійсно мастхев. І другий крок - не використовувати same_ports + патчик, про який я говорив на 3-й сторінці цієї теми.
  5. major12

    FreeBSD hi loading CPU

    2 BARVIT Напишіть "для протоколу" вивід команди ipfw nat show config і чи ставили ви патчик про який я писав?
  6. major12

    FreeBSD hi loading CPU

    2 FTTH_VN Розкажіть нам краще, чим вам так pf nat сподобався, що ви увірували.Буде користь хоч якась. Ну і всякі пруфлінки/презентації/обгрунтування можна і зразу в пості писати, а не чекати поки хто спитає Фряха десята - я у неї теж вірю. Але юзати буду з 10.1. А nightfly з 10.2. Тому що на поля з граблями, першими потрібно пускати теоретиків і піонерів
  7. major12

    FreeBSD hi loading CPU

    І про "сєтєвую срань". Фрясі має бути байдуже що там у вас літає по мережі. Має оброблятись скількись там kpps або Mpps в залежності від проца. Ато вчора броадкасти це срань, сьогодні торрент трафік, а завтра мабуть скайп будете пробувати "розумними світчами" - ібо багато udp пакетиків пересилає сволоч.
  8. major12

    FreeBSD hi loading CPU

    Ліричний відступ. Нат буває ipfw nat і pf nat. pf nat до останнього часу ніхто не юзав, бо від однопоточний (читай неюзабельний) на системах нижче фрі 10. Більшість користуються ipfw nat і нетреба їм ваших авантюр з переходом на нову і можливо сиру систему. Всі чекають хоча б версії 10.1 Забудьте ваші пункти 4 і 5. Ніхто тут собі не ворог щоб ставити глючні мережевки.
  9. major12

    FreeBSD hi loading CPU

    Гляньте через pmcstat на чому проц загружений. https://wiki.freebsd.org/PmcTools/CallchainCaptureAndAnalysis Далі якщо проблема в LibAlias - то рішення вже є. Якщо ні то можна дивитись далі. Або якщо впевнені що проблема в ipfw nat, то додайте опцію log ipfw nat 1 config ip <айпішка> log <решта опцій> і спостерігайте по ipfw nat show
  10. major12

    FreeBSD hi loading CPU

    нісагласєн - більша таблиця / повільніший пошук по хешах. Дешевше чистити рєзче. Точно точно. Більша хеш таблиця == швидший пошук, за рахунок меншої кількості елементів в 1 слоті. По таблиці пошук не йде. Там 1 раз виконується функція яка визначає номер слоту (фактично індекс у масиві). А далі звертання до М[0] чи до M[100500] відбувається за той самий час. В маленькій таблиці в 1 слот попаде 10 елементів і треба буде ще пошукати в списку з 10 елементів. В великій таблиці в 1 слот попаде 1-2 елементи. Якщо 1 елемент, то берем його зразу. Якщо 2 - то або вгадали або перескак
  11. major12

    FreeBSD hi loading CPU

    по логіці мало би давити pps pps не задавиш. Прийшло 100к пакетів і піти має 100к. І так наприклад кожну 1 секунду. От коли не вистачить проца - тоді ппс і просяде. А от оперативки такий тюнінг розміру табличок, в 10 раз більше зжере на те як-би й натякав. Старий я вже, не встигаю тайпати
  12. major12

    FreeBSD hi loading CPU

    Тоді вже краще глянути на /* Parameters used for cleanup of expired links */ /* NOTE: ALIAS_CLEANUP_INTERVAL_SECS must be less then LINK_TABLE_OUT_SIZE */ #define ALIAS_CLEANUP_INTERVAL_SECS 64 #define ALIAS_CLEANUP_MAX_SPOKES (LINK_TABLE_OUT_SIZE/5) А таймаути tcp/udp я би не чіпав. Хоча той же лінукс розділяє UDP на UNREPLIED і ESTABLISHED що ніби трохи правильніше. При нормальному розподілі воно ітак витягне 160М сесій, навіщо чистити.
  13. major12

    FreeBSD hi loading CPU

    Кількість слотів в LibAlias тюнінгується правкою /usr/src/sys/netinet/libalias/alias_local.h У мене #define LINK_TABLE_OUT_SIZE 40009 #define LINK_TABLE_IN_SIZE 40009 Ну і звичайно перекомпіляція ядра.
  14. major12

    FreeBSD hi loading CPU

    Вибачте, але це брєд
  15. major12

    FreeBSD hi loading CPU

    Певне пост погано прочитали. При поганій хеш функції і "поганих" вхідних значеннях, хеш таблиця вироджується в простий список. А пошук по ньому сильно неефективний. При нормальному ж розподілі, сесії будуть розділятись рівномірно по таблиці і халепа наступить при 40к елементів * 4к слотів у таблиці (дефолт) = при 160 М сесій на одну айпішку (інстанс нату).
  16. major12

    FreeBSD hi loading CPU

    Ага пошук у списочку в 45к елементів при 20-30 kpps грузить 1 ядро на 100%. Далі стає сумно. За що я платив гроші інтелу !
  17. major12

    FreeBSD hi loading CPU

    Загалом по опціях kernel NAT log - помагає при дебагу, дає статистику deny_in - мастхев unreg_only - іноді потрібне не використовувати same_ports і не використовувати global - бо буде шукати по всіх нат інстансах, а у мене їх наприклад 200+
  18. major12

    FreeBSD hi loading CPU

    Добра людина з яндексу пофіксила http://www.freebsd.org/cgi/query-pr.cgi?pr=189655
  19. major12

    FreeBSD hi loading CPU

    І у мене таке було Загалом це некоректна робота LibAlias + якийсь потужний юзер торренту або вірус. Я навіть невеликий пост про це написав, але ненашою мовою - major12.net До фрібсд-шної баги вже патч є. Отже позбільшувати хеш-таблички ну і 10к сесій на айпішку тяне без проблем.
  20. major12

    Редірект користувачів https!

    Не спрацює ! Браузер не прийме ніяких даних через невалідний сертифікат. Як зараз розшифровується HTTPS для наприклад фаєрфокса рівень 1 - локальна машина Програма-антивірус, типу касперського дописує свій сертифікат в довірені кореневі сертифікати вндовс, Коли браузер звертається до google.com, програма на льоту формує сертифікат для google.com і підписує його своїм довіреним сертифікатом. Відповідно антивірус може розшифрувати запит, далі з'єднатись з справжнім гуглом і передати дані знову користувачу, причому дані можуть бути перевірені на віруси чи навіть змінені. Дистанц
  21. major12

    FreeBSD 9.2 . Сборка ядра. HELP

    Щойно замітив що у ТС немає оновлення сорсів - тоді немає змісту ні в build world ні в перекомпіляції штатного ядра (того що GENERIC)
  22. major12

    FreeBSD 9.2 . Сборка ядра. HELP

    Варто почистити результати старого білда rm -rf /usr/obj
  23. major12

    Приватбанк + биллинг

    Офтопік: добрішим треба бути! Ато з'являються потім теми типу "Отношение форумчан к форумчанам" http://local.com.ua/forum/topic/55486-%D0%BE%D1%82%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D0%B5-%D1%84%D0%BE%D1%80%D1%83%D0%BC%D1%87%D0%B0%D0%BD-%D0%BA-%D1%84%D0%BE%D1%80%D1%83%D0%BC%D1%87%D0%B0%D0%BD%D0%B0%D0%BC/
  24. major12

    Приватбанк + биллинг

    В найпростішому випадку, якщо Unit тільки один і перевіряти name="bill_identifier" непотрібно, то щось таке $attr = $xml->Transfer->Data->Unit->attributes(); $id = $attr['value'];
  25. major12

    Приватбанк + биллинг

    Топікстартер мабуть шукає щось типу цього //Sample XML //<message type="dr"> //<adn>123</adn> //<msisdn>9820202020</msisdn> //<tid>1234567890</tid>] //<ccode>123SMSPULL2000</ccode> //<status>1</status> //<tdate>2012-02-21 12:31:20</tdate> //</message> $body = file_get_contents('php://input'); $xml = simplexml_load_string($body); //CP shortcode $adn = $xml->adn; //Handset number $msisdn = $xml->msisdn; //Transaction Id $tid = $xml->tid; //Charging code $ccode = $xml->ccode; //DR status $status =
×
×
  • Створити нове...