Системное программирование (C, C++, RUST) и узкоспециализированные языки (fortran, cobol)

  • Для отладки кода C, в том числе даже таких крупных проектов (напр. пропусков атак в них) как snort/suricata можно и нужно использовать отладчик GDB.
The GNU Debugger (GDB) is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, Assembly, C, C++, D, Fortran, Haskell, Go, Objective-C, OpenCL C, Modula-2, Pascal, Rust and partially others.


Читать дальше

Оперативная память (RAM): free, paging, swapping, commit/active/available

DDR1/2/3/4
  • SDR -> DDR -> DDR2 -> DDR3 -> DDR4 – поколения ОП.


Читать дальше

Network/Linux: Shaping, Policing, Impairment, Traffic Control. Ограничение полосы пропускания (Linux: tc, wondershaper; Network: Cisco, Mellanox), внесение задержек и потерь в сетевой трафик

Влияние потери и задержек на Throughput подробно описано в отдельной статье.

Пример кейсов использования impairment:

    • эмуляция гео-распределенной сети
    • эмуляция wireless/satellite/mobile
    • приближение к real world
    • тестирование edge case сценариев

При этом в сетевом тестировании с impairment нужно обращаться “аккуратно”.

EANTC Carsten Rossenhoevel
The benchmarking methodology could be complemented with synthetic loss/delay, but this is out of scope of this draft ((netsecopen)). 


Читать дальше

Linux: Docker, conrainerd, container security (hardening)

Basics
  • Container security – три основных риска/угрозы/проблемы
    • плохая конфигурация
    • проблемы runtime
    • цепочки поставок
  • Процессы контейнеров видны на “хостовой” машине в ps -aux
  • Применение bestpractice до/после

  • Установка docker на debian12 требует установку репозитория docker в систему.
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian


Читать дальше

Тестирование приложений: заметки по JMeter, gatling

Заметки

  • JMeter легко масштабируется с использованием remote_hosts (distributed mode) в одной подсети (см. подробнее ниже).
  • На практике можно запустить очень много JMeter нагрузчиков – знаю о инсталяциях с 10 ТЫС.


Читать дальше

Coding/Network: Автоматизация (общее), программирование для сетевых инженеров, сетевая автоматизация (devnet, netdevops, netops); ZTP

  • Про системы конфигурации отдельная статья – CMS
  • Про NMS отдельная статья – NMS
  • (devnet, CMS annet) Нужно общаться с пользователям очень плотно если вы автоматизируете из работу – собирать требования/фидбеки, реагировать
  • Опрос на habr.
Как Вы управляете конфигурацией?
33.61% Ручное редактирование конфигурационных файлов - 40
31.93% GitOps - 38
20.17% Web UI - 24
14.29% другое - 17
Проголосовали 119 пользователей.


Читать дальше

Coding, Network: API и методы работы с ним (SOAP, REST, JSON, XML, YAML, YANG, TOML, protocol buffers/Apache Thrift, graphQL; SWAGGER, WSDL, WADL; restconf, netconf; Cisco PXGRID)

  • В общем про api и методы взаимодействия с ними (rest, yang, soap, xml, json, restconf/netconf, etc) в отдельной статье
  • CLI зачастую >>> всех других методов, пример яндекс со своей «Аннушкой» работает именно поверх CLI
    • Мы про это расскажем в докладах, но нет, cli – как общий знаменатель для всего.



Читать дальше

Network/Security: NMS monitoring/observability/management/inventory решения (Zabbix, Cacti, Nagios, MRTG, NocTools; Orange, Cisco PRIME, Arista CVP, Netcool, BMC Patrol/TrueSight, Infovista), протоколы (snmp, netflow), NMS, будущее (rpc, nats, brpc, yang/restconf/netconf); Cisco: Stealthwatch, CTA, ETA; мониторинг производительности системы (sysstat); XDR; SIEM; NTA, NAD; BGP BMP; HADAL

  • Linux Performance Observability Tools: strace ltrace ss nstat gethostlatency sar proc dmesg dstat opensnoop laof fatrace filelife pcstat execsnoop mpstat profile runqlen offcputime softirqs turbostat show boost rmdsr perf fteace LTTng BCC bpftrace ext4dist ext4slower top atop ps pidstat vmstat slabtop free tiptop perf numastat hardirqs criticalstat nicstat netstat ip lldptool snmpget ethtool tcplife tcpretrans udpconnect tcpdump perf tiptop mdflush iostat biosnoop biolatency biotop blktrace swapon

  • Мониторинг призван уменьшать значение времени исправления проблем (MTTR) или даже предотвращать возникновение аварийных ситуаций (подробнее ниже)
  • Задача классического админа, решаемая мониторингом – сделать алерты в системе мониторинга на уменьшение количества краски в принтерах
  • Существует разная глубина взросления «мониоринга» – реакция по негативному фидбеку/инцидента от пользователя, реакция на события мониторинга еще до обращения клиента, автоматизация на события мониторинга (напр.


Читать дальше

Ответы на quiz selectel perfconf

Quiz прошел, ответы с разумными объяснениями ИИ (при наличии)

Что чаще всего становится узким местом при нагрузочном тестировании веб-приложения?

1) cpu

2) диск

3) сеть

4) зависит от архитектуры

—-

зависит от архитектуры
Cpu ответил grok, но по факту в статьях упоминаются и диск (БД) и сеть и правильный ответ: зависит от архитектуры

Какой показатель latency (задержки) в сети считается критически важным для высоконагруженных систем?

Читать дальше

Linux: packet flow, обработка в ядре пакетов, фильтрация, connection tracking, statistics: iptables, ipset, ipfw, nftables, bpfilter, firewalld, conntrack, BPF, packetfilter, netstat, iptraf, jool, tc

  • Про фильтрацию/NAT на базе TC (TC NAT, TC BLOCK) в отдельной статье
Фильтрация на базе DPDK
 О ОБРАБОТКЕ ПАКЕТА В  ЯДРЕ LINUX


Читать дальше