Notes Devops
7 subscribers
14 photos
4 videos
6 files
122 links
Download Telegram
Forwarded from AvitoTech
Оптимизация работы с PostgreSQL в Go: от 50 до 5000 RPS

Когда разрабатывали калькулятор цены доставки, нужно было заставить сервис на Go ходить в PostgreSQL достаточно быстро.

Поэтому в итоге мы прокачали сервис от 50 до 5000 RPS и еще получили несколько выводов:
• мультиплексирование соединений в pgbouncer’е под нагрузкой — зло;
• использовать в сервисе пул большего размера, чем в базе данных — вредно;
• надо выработать привычку делать транзакции быстрыми и закрывать результаты БД.

Детали — на Хабре: http://bit.ly/350vNd2
💾 Интересный ресурс - разные однострочники, библиотека команд, шпаргалки и всё вот это вот: https://linuxcommandlibrary.com/basic/oneliners.html

#linux #shell #будничное
📝 Ошибку вида systemd user "Failed to connect to bus: No such file or directory" при работе с пользовательским systemd сервисом (systemctl --user) чиним вот так:

export XDG_RUNTIME_DIR="/run/user/$UID"
export DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus"

Не забываем так же
loginctl enable-linger $user
выполнить перед этим.

#будничное #systemd #траблшутим
Forwarded from PythonDigest
Используем аналог s3 на localhost - MinIO для хранения файлов
https://rogs.me/2021/01/using-minio-to-upload-to-a-local-s3-bucket-in-django/
Forwarded from Security Wine (бывший - DevSecOps Wine) (Denis Yakimov)
Лучшие практики при написании безопасного Dockerfile

Выпустил следующую статью на Хабр, в которой постарался агрегировать лучшие практики по написанию безопасного Dockerfile. В статье:

- Почему COPY, лучше чем ADD
- Полезные лейблы (securitytxt)
- Как скачивать компоненты из Интернета при сборке образа, избегая MiTM атаки
- Почему нужно задавать USER в конце и как может помочь gosu
- Затронута тема минимальных и Distroless образов
- Безопасная работа с секретами (multi-stage сборка, фича BuildKit, проблемы рекурсивного копирования)
- Существующие анализаторы Dockerfile
- Разные полезные доп. материалы

https://habr.com/ru/company/swordfish_security/blog/537280/

#dev #docker
Основы асинхронности в Python

Речь в этой серии пойдет о коде, который асинхронно выполняется в одном потоке и в одном процессе. Цель серии – подготовиться к восприятию концепций async/await, работе с событийными циклами вообще и модулем asyncio в частности.

1. Введение
2. Асинхронность с простыми функциями. Событийный цикл.
3. Асинхронность на колбэках
4. Генераторы и событийный цикл Round Robin
5. Асинхронность на генераторах
6. Корутины и yield from
7. Asyncio, async/await
8. Опять про генераторы

#видео
Forwarded from Мониторим ИТ
Бенчмарк Prometheus vs VictoriaMetrics на метриках node_exporter

Недавно в VictoriaMetrics появилась возможность скрейпинга целевых объектов Prometheus. И теперь мы можем сравнивать яблоки с яблоками: сколько ресурсов используют Prometheus и VictoriaMetrics при скрейпинге большого количества node_exporter. Читать дальше.