This media is not supported in your browser
VIEW IN TELEGRAM
Станьте разработчиком нейро-сотрудников на Python и зарабатывайте от 150.000р в месяц 🔥🔥🔥
Мы научим вас создавать топовых нейро-сотрудников на базе GPT-4 Omni, и вы сможете:
1️⃣ Устроиться разработчиком в крупную компанию и зарабатывать от 150 тысяч ₽ в месяц
2️⃣ Разрабатывать такие проекты на заказ и зарабатывать от 500 тысяч ₽ за проект
3️⃣ Создать нейро-сотрудника в вашей компании и вырасти на +30-100% в зарплате
Что будет на интенсиве?
🧬 Теория: как создаются нейро-сотрудники с GPT-4o на Python
🧬 Практика: мы создадим нейро-консультанта, нейро-HR, нейро-маркетолога и др.
Ведущий интенсива - Senior AI разработчик нейросетей и основатель Университета искусственного интеллекта
🔥 Регистрируйтесь на бесплатный интенсив! Встречаемся в ближайший четверг!
Мы научим вас создавать топовых нейро-сотрудников на базе GPT-4 Omni, и вы сможете:
1️⃣ Устроиться разработчиком в крупную компанию и зарабатывать от 150 тысяч ₽ в месяц
2️⃣ Разрабатывать такие проекты на заказ и зарабатывать от 500 тысяч ₽ за проект
3️⃣ Создать нейро-сотрудника в вашей компании и вырасти на +30-100% в зарплате
Что будет на интенсиве?
🧬 Теория: как создаются нейро-сотрудники с GPT-4o на Python
🧬 Практика: мы создадим нейро-консультанта, нейро-HR, нейро-маркетолога и др.
Ведущий интенсива - Senior AI разработчик нейросетей и основатель Университета искусственного интеллекта
🔥 Регистрируйтесь на бесплатный интенсив! Встречаемся в ближайший четверг!
❤3
Почему netstat лжёт: как ss показывает реальную картину с сокетами
В современном Linux часто применяются инструменты для мониторинга сетевых соединений.
Несмотря на свою популярность, утилита netstat уже не всегда предоставляет точную информацию о состоянии сокетов.
Неточное отображение состояний с netstat
⏺ Netstat опирается на данные из /proc, которые могут не отражать динамическое изменение состояния сокетов. В результате он часто показывает устаревшую информацию, например, “мертвые” или заброшенные сокеты, которые уже не участвуют в активной передаче.
⏺ При анализе состояний, таких как FIN_WAIT2, netstat может некорректно интерпретировать “зависшие” соединения. Это может ввести администратора в заблуждение относительно истинной загрузки и стабильности системы.
Преимущества ss: точные и детальные данные
Современный инструмент ss (socket statistics) из пакета iproute2 разработан для замены netstat и предоставляет гораздо более подробную и актуальную информацию о сетевых сокетах.
Он способен отсеивать “мертвые” соединения, корректно отображать переходные состояния и использовать расширенные опции для фильтрации и диагностики.
Например, чтобы увидеть информацию о TCP-сокетах, можно воспользоваться командой:
Здесь ключи означают:
• -t – вывести только TCP-соединения,
• -a – показать все (слушающие и установленные),
• -n – вывод номеров портов в числовом виде.
Если вам нужно проверить, какие сокеты находятся в “FIN_WAIT2” состоянии, команда ss покажет их корректно, благодаря более точной сборке данных из ядра:
Особенно полезна опция -K. Этот параметр позволяет отправлять запросы к ядру для получения более глубокого анализа по каждому сокету – например, чтобы определить, какие “зависшие” сокеты реально не используются.
Это даёт возможность отфильтровать ложные сигналы и сконцентрироваться на проблемных соединениях. Пример использования:
Эта команда попытается “убить” (удалить) неактивные или ошибочные соединения, предоставляя отчёт о том, какие сокеты останутся в системе после вмешательства. Такой уровень контроля невозможен с netstat.
В современном Linux часто применяются инструменты для мониторинга сетевых соединений.
Несмотря на свою популярность, утилита netstat уже не всегда предоставляет точную информацию о состоянии сокетов.
Неточное отображение состояний с netstat
Netstat долгое время был основным инструментом для вывода информации о сетевых соединениях, но его алгоритмы и подходы к сбору статистики имеют ограничения:
Преимущества ss: точные и детальные данные
Современный инструмент ss (socket statistics) из пакета iproute2 разработан для замены netstat и предоставляет гораздо более подробную и актуальную информацию о сетевых сокетах.
Он способен отсеивать “мертвые” соединения, корректно отображать переходные состояния и использовать расширенные опции для фильтрации и диагностики.
Например, чтобы увидеть информацию о TCP-сокетах, можно воспользоваться командой:
ss -tan
Здесь ключи означают:
• -t – вывести только TCP-соединения,
• -a – показать все (слушающие и установленные),
• -n – вывод номеров портов в числовом виде.
Если вам нужно проверить, какие сокеты находятся в “FIN_WAIT2” состоянии, команда ss покажет их корректно, благодаря более точной сборке данных из ядра:
ss -tan state fin-wait-2
Особенно полезна опция -K. Этот параметр позволяет отправлять запросы к ядру для получения более глубокого анализа по каждому сокету – например, чтобы определить, какие “зависшие” сокеты реально не используются.
Это даёт возможность отфильтровать ложные сигналы и сконцентрироваться на проблемных соединениях. Пример использования:
ss -K state established
Эта команда попытается “убить” (удалить) неактивные или ошибочные соединения, предоставляя отчёт о том, какие сокеты останутся в системе после вмешательства. Такой уровень контроля невозможен с netstat.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤5😁1
🎉Linux исполнилось 34 года
25 августа 2025 года Linux отметила 34-летие.
В 1991 году студент Хельсинкского университета Линус Торвальдс создал ядро «для хобби», а сегодня оно управляет миллиардами устройств — от смартфонов до суперкомпьютеров, от МКС до марсоходов.
Сегодня проект поддерживают тысячи разработчиков по всему миру. Только в 2024 году на разработку ядра ушло $6,8 млн, а в июле 2025 года вышло Linux 6.16 под кодовым названием Baby Opossum Posse.
⏺ Торвальдс уверяет: формального плана преемственности нет и не нужно — сообщество само найдёт «следующего великодушного повелителя».
25 августа 2025 года Linux отметила 34-летие.
В 1991 году студент Хельсинкского университета Линус Торвальдс создал ядро «для хобби», а сегодня оно управляет миллиардами устройств — от смартфонов до суперкомпьютеров, от МКС до марсоходов.
Первый пост Торвальдса в группе comp.os.minix остался в истории: он писал, что делает ОС «просто ради интереса» и не обещает многого. Через несколько месяцев Linux уже могла запускать bash и gcc.
Сегодня проект поддерживают тысячи разработчиков по всему миру. Только в 2024 году на разработку ядра ушло $6,8 млн, а в июле 2025 года вышло Linux 6.16 под кодовым названием Baby Opossum Posse.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥5🎉1
SSH Multiplexing и ControlMaster
По умолчанию каждый вызов ssh открывает новый TCP-сокет, проходит ключевое рукопожатие, обмен алгоритмами, аутентификацию. Это безопасно, но затратно по времени.
Multiplexing решает проблему: первая сессия открывает основной канал (master), а все остальные используют его.
Для этого в OpenSSH есть опции ControlMaster, ControlPath и ControlPersist.
Настройка
1️⃣ Создаём папку под сокеты:
2️⃣ Добавляем в ~/.ssh/config:
Проверка в реальной работе
Первый запуск (идёт полная авторизация):
Обычно ~0.4–0.6 сек.
Второй запуск (через мастер-сессию):
Результат: 0.02 сек. Почти мгновенно.
То же с scp:
Файл начинает копироваться без задержки.
Быстрее подключение к серверу без лишних рукопожатий
По умолчанию каждый вызов ssh открывает новый TCP-сокет, проходит ключевое рукопожатие, обмен алгоритмами, аутентификацию. Это безопасно, но затратно по времени.
Multiplexing решает проблему: первая сессия открывает основной канал (master), а все остальные используют его.
Для этого в OpenSSH есть опции ControlMaster, ControlPath и ControlPersist.
Настройка
mkdir -p ~/.ssh/sockets
chmod 700 ~/.ssh/sockets
Host myserver
HostName 192.168.1.10
User admin
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h:%p
ControlPersist 10m
Проверка в реальной работе
Первый запуск (идёт полная авторизация):
time ssh myserver exit
Обычно ~0.4–0.6 сек.
Второй запуск (через мастер-сессию):
time ssh myserver exit
Результат: 0.02 сек. Почти мгновенно.
То же с scp:
scp test.txt myserver:/tmp/
Файл начинает копироваться без задержки.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍6👎1
LVM snapshots: быстрые бэкапы и откаты
LVM (Logical Volume Manager) позволяет работать с томами гибче, чем с обычными разделами.
Одна из ключевых возможностей — снапшоты: копия состояния тома в определённый момент времени.
Это полезно для бэкапов и экспериментов: можно сохранить снимок, обновить систему или базу, и при ошибке — откатиться.
Практика
1️⃣ Проверяем тома
Находим имя LV, например vg0/data.
2️⃣ Создаём снапшот
• -L 5G — размер для изменений (чем больше активность, тем больше нужно).
• -s — создаём снапшот.
• -n — имя снапшота.
3️⃣ Монтируем снапшот
Теперь можно сделать копию файлов без остановки сервиса.
4️⃣ Откат к снапшоту
Если после обновлений что-то пошло не так:
После перезагрузки том вернётся к состоянию снапшота.
5️⃣ Удаление снапшота
Когда копия больше не нужна:
LVM (Logical Volume Manager) позволяет работать с томами гибче, чем с обычными разделами.
Одна из ключевых возможностей — снапшоты: копия состояния тома в определённый момент времени.
Это полезно для бэкапов и экспериментов: можно сохранить снимок, обновить систему или базу, и при ошибке — откатиться.
Практика
lvdisplay
Находим имя LV, например vg0/data.
lvcreate -L 5G -s -n data_snap /dev/vg0/data
• -L 5G — размер для изменений (чем больше активность, тем больше нужно).
• -s — создаём снапшот.
• -n — имя снапшота.
mkdir /mnt/snap
mount /dev/vg0/data_snap /mnt/snap
Теперь можно сделать копию файлов без остановки сервиса.
Если после обновлений что-то пошло не так:
umount /dev/vg0/data
lvconvert --merge /dev/vg0/data_snap
reboot
После перезагрузки том вернётся к состоянию снапшота.
Когда копия больше не нужна:
lvremove /dev/vg0/data_snap
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🤔5❤4😁1
Какой параметр mount позволяет монтировать файловую систему только для чтения?
Anonymous Quiz
9%
rw
85%
ro
5%
noexec
1%
nosuid
😁12❤3
RAID уровня выше 5
RAID5 и RAID6 долгое время считались «золотым стандартом» для балансировки между надёжностью и экономией диска.
Но с ростом объёмов накопителей и нагрузок они стали проблемными.
Минусы RAID6 при больших дисках:
1️⃣ Восстановление после сбоя (rebuild) может занимать сутки и больше. Всё это время массив работает медленнее и под угрозой.
2️⃣ Чем больше диски, тем выше шанс ошибки чтения (URE) во время rebuild. В худшем случае массив падает целиком.
3️⃣ Запись требует вычисления чётности, что сильно режет IOPS.
Почему выбирают RAID10: RAID10 сочетает зеркалирование и страйпинг. Это даёт простую архитектуру и высокую скорость.
При отказе диска нужно восстановить только одну половину пары, поэтому rebuild проходит заметно быстрее.
Почему выбирают ZFS
ZFS идёт дальше классического RAID:
⏺ каждая операция проверяется контрольной суммой, что защищает от silent data corruption;
⏺ встроены снапшоты и репликация;
⏺ пулы расширяются гибко, без жёстких ограничений железного RAID-контроллера;
⏺ RAIDZ позволяет балансировать между избыточностью и ёмкостью, при этом сохраняя контроль над целостностью.
Почему админы выбирают RAID10 или ZFS вместо RAID6
RAID5 и RAID6 долгое время считались «золотым стандартом» для балансировки между надёжностью и экономией диска.
Но с ростом объёмов накопителей и нагрузок они стали проблемными.
Минусы RAID6 при больших дисках:
Почему выбирают RAID10: RAID10 сочетает зеркалирование и страйпинг. Это даёт простую архитектуру и высокую скорость.
При отказе диска нужно восстановить только одну половину пары, поэтому rebuild проходит заметно быстрее.
Почему выбирают ZFS
ZFS идёт дальше классического RAID:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤6🤔2👎1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Это удобно для серверов с большим количеством приложений, которые не используют всю выделенную память одновременно, но создает риск, что при внезапной нагрузке система столкнется с нехваткой памяти. В таких случаях срабатывает oom-killer, завершая процессы для освобождения ресурсов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3
LVM snapshots: пример с PostgreSQL
Теперь разберём практическое применение — резервное копирование PostgreSQL без остановки сервиса.
Снапшоты работают по принципу copy-on-write: при изменении данных в оригинальном томе старая версия сохраняется в снапшоте.
⏺ Чтобы результат был хорошим, нужно принудительно записать все буферы базы на диск.
Шаги бэкапа
1️⃣ Создать снапшот:
2G — примерный размер под изменения на время копирования.
2️⃣ Смонтировать снапшот:
3️⃣ Скопировать файлы:
4️⃣ Очистить:
В прошлый раз я показал, как снапшоты LVM позволяют быстро «замораживать» состояние тома.
Теперь разберём практическое применение — резервное копирование PostgreSQL без остановки сервиса.
Снапшоты работают по принципу copy-on-write: при изменении данных в оригинальном томе старая версия сохраняется в снапшоте.
sudo -u postgres psql -c "CHECKPOINT;"
sync
Шаги бэкапа
lvcreate -L 2G -s -n pgdata_snap /dev/vg0/pgdata
2G — примерный размер под изменения на время копирования.
mkdir /mnt/pgsnap
mount /dev/vg0/pgdata_snap /mnt/pgsnap
rsync -a /mnt/pgsnap/ /backup/pgdata-$(date +%F)/
umount /mnt/pgsnap
lvremove /dev/vg0/pgdata_snap
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4
ChatGPT 5 — страшное оружие в умелых руках
Российский разработчик Олег Миллер, занимающий обучением и тренировкой новой модели Open AI в Сан-Франциско, рассказывает в своём блоге:
• Как отключить цензуру у ChatGPT (инструкция)
• Малоизвестные ИИ, с которыми вы станете богатым
• Почему человечество обречено на катастрофу из-за развития ИИ
За такие инсайды он может быть уволен. Поэтому блог закрытый, а ссылка на него постоянно меняется. Успей вступить: https://t.iss.one/+iqnm1EACSaI4Yjcy
Российский разработчик Олег Миллер, занимающий обучением и тренировкой новой модели Open AI в Сан-Франциско, рассказывает в своём блоге:
• Как отключить цензуру у ChatGPT (инструкция)
• Малоизвестные ИИ, с которыми вы станете богатым
• Почему человечество обречено на катастрофу из-за развития ИИ
За такие инсайды он может быть уволен. Поэтому блог закрытый, а ссылка на него постоянно меняется. Успей вступить: https://t.iss.one/+iqnm1EACSaI4Yjcy
🤡19
SSH к Cisco без пароля: настройка через RSA-ключи
SSH-аутентификация по ключам давно стала стандартом в Linux/Unix-мире, а Cisco IOS (и NX-OS) поддерживает её ещё с начала 2000-х.
Основное преимущество ключей перед паролями:
⏺ невозможно перебрать брутфорсом (если ключ длинный),
⏺ админ не хранит пароли в заметках/Excel,
⏺ удобно централизованно управлять доступом: добавил или удалил ключ в pubkey-chain — и доступ сразу появился/пропал.
У каждого пользователя есть пара ключей: приватный (хранится у него) и публичный (копируется на устройство).
В отличие от классической схемы логин+пароль, тут нет ввода секретов в консоль, поэтому утечка через keylogger или сниффинг невозможна (при условии, что приватный ключ защищён паролем).
Практика
1️⃣ Включаем SSH на Cisco
2️⃣ Создаём пользователя
3️⃣ Подтягиваем публичный ключ
На клиенте:
Копируем содержимое ~/.ssh/id_rsa.pub и добавляем на Cisco:
4️⃣ Ограничиваем доступ только по ключам
Теперь при подключении:
пароль не нужен.
Нюансы
⏺ Можно завести нескольких пользователей с разными ключами.
⏺ При увольнении сотрудника ключ просто удаляется из pubkey-chain → не надо менять общий пароль.
⏺ Минимальный размер ключа лучше 2048, а в проде — 4096 бит.
⏺ Рекомендовано всегда включать только SSHv2 — SSHv1 давно небезопасен.
SSH-аутентификация по ключам давно стала стандартом в Linux/Unix-мире, а Cisco IOS (и NX-OS) поддерживает её ещё с начала 2000-х.
Основное преимущество ключей перед паролями:
У каждого пользователя есть пара ключей: приватный (хранится у него) и публичный (копируется на устройство).
При подключении клиент доказывает владение приватным ключом, а Cisco сравнивает это с публичным — если совпадает, вход разрешён.
В отличие от классической схемы логин+пароль, тут нет ввода секретов в консоль, поэтому утечка через keylogger или сниффинг невозможна (при условии, что приватный ключ защищён паролем).
Практика
conf t
ip domain-name lab.local
crypto key generate rsa modulus 2048
ip ssh version 2
username admin privilege 15 secret StrongPass123
На клиенте:
ssh-keygen -t rsa -b 2048
Копируем содержимое ~/.ssh/id_rsa.pub и добавляем на Cisco:
ip ssh pubkey-chain
username admin
key-string
ssh-rsa AAAAB3... user@host
exit
exit
line vty 0 4
transport input ssh
login local
Теперь при подключении:
ssh admin@router
пароль не нужен.
Нюансы
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥6
Релиз Wireshark 4.4.9
В конце августа 2025 года вышла стабильная версия Wireshark 4.4.9 — свободного сетевого анализатора с открытым исходным кодом.
Обновлён код поддержки ряда протоколов: BACapp, LIN, MySQL, RDM, SABP, SCCP, sFlow и SSH. Сборки доступны для Windows, macOS и Linux, а стабильная ветка 4.4 проекта развивается с августа 2024 года, продолжая улучшать удобство анализа сетевого трафика для системных администраторов и инженеров.
В конце августа 2025 года вышла стабильная версия Wireshark 4.4.9 — свободного сетевого анализатора с открытым исходным кодом.
Релиз исправляет баги и уязвимости, улучшает графики потоков TCP и VoIP, дорабатывает интерфейсы и решает проблемы с кодировкой UTF-8.
Обновлён код поддержки ряда протоколов: BACapp, LIN, MySQL, RDM, SABP, SCCP, sFlow и SSH. Сборки доступны для Windows, macOS и Linux, а стабильная ветка 4.4 проекта развивается с августа 2024 года, продолжая улучшать удобство анализа сетевого трафика для системных администраторов и инженеров.
❤7👍3
NAT64 и DNS64: доступ IPv6-only клиентов к IPv4 ресурсам
В сетях, где используется только IPv6, часто возникает проблема: клиентам нужно обращаться к сервисам, которые ещё доступны только по IPv4. Решение — комбинация NAT64 и DNS64.
Когда клиент делает запрос к IPv4-хосту, он получает IPv6-адрес, который указывает на NAT64-шлюз.
NAT64 на маршрутизаторе или сервере превращает этот IPv6-трафик обратно в IPv4 и перенаправляет его к целевому серверу. Ответ идёт обратно по тому же пути.
Где применяют:
⏺ IPv6-only датацентры или филиалы, где внутренние клиенты не имеют IPv4.
⏺ Переходные сценарии при массовой миграции на IPv6.
⏺ Обеспечение совместимости с внешними сервисами, которые не поддерживают IPv6.
Пример конфигурации на Cisco IOS:
На Juniper JunOS это выглядит так:
И еще советы:
➖ Проверяйте, что префикс NAT64 корректно согласован с DNS64.
➖ Не все приложения корректно работают через NAT64 (например, некоторые старые FTP-клиенты).
➖ Мониторьте нагрузку на NAT64-шлюз, он становится точкой концентрации трафика.
Используя NAT64/DNS64, можно постепенно убирать IPv4 из инфраструктуры без потери совместимости с внешними сервисами.
В сетях, где используется только IPv6, часто возникает проблема: клиентам нужно обращаться к сервисам, которые ещё доступны только по IPv4. Решение — комбинация NAT64 и DNS64.
DNS64 преобразует A-записи IPv4 в синтетические AAAA-записи IPv6.
Когда клиент делает запрос к IPv4-хосту, он получает IPv6-адрес, который указывает на NAT64-шлюз.
NAT64 на маршрутизаторе или сервере превращает этот IPv6-трафик обратно в IPv4 и перенаправляет его к целевому серверу. Ответ идёт обратно по тому же пути.
Где применяют:
Пример конфигурации на Cisco IOS:
! Создание NAT64-пула
ipv6 nat64 v6v4-pool POOL1 192.0.2.0 192.0.2.255 prefix-length 96
! Включение NAT64 на интерфейсе
interface GigabitEthernet0/1
ipv6 nat64 enable
! Включение DNS64 на Cisco IOS XE
ipv6 dns64 64:ff9b::/96
На Juniper JunOS это выглядит так:
set security nat64 pool NAT64-POOL address 192.0.2.0/24
set security nat64 interface fe-0/0/0.0
set system services dns dns64 prefix 64:ff9b::/96
И еще советы:
Используя NAT64/DNS64, можно постепенно убирать IPv4 из инфраструктуры без потери совместимости с внешними сервисами.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍4🤔1
Какой параметр df показывает размеры файловых систем в человекочитаемом формате (GB/MB)?
Anonymous Quiz
86%
-h
4%
-k
8%
-m
2%
-t
😁11🤡5👏2💯1😈1
Хочешь ворваться в DevOps и наконец понять, как работают Kubernetes, Docker и CI/CD?
Ребята из Merion Academy (того самого Youtube-канала про IT), создали курс, который помогает не просто смотреть уроки, а реально учиться:
✔️ Грамотно подобранная программа курса.
✔️ Много практики.
✔️ Помогают разобраться с затыками.
✔️ Отдельно помогут с карьерой: как составить резюме, пройти собеседования и найти работу.
Что интересного в программе:
1. Построение CI/CD пайплайнов в GitLabCI и Jenkins
2. Настройка мониторинга с Zabbix, Prometheus и Grafana
3. Понимание DevSecOps, ZTNA, SASE, Defense in Depth
4. Работа с Docker, включая Docker Compose и Multistaging
5. Infrastructure-as-Code: Terraform и Ansible
5. Работа с хранилищем данных Redis
Какие технологии освоишь: Docker, Ansible, Grafana, Kubernetes, Terraform, Zabbix, ELK, Jenkins, Prometheus
Какие еще есть плюшки: у ребят очень доступные цены за счет того, что курс хоть и с ментором, но рассчитан на самостоятельное обучение – т.е. учишься в любое время, когда тебе удобно в образовательной платформе.
❇️ Первые 2 урока бесплатные — попробуй и реши, твое ли это.
Подробнее о курсе
Ребята из Merion Academy (того самого Youtube-канала про IT), создали курс, который помогает не просто смотреть уроки, а реально учиться:
✔️ Грамотно подобранная программа курса.
✔️ Много практики.
✔️ Помогают разобраться с затыками.
✔️ Отдельно помогут с карьерой: как составить резюме, пройти собеседования и найти работу.
Что интересного в программе:
1. Построение CI/CD пайплайнов в GitLabCI и Jenkins
2. Настройка мониторинга с Zabbix, Prometheus и Grafana
3. Понимание DevSecOps, ZTNA, SASE, Defense in Depth
4. Работа с Docker, включая Docker Compose и Multistaging
5. Infrastructure-as-Code: Terraform и Ansible
5. Работа с хранилищем данных Redis
Какие технологии освоишь: Docker, Ansible, Grafana, Kubernetes, Terraform, Zabbix, ELK, Jenkins, Prometheus
Какие еще есть плюшки: у ребят очень доступные цены за счет того, что курс хоть и с ментором, но рассчитан на самостоятельное обучение – т.е. учишься в любое время, когда тебе удобно в образовательной платформе.
❇️ Первые 2 урока бесплатные — попробуй и реши, твое ли это.
Подробнее о курсе
Merion Academy
DevOps-инженер с нуля
Стань DevOps-инженером с нуля и научись использовать инструменты и методы DevOps
🤡4🔥2👍1👏1💊1
TCP Tuning для высокой нагрузки
В больших сервисах стандартные сетевые настройки ядра Linux иногда становятся узким местом.
Например, при сотнях тысяч одновременных соединений сервер может «терять» пакеты SYN, а TCP-сессии застревать в TIME_WAIT. Чтобы этого избежать, настраивают несколько параметров через sysctl.
Основные параметры
1️⃣ net.core.somaxconn
Определяет максимальное количество ожидающих соединений в очереди listen().
2️⃣ tcp_max_syn_backlog
Размер очереди незавершённых TCP-соединений (SYN). Важно при пиковых нагрузках.
3️⃣ tcp_fin_timeout
Время удержания соединений в FIN_WAIT2, которое может «засорять» сервер.
4️⃣ tcp_tw_reuse и tcp_tw_recycle (внимание: tcp_tw_recycle устарел и опасен для NAT)
Позволяет повторно использовать TIME_WAIT-сессии для новых соединений.
Проверка эффекта
➖ Посмотреть количество TIME_WAIT-соединений:
➖ Нагрузить сервер с помощью ab или wrk и сравнить, сколько соединений сервер держит без потерь.
Автоматизация
Чтобы настройки сохранялись после перезагрузки, добавьте их в /etc/sysctl.conf:
и примените:
В больших сервисах стандартные сетевые настройки ядра Linux иногда становятся узким местом.
Например, при сотнях тысяч одновременных соединений сервер может «терять» пакеты SYN, а TCP-сессии застревать в TIME_WAIT. Чтобы этого избежать, настраивают несколько параметров через sysctl.
Основные параметры
Определяет максимальное количество ожидающих соединений в очереди listen().
# посмотреть текущее значение
sysctl net.core.somaxconn
# увеличить до 65535
sudo sysctl -w net.core.somaxconn=65535
Размер очереди незавершённых TCP-соединений (SYN). Важно при пиковых нагрузках.
sudo sysctl -w net.ipv4.tcp_max_syn_backlog=4096
Время удержания соединений в FIN_WAIT2, которое может «засорять» сервер.
sudo sysctl -w net.ipv4.tcp_fin_timeout=15
Позволяет повторно использовать TIME_WAIT-сессии для новых соединений.
sudo sysctl -w net.ipv4.tcp_tw_reuse=1
Проверка эффекта
ss -s | grep timewait
Автоматизация
Чтобы настройки сохранялись после перезагрузки, добавьте их в /etc/sysctl.conf:
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_tw_reuse = 1
и примените:
sudo sysctl -p
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍6