IoT, протоколы, умный дом и умные девайсы

Про безопасность IoT устройств читаем тут. Короткий ролик про IoT протоколы от Droider.

 

 SMART CITY

IoT вплотную внедряется – в Минске уличное освещение управляется и мониторится через 3G/LTE ОПСОСа. Такое освещение более экономно. В довольно древнем ролике по ссылке столбы от IntelliStreets освещения супер-digital, причем с аплинком по radio (видимо 3G/LTE) и функционалом: возможность записи/мониторинга ситуации на дорогах (камеры/микрофоны), громкоговорители, небольшие встроенные digital рекламные банеры, небольшие digital указатели.

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

JAVA заметки

1995 год Язык программирования Java — первый язык программирования с кроссплатформенной поддержкой — был создан компанией Sun Microsystems (в последующем приобретенной компанией Oracle). Ведущим разработчиком в команде был Джеймс Гослинг — он известен как «отец Java».

Производительность
  • Тюнинг производительности JAVA от Oracle

Для тех кто нелюбит Java и говорит что она медленная.

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

Системное программирование (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)). 


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

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

Заметки

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


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

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 – как общий знаменатель для всего.



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

Ответы на 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


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

Curl/wget разное

https://httpie.org/ – а еще есть такая “модная” альтернатива curl/wget

 

CURL

(curl/wget, xargs) многопроцессный curl

seq 1 10000 | xargs -n 1 -P 10 ./curl.sh &>test_log.10k.10p.log

cat curl.sh
>&2 echo "Transaction ID $1 started"
curl "https://srv.test:443/1024b.txt" -v -o 1024b.$1.txt
md5=$(md5sum 1024b.$1.txt)


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