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

Заметки

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

JAVA заметки

  • https://stepik.org/course/187     Java базовый курс
  • 1995 год Язык программирования Java — первый язык программирования с кроссплатформенной поддержкой — был создан компанией Sun Microsystems (в последующем приобретенной компанией Oracle). Ведущим разработчиком в команде был Джеймс Гослинг — он известен как «отец Java».
Производительность
  • Тюнинг производительности JAVA от Oracle

Для тех кто нелюбит Java и говорит что она медленная.<br><br> Читать дальше

Гипервизоры VirtualBox/WorkStation/Fusion/ESXI/Hyper-V/XEN; KVM/QEMU (oVirt/Proxmox VE)

  • (Security, Virtualization) Все что надо знать о безопасности гипервизоров:
    Гипервизор Xen разрешил гостевым системам взламывать хосты
    
    Разработчики гипервизора Xen выкатили пачку экстренных обновлений, закрывающих сразу двадцать уязвимостей. И если восемь из них просто приводят к отказу в обслуживании или утечке памяти, то оставшиеся двенадцать полностью умножают на ноль саму концепцию виртуализации.
<br><br> Читать дальше

Hardware: ASIC, FPGA (ПЛИС), SoC

  • Fpga = плис = Программи́руемая логи́ческая интегра́льная схе́ма (на печатной плате)
  • Использование GPU для ускорения обработки сетевых пакетов в ядре Linux

  • (Verilog/VHDL, ds proxima) Сергей Платко (цифровые решения) в linkmeup подкасте о L7 балансировке про решения ПЛИС/FPGA/ASIC :

      • считает что VHDL/Verilog плохо сравнивать с классическими языками программирования, он называет их языками описания аппаратуры и программистов, которые рассказывали ему на собеседованиях о программировании на verilog и при этом описывали паттерны программирования на C – он таких не брал т.к.
<br><br> Читать дальше

Linux: работа с текстом (fmt, sed, awk, tr, cut, cat/tac, tee, column, uniq, sort, paste)

GREP в отдельной статье

fmt
  • примеры есть в cheat.sh
  • вариаций форматирования много

Форматирование данных на входе – к примеру по умолчанию fmt осуществит форматирование, которое приведет к лучшему чтению:

    • объединение слов в одну строку если слов мало в каждой строке
    • или наоборот, вместо одной длиной строки сделает несколько коротких
root@serv:~# cat >sw
Hello
world
and
not
world
root@serv:~# fmt sw
Hello world and not world

root@spr:~# cat >sw
Hello world and not world Hello world and not world Hello world and not world Hello world and not world Hello world and not world Hello world and not world
root@spr:~# fmt sw
Hello world and not world Hello world and not 
world Hello world and not world Hello world 
and not world Hello world and not world 
Hello world and not world


paste

paste with delimiter (paste с отличным от default delimiter):

paste -d ';' load.csv
<br><br> Читать дальше

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)). 
<br><br> Читать дальше

Security: Endpoint Detection & Protection (EPP, EDR/ETDR, AMP, MDM, HBF)

Overview
  • От простого snort/suricata на хосте есть толк даже при наличии snort/suricata с таким же набором правил на уровне сети – на уровне хоста весь трафик расшифрован и работа идет с нормализованным payload.
  • HBF (host-based firewall) встроен во все OS сегодня и даже используется облачными операторами типа yandex cloud
  • (enterprise, epp) Hostbase firewall проект в яндекс (hbf): централизованное управление ACL серверов яндекс, поддерживают разные dataplane и можно добавить и другие: linux iptables, freebsd ipfw, bpf.

<br><br> Читать дальше

Devops notes

 

  • Эта статья под распил к конкретные, тут заметки именно
  • (enterprise, devops) У yandex (да и у google тоже) есть и востребованы “эникейщики aka админы aka devops aka sre” : чел из nocdev (Литвиненко Борис) yandex отвечает за hbf, racktables, mirror и другие проекты – нужны навыки как в сетях, так и в sql/DBA и linux с программированием (раньше писали меньше, сейчас за счет нейросетей больше).

<br><br> Читать дальше

Linux: ядро (kernel), процессы /proc в ОС и работа с ними (proc, ps, lsof, nice, kill, killall, top, lscpu, interrupts, smp irq affinity, isolcpus, taskset, cpuset/cset shield), утилизация процессора (user/system/idle/iowait/softirq)

  • kernel parameters /proc/cmdline (можно редактировать конфигом GRUB)
  • kernel parameters modification /etc/sysctl.conf
  • В Linux все рассматривается как файлы, включая устройства (/dev) и процессы (/proc)
  • Любые изменения в /proc директории немедленно применяются kernel
All changes to files in /proc/ are immediately recognized by the kernel.
<br><br> Читать дальше

Linux: bash спец. символы, man, переменные (> >> $ & # ~/$HOME $USER \ | /n \t ^M $? * ; ()), redirect stdout/stderr, ALIAS, bashrc, profile; программирование в bash (полезные скрипты, получение опций в скриптах, функции, условия, циклы, case, массивы)

~ echo $SHELL
/bin/bash

bash-3.2$ echo $SHELL # MACOS
/bin/zsh
  • (ssh, bash) Пересылка сообщений между терминалами

# echo to special terminal
echo "Hello Terminal 3" > /dev/pts/3

# echo to all terminal linux (3 vars)

echo "Your message here" | wall
wall message.txt
<br><br> Читать дальше