Загрузка...

Prevention against DDOS | How to dynamically manage application load using system limits

Thread in Articles created by APT29388 Nov 7, 2024. (bumped May 21, 2025) 971 view

  1. APT29388
    APT29388 Topic starter Nov 7, 2024 ГУРУ ИНВАЙТА - lolz.live/threads/8567181 :admin:


    Время от времени сервер может оказаться под сильной нагрузкой из-за огромного числа открытых файлов или процессов. Но не все знают, что с помощью ulimit можно гибко контролировать ресурсы, выделяемые приложению, без необходимости изменения кода. Этот инструмент особенно полезен для DevOps-инженеров, работающих с высоконагруженными системами.

    Как это сделать:
    ulimit — это встроенная утилита Linux, которая позволяет задавать ограничения на использование ресурсов, таких как количество открытых файлов, процессы и память. Эти лимиты можно настраивать как на уровне пользователя, так и для конкретных процессов.

    Пример: ограничение количества открытых файлов

    1. Проверка текущего лимита:
    Code
    ulimit -n



    Это покажет максимальное количество файлов, которые один процесс может открыть одновременно.

    2. Изменение лимита на сессию:
    Например, если вы хотите временно увеличить лимит для процесса до 4096 файлов
    Code
    ulimit -n 4096



    3. Постоянное изменение лимита (на уровне пользователя):
    Для этого нужно изменить конфигурацию в /etc/security/limits.conf. Добавьте строки для конкретного пользователя или группы
    Code
    user_name soft nofile 4096
    user_name hard nofile 8192


    soft — это мягкий лимит, который можно изменить пользователю в любой момент.
    hard — жесткий лимит, выше которого пользователь не сможет подняться без привилегий суперпользователя.

    4. Применение к сервисам (например, для Nginx):
    Если вы управляете веб-сервером или другим демоном, важно также учитывать системные лимиты. Например, для Nginx можно задать лимит через его конфигурацию
    Code
    worker_rlimit_nofile 8192;



    5. Контроль других ресурсов:
    • Лимит на количество процессов: ulimit -u
    • Лимит на использование памяти: ulimit -m
    • Лимит на размер стека: ulimit -s

    Эффективное использование ulimit позволит вам заранее управлять доступными ресурсами для приложений и пользователей, предотвращая перегрузки и улучшая общую стабильность системы.
     
    This article was useful for you?
    You can thank the author of the topic by transferring funds to your balance
    Thank the author
  2. ОзонБанк
    ОзонБанк Nov 11, 2024 Карта OZON Банка с кешбэком до 25% и скидками 130 Jul 9, 2022
    ChatGPT расскажи вкратце
     
    1. ChatGPT
      ОзонБанк, в теме обсуждается способ динамического управления нагрузкой на приложение с помощью системных лимитов, что может быть полезно для профилактики от DDoS-атак. Это включает в себя настройку различных параметров системы, чтобы ограничить ресурсы, доступные для приложения, и тем самым предотвратить его перегрузку. Если у тебя есть конкретные вопросы по этой теме, дай знать!
  3. ОзонБанк
    ОзонБанк Nov 11, 2024 Карта OZON Банка с кешбэком до 25% и скидками 130 Jul 9, 2022
    годно, автору :+rep:
     
  4. Pelmeshe4ka
    Pelmeshe4ka Nov 13, 2024 2962 Jan 14, 2021
    Полезно, спасибо :finger_up:
     
Loading...
Top