Настройка дроссельной заслонки: Настройка дроссельной заслонки — с чего начать?

Регулировка дроссельной заслонки

Главная » Двигатель » Вы читаете статью:

по Евгений

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

Во многом это касается топливной системы, так как от ее работы зависит общее поведение автомобиля. Важно иметь топливную смесь требуемого качества. Для этого проводится регулировка дроссельной заслонки.

Содержание

  • 1 Особенности конструкции
  • 2 Разновидности конструкций
  • 3 Возможные неполадки
  • 4 Проведение наладочных работ

Особенности конструкции

Дроссельная заслонка имеет форму клапана, осуществляющего дозирование воздуха, поступающего из впускного коллектора.

В ее функции входит непосредственная регулировка проходного сечения канала.

Обеспечивает более тонкую работу додачи кислорода специальный датчик, контролирующий угол наклона и степень открытия прохода. Сигналы от него передаются в электронный блок управления, корректирующий в это время подачу топлива для смеси. Этим способом удается сбалансировать обогащение при максимальных оборотах силовой установки.

В конструкциях автомобилей встречаются два типа датчиков, различающихся по типу приводов:

  • механический;
  • электрический.

Первый тип характерен для бюджетных моделей. Полный комплект механического узла объединяется в едином модуле, совмещающем такие составные части:

  • регулятор холостых оборотов;
  • вращающаяся дроссельная заслонка;
  • датчик положения ДЗ;
  • корпус.

В некоторых случаях к элементам системы относят патрубки, которые способствуют эффективной работе системы, отлавливающей пары топлива и занимающейся отводом картерных газов.

Корпус, в котором расположена заслонка, конструкционно относится к системе охлаждения. В обязанности регулятора холостого хода входит обеспечение требуемой частоты вращения двигателя при закрытом заслонкой канале. Это необходимо во время прогревания мотора или на старте. Регулятор представляет собой клапан и электромотор. С их помощью выполняется подача воздушного потока в обход основного канала, закрытого заслонкой.

Современные автомобили комплектуются практически во всех моделях заслонками, оснащенными электрическим приводом. Как правило, у них также есть собственная система управления. За счет данной электроники проводится наиболее эффективное обеспечение крутящим моментом автомобиля на различных интервалах частоты вращения.

К дополнительным позитивам относится снижение расхода и повышение экологической составляющей.

Для электрического узла характерны следующие составляющие:

  • единый корпус;
  • небольшой электродвигатель;
  • распределительный редуктор;
  • ДПДЗ;
  • пружинный механизм;
  • дроссельная заслонка.

Разница в авто с механическими составляющими узла и электрическими заметна во время эксплуатации:

  • в электрическом узле отсутствует прямая связь заслонки и педали газа;
  • настройка холостых оборотов выполняется при перемещении заслонки, ведь электроника способна самостоятельно воздействовать на механизмы без вмешательства человека;
  • электроника влияет на значение крутящего момента силовой установки.

Эти особенности стали возможны после использования вместо механики датчиков входного типа. За счет них эксплуатируются также датчики положения педали газа. Весь комплекс электроники влияет на положение дроссельной заслонки.

Разновидности конструкций

Перед тем как отрегулировать дроссельную заслонку, необходимо знать, что существуют конструкции узла, включающие в себя два датчика положения ДЗ. Эта особенность не повышает мощность и не влияет на скорость обработки сигнала. Основной ее задачей является дублирование операций, поэтому при выходе одного элемента из строя, в работоспособном состоянии остается второй элемент.

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

Возможные неполадки

Рассматривая поломки узла, можно дифференцировать их по нескольким группам:

  • проблемы с пуском двигателя;
  • завышенный расход бензина;
  • чрезмерные обороты на холостом ходу;
  • набор скорости с явными провалами;
  • перебои с тягой во время переключения передач.

В этих случаях необходима обязательная настройка и регулировка топливной системы, чтобы не случилось проблем на трассе.

Проведение наладочных работ

В данном узле основная работа приходится на заслонку. От ее точного положения зависит количество и качество подающейся топливной смеси. Во время настройки стоит максимально точно следовать алгоритму.

Перед началом работ отключается зажигание двигателя. Таким образом заслонка устанавливается в первоначальное закрытое положение.

В датчике проводится проверка проводимости между клеммами, а затем осуществляется отключение разъема. Напряжение при этом на тестере должно быть нулевым.

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

При несоответствии проводится наладка при помощи натяжных гаек. Ослабляя гайку «А» и подтягивая гаку «Б», обеспечиваем заданное производителем положение.

Также используем щуп 0,4 мм, который поможет вымерять зазор между винтом и рычагом на корпусе. Обязательной настройке подвергается датчик положения дроссельной заслонки. Его выставляют на угол, при котором обеспечивается требуемое напряжение на клеммах.

По окончании работ затягиваются крепежные винты, которые ослаблялись для всех регулировок.

Интересное по теме:

загрузка. ..

Настройка дросселя после чистки или борьба со ступенькой при сбросе газа — Двигатель

Короче более полугода назад пришла мне в голову идея, а не почистить ли мне дроссельную заслонку и МАФ, купил карбклинер и набрызгал не снимая, высушил и довольный поехал, радость быстро прошла, обороты постоянно торчали выше 1100 об, долго искал регулировочный винт хх, нашел, убавил хх, вроде было ниче, подкрутил еще чуть чуть и началось, в общем с тех пор нормальных оборотов не было, перепробовал все варианты настройки, снял дроссель и вычистил до состояния нового, результата нет, было то получше то похуже, в итоге сел, систематизировал и написал все что узнал по этому вопросу, и по системе выставил все настройки, поехал и минут через десять езды ступенька пропала, обороты стали быстро и четко возвращаться на положенный уровень.
Поэтому решил поделиться инфой со всеми.
Делал для GA16DE, но подойдет для всех механических дросселей.

При первоначальной настройке пробуем выполнить регулировку со 2 шага, если нормальные результаты не достигнуты, возвращаемся к первому.

1 шаг
регулировка положения заслонки в закрытом состоянии:
Для правильной регулировки надо подложить что-нибудь между термоклапаном и регулировочным винтом кулачка быстрого холостого хода, что бы он, не ограничивал заслонку.

Я подкладывал несколько десятирублевых монет, главное что бы метка «А» ушла за метку «С», ну или хотя бы сравнялись.

Далее расконтргаеваем винт!!! (я пытался выкрутить не расконтгаивая, тупанул, и испортил винт, теперь жду нормальный из Арабских Эмиратов)

опускаем заслонку выкручивая (против часовой) регулировочный винт, и проверяя опускание надавливая и отпуская тросик газа, пока она не начнет упираться в стенки дроссельной камеры, момент упирания в стенки определяется по исчезновению звука щелчка ограничителя об регулировочный винт, и возвращаемся на полоборота, то есть до появления четкого и ясного щелчка.

2 шаг
проверить и при необходимости выставить ДПДЗ на 0,5 Ом. (для других движков значение другое)

для этого ослабить два винта датчика положения дроссельной заслонки, и вращать его, (здесь удобнее скинуть фишку) значения будут меняться, мерить по этим контактам

далее на одетой фишке при включенном зажигании проверить ДПДЗ, по вольтам должно быть 0,35-0,65V, обычно регулируется на 0,5V, у меня получилось 0,4 то же неплохо, (что бы мерить на одетой фишке берется две скрепки наполовину распрямляются и подсовываются под резинки фишки, до контактов, очень важно следить что бы они не замкнули при включенном зажигании) закрутить болты и проверить равномерность возрастания напряжения при плавном нажатии на педаль газа, я просто плавно вращал поворотный механизм дроссельной заслонки, если возрастает рывками или не возрастает или еще чего подобное ДПДЗ на помойку.

3 шаг
вытаскиваем все чего наложили под болт кулачка БХХ в 1ом шаге.
необходимо проверить настройку термоклапана, проще всего прогреть авто до середины рабочей зоны и проверить совпадение меток «А» и «С»,

желательно делать это летом и быстро, зимой клапан моментально остывает.
если же дроссель снят и принесен домой, можно отрегулировать на температуру 25 ±5°С


но лично мне кажется на прогретом двигателе настройка будет правильнее и точнее, главное не дать двигателю остыть.

4 шаг
Закрутить винт регулировки хх на полную.

Скинуть фишку ДПДЗ и завести авто, поднимать хх винтом до 625об
Моя ошибка была в том что глядя на вторую риску тахометра, я думал что это где то 300об, но посмотрев видеоотчет на ниссан клубе, я понял, что эта риска 500об, а нужные мне 625 чуть чуть повыше этой риски, где то даже ниже середины между 0 и 1000 об, а я все время регулируя эти обороты пытался их выкрутить на 3/4, а они упорно сопротивлялись, видимо мозг компенсировал мои издевательства клапаном холостого хода закрывая его, а потом при движении он естественно был открыт, поэтому и обороты упорно не падали. ..
В моем случае регулировочный винт хх остался полностью закрученным.

Если обороты в процессе регулировки поднялись и не хотят опускаться, отключить АКБ понажимать на тормоз, закрутить регулировочный винт хх, подключить АКБ, завести и продолжить регулировку.
Далее заглушить авто и накинуть фишку ДПДЗ, завести, проверить обороты, должны немного повысится.
если обороты не повысились, необходимо проверить работоспособность КХХ.

5 шаг
при необходимости обучить:
прогреть двигатель, выключить зажигание и не ранее чем через 5 сек. скинуть фишку с ДПДЗ, запустить двигатель, и не менее чем через 5 сек. одеть фишку обратно, на заведенном двигателе, при необходимости отключить АКБ и понажимать на тормоз, подключить и обучить заново.

6 шаг
если ступенька осталась, можно попытаться избавится от нее поворотом ДПДЗ в пределах 0,35-0,65V, внимание!!! сильно заниженное значение может привести к повышенному расходу бензина, и «туплению» авто, повышенное значение ведет соответственно к повышенному хх.
лучше оставить ступеньку или см 7 шаг.

7 шаг
если ступенька осталась, проверить люфт тарелки в КХХ если он более 1мм, провести регулировку КХХ развальцевав крышку, и подкрутив пластиковый винт, внимание винт приклеен, не поломайте, WD-шка в помощь, винт представляет из себя полую крышку, внутрь которой упирается пружина, параметры винта М20*1.

Помните, если все сделано правильно а ступенька осталась, дайте время авто обучиться новым параметрам поездите недельку, если изменений нет, тогда копать дальше.

Как установить настройки дроссельной заслонки в PowerNet

В сегодняшнем техническом совете мы рассмотрим процедуры настройки аналоговой дроссельной заслонки « smart » и электронного троса дроссельной заслонки в программном обеспечении PowerNet. Оба по-разному подключаются к дроссельной заслонке двигателей, но используют одни и те же настройки для их настройки. Интеллектуальный привод дроссельной заслонки представляет собой механическое соединение с двигателем, а кабели электронной дроссельной заслонки подключаются к ECM двигателя для управления положением дроссельной заслонки. При тестировании каждого нового двигателя необходимо отрегулировать дроссельную заслонку, чтобы обеспечить правильную работу во время тестирования.

В этой статье мы будем использовать снимки экрана программного обеспечения PowerNet LT в демонстрационных целях, но покажем вам, где находятся эти настройки, если вместо этого у вас установлена ​​PowerNet WorkStation. Чтобы открыть окно настроек в PowerNet LT, нажмите ПРОСМОТР > НАСТРОЙКИ в интерфейсе контроллера, как показано ниже. Окно настроек откроется автоматически. При работе с PowerNet WorkStation вам потребуется использовать сенсорный дисплей на рабочей станции для просмотра и настройки параметров дроссельной заслонки. В главном окне дисплея нажмите кнопку THROTTLE/VALVE, чтобы загрузить экран настройки. Если мы посмотрим на оба экрана настройки рядом, то заметим, что каждый из них имеет четыре разных настройки. В большинстве случаев одно и то же значение будет введено в первые три поля, а максимальное значение будет введено в последнее поле. Давайте пройдемся по каждой из настроек, чтобы лучше понять их функции:

Привод в % для ОСТАНОВА ДВИГАТЕЛЯ (LT) или положения остановки дроссельной заслонки (WS) — представляет собой процент диапазона дроссельной заслонки, необходимый для остановки двигателя. В некоторых случаях дроссельная заслонка двигателя возвращается за пределы низкого холостого хода или нулевого положения, чтобы остановить двигатель. Если у вас двигатель такого типа, это нулевой процент от общего диапазона дроссельной заслонки, и будет введено значение «0».

Actuator % То есть 0% дроссельной заслонки (LT) или нулевое положение дроссельной заслонки (WS) — представляет собой процент диапазона дроссельной заслонки, который соответствует низкому холостому ходу или нулевому положению. Введенное значение должно быть больше или равно значению в поле Stop Throttle. Например, если дроссельная заслонка вашего двигателя возвращается за пределы низкого холостого хода или нулевого положения, чтобы остановить двигатель, вам может потребоваться ввести значение «3» в этом поле. Представляет собой 3% от общего диапазона дроссельной заслонки, поэтому положение дроссельной заслонки перемещается достаточно вверх, чтобы выйти из фиксированного положения отключения.

Процент привода до ЗАПУСКА ДВИГАТЕЛЯ (LT) или пускового положения дроссельной заслонки (WS) — представляет процент диапазона дроссельной заслонки, используемый для запуска двигателя. На некоторых двигателях для запуска может потребоваться небольшое увеличение дроссельной заслонки. Это значение должно быть больше или равно значению, введенному в поле Zero Throttle. Например, если для двигателей с низким холостым ходом или нулевым положением дроссельной заслонки установлено значение «3», вам может потребоваться ввести в это поле значение «5» или «6». Что составляет 5 или 6% от общего диапазона дроссельной заслонки, чтобы немного увеличить дроссельную заслонку во время запуска двигателя.

% привода, который соответствует 100% дроссельной заслонки (LT) или полной дроссельной заслонки (WS) — представляет собой полную дроссельную заслонку или общий процент диапазона дроссельной заслонки. Это число всегда будет «100», если вы настраиваете аналоговый интеллектуальный дроссель, но может быть чем-то другим, чем 100, при настройке троса электронного дросселя, который будет рассмотрен чуть позже.

Опять же, при тестировании каждого нового двигателя эти настройки дроссельной заслонки должны быть установлены для обеспечения правильной работы. В большинстве случаев значение «0» будет введено в первые три поля, а значение «100» будет введено в последнее поле для механических/аналоговых интеллектуальных приводов дроссельной заслонки. Теперь давайте рассмотрим, как настроить аналоговый «умный» привод дроссельной заслонки, а затем мы перейдем к настройке электронного кабеля.

Перед запуском, если он еще не выбран, в интерфейсе контроллера выберите РЕЖИМ ПРОЦЕНТА ДРОССЕЛЬНОЙ ЗАСЛОНКИ и убедитесь, что дроссельная заслонка находится на нулевом уровне.

Шаг 1: В этом техническом совете мы не будем рассматривать механические соединения с дроссельной заслонкой вашего двигателя, но шаг 1 st будет заключаться в использовании кабеля и других компонентов для подключения к механической дроссельной заслонке вашего двигателя. После подключения кабель не должен иметь провисания.

Шаг 2: После подключения необходимо установить нулевое положение дроссельной заслонки с помощью;

  • Переместите и удерживайте переключатель блокировки дроссельной заслонки в положение 0%. В этом положении вал привода освобождается, что позволяет вручную отрегулировать нулевое положение.
  • Когда вал свободен, вы можете вращать катушку с кабелем или перемещать рычаг привода, чтобы устранить оставшуюся слабину троса. Как только переключатель блокировки дроссельной заслонки будет отпущен, привод «захватит» вал и вернется в положение, указанное в интерфейсе контроллера, которое должно быть равно 0, поскольку мы установили его до начала.

Шаг 3: Перед регулировкой максимального положения дроссельной заслонки уменьшите диапазон, нажав переключатель диапазона дроссельной заслонки в отрицательное (-) положение и удерживая его в течение 5–10 секунд. Это уменьшит диапазон и уменьшит риск повреждения дроссельной заслонки двигателя из-за превышения максимального положения.

Шаг 4: Установить максимальное положение дроссельной заслонки;

  • Переместите и удерживайте переключатель блокировки дроссельной заслонки в положении 100 %. Это переместит положение дроссельной заслонки привода на 100 процентов от текущего диапазона.
  • Удерживая нажатым переключатель блокировки, используйте переключатель диапазона дроссельной заслонки, чтобы отрегулировать положение 100 % диапазона дроссельной заслонки, используя положительное (+) и/или отрицательное (-) положение для увеличения или уменьшения максимального положения диапазона. Как только будет установлено максимальное положение, отпустите переключатель блокировки дроссельной заслонки, и привод вернется в положение, указанное в интерфейсе контроллера, которое мы снова установили на ноль перед запуском.

Теперь вы устанавливаете параметры, которые мы рассмотрели ранее, обычно значение «0» будет введено в первые три поля, а значение «100» всегда будет введено в последнее поле для завершения настройки. Вот и все, что касается настройки аналогового «умного» дросселя. Далее мы рассмотрим настройки дроссельной заслонки, если вы используете электронный трос дроссельной заслонки и подключаетесь к ECM двигателя для управления положением дроссельной заслонки.

Шаг 1: Шаг 1 st заключается в подсоединении троса дроссельной заслонки между двигателем и соединительным портом дроссельной заслонки на блоке управления. Будь то корпус PowerNet LT или рабочая станция.

Шаг 2: Далее вам также потребуется метод для считывания Percent Throttle из ECM двигателя. PowerNet может поставляться с дополнительной программой коммуникатора ECM, или вы можете использовать программу производителей двигателей для считывания параметров ECM. У нас есть еще один технический совет, показывающий, как добавить датчик из программы ECM-коммуникатора, который можно посмотреть здесь.

Шаг 3: Еще раз, если еще не выбрано, в интерфейсе контроллера выберите РЕЖИМ ПРОЦЕНТА ДРОССЕЛЬНОЙ ЗАСЛОНКИ и убедитесь, что дроссельная заслонка равна нулю.

Шаг 4: Убедитесь, что для настроек дроссельной заслонки установлено значение по умолчанию 0 в первых трех полях и значение 100 в поле максимальной дроссельной заслонки. Если у вас есть WorkStation, вы можете просто нажать кнопку Reset Throttle, чтобы установить настройки по умолчанию.

Шаг 5: Для начала медленно двигайте ползунок вверх, пока не увидите показания на датчике ПРОЦЕНТ ДРОССЕЛЬНОЙ ЗАСЛОНКИ, отличные от нуля. Затем медленно двигайте планку обратно вниз, пока не достигнете нуля. Возможно, вам придется отрегулировать эту настройку с помощью ползунка, пока вы не окажетесь на нулевом уровне. Достигнув нуля, запишите значение дроссельной заслонки в %, отображаемое на интерфейсе контроллера. Например, допустим, показано значение 4,21%, я бы записал 4,9.0007

Шаг 6: Теперь нам нужно найти максимальное значение дроссельной заслонки, медленно сдвиньте ползунок до максимального значения. ПРИМЕЧАНИЕ. Датчик процента дроссельной заслонки от ECM может не показывать полные 100%, он может показывать только 98 или 99. Но опять же, точно настройте максимальную уставку с помощью ползунка, чтобы убедиться, что вы находитесь в максимальном положении дроссельной заслонки, а затем запишите значение Throttle %, отображаемое в интерфейсе контроллера PowerNet. Например, допустим, показано значение 70,51%, я бы записал 70,9.0007

Шаг 7: Итак, теперь, когда у нас есть минимальное и максимальное значения, мы можем использовать эти числа для калибровки настроек дроссельной заслонки PowerNet. Откройте окно настроек и минус -1 от вашего минимального значения, а затем введите это число для вашего нулевого процента дроссельной заслонки. Итак, в нашем примере я записал 4, так что я бы отнял от этого один и ввел значение 3 в поля 1 st 3, чтобы установить нулевой дроссель.

Шаг 8: Чтобы установить максимальный дроссель, возьмите записанное вами число и добавьте к нему 1 или 2 в зависимости от показаний. Итак, в нашем примере мы записали 70, если бы я мог прочитать только 99%, я бы добавил 1 к числу, если бы я мог читать только до 98%, я мог бы добавить 2 к числу. Как только у меня будет номер, скажем, 71, я введу его для максимальной настройки дроссельной заслонки.

Шаг 9: Последним шагом является проверка настроек дроссельной заслонки с помощью ползунка интерфейса контроллера и индикатора дроссельной заслонки в процентах. Проверьте показания при нулевом, полном и прибл. Дроссель 50% является линейным между минимальным и максимальным числами. При необходимости повторите шаги и настройте, добавляя или вычитая 1 или 2 цифры к показаниям, пока вы не будете удовлетворены настройкой. И это все для калибровки троса электронного дросселя в PowerNet.

Мы надеемся, что этот технический совет помог объяснить процесс настройки дроссельной заслонки, как всегда, если у вас есть какие-либо вопросы, обратитесь к представителю Power Test, который всегда доступен для Make Your Testing Easy .

Регулирование — Django REST framework

дросселирование.py

HTTP/1. 1 420 Улучшите свое спокойствие

Ответ ограничения скорости Twitter API

Регулировка аналогична разрешениям в том смысле, что она определяет, следует ли авторизовать запрос. Регуляторы указывают на временное состояние и используются для контроля скорости запросов, которые клиенты могут отправлять к API.

Как и в случае с разрешениями, можно использовать несколько ограничений. Ваш API может иметь ограничительный дроссель для неаутентифицированных запросов и менее ограничительный дроссель для аутентифицированных запросов.

Еще один сценарий, в котором вы можете захотеть использовать несколько дросселей, — это если вам нужно наложить разные ограничения на разные части API из-за того, что некоторые службы являются особенно ресурсоемкими.

Можно также использовать множественные дроссели, если вы хотите наложить как импульсные скорости дросселирования, так и устойчивые скорости дросселирования. Например, вы можете ограничить пользователя максимальным количеством запросов 60 в минуту и ​​1000 запросов в день.

Дроссели не обязательно относятся только к запросам на ограничение скорости. Например, службе хранения может также потребоваться регулировать пропускную способность, а платной службе данных может потребоваться регулировать определенное количество записей, к которым осуществляется доступ.

**Дросселирование на уровне приложения, обеспечиваемое инфраструктурой REST, не должно рассматриваться как мера безопасности или защита от атак методом грубой силы или атак типа «отказ в обслуживании». Злоумышленники всегда смогут подделать IP-адреса. В дополнение к этому, встроенные реализации дросселирования реализованы с использованием структуры кэша Django и используют неатомарные операции для определения скорости запросов, что иногда может приводить к некоторой нечеткости.

Регулирование на уровне приложений, обеспечиваемое инфраструктурой REST, предназначено для реализации политик, таких как различные бизнес-уровни и базовая защита от чрезмерного использования службы.**

Как и в случае с разрешениями и проверкой подлинности, регулирование в инфраструктуре REST всегда определяется как список классов.

Перед запуском основной части представления проверяется каждый дроссель в списке. Если какая-либо проверка дроссельной заслонки завершается с ошибкой, будет вызвано исключение . Исключение Throttled , и основная часть представления не будет запущена.

Политика регулирования по умолчанию может быть установлена ​​глобально с использованием настроек DEFAULT_THROTTLE_CLASSES и DEFAULT_THROTTLE_RATES . Например.

 REST_FRAMEWORK = {
    'DEFAULT_THROTTLE_CLASSES': [
        'rest_framework.throttling.AnonRateThrottle',
        'rest_framework.throttling.UserRateThrottle'
    ],
    'DEFAULT_THROTTLE_RATES': {
        'анон': '100/день',
        'пользователь': '1000/день'
    }
}
 

Описания скорости, используемые в DEFAULT_THROTTLE_RATES может включать секунд , минут , часов или дней в качестве периода регулирования.

Вы также можете установить политику регулирования для каждого представления или для каждого набора представлений, с использованием представлений на основе классов APIView .

 из rest_framework.response import Ответ
из rest_framework.throttling импортировать UserRateThrottle
из rest_framework.views импортировать APIView
класс ExampleView (APIView):
    дроссель_классы = [UserRateThrottle]
    def get(self, request, format=None):
        содержание = {
            'статус': 'запрос разрешен'
        }
        вернуть ответ (содержание)
 

Если вы используете декоратор @api_view с представлениями на основе функций, вы можете использовать следующий декоратор.

 @api_view(['GET'])
@throttle_classes([UserRateThrottle])
def example_view (запрос, формат = нет):
    содержание = {
        'статус': 'запрос разрешен'
    }
    вернуть ответ (содержание)
 

Также можно установить классы дросселя для маршрутов, созданных с помощью декоратора @action . Установленные таким образом классы дросселя переопределяют любые настройки класса уровня набора представлений.

 @action(detail=True, method=["post"], дроссель_classes=[UserRateThrottle])
def example_adhoc_method (запрос, pk = нет):
    содержание = {
        'статус': 'запрос разрешен'
    }
    вернуть ответ (содержание)
 

HTTP-заголовок X-Forwarded-For и переменная REMOTE_ADDR WSGI используются для уникальной идентификации клиентских IP-адресов для регулирования. Если присутствует заголовок X-Forwarded-For , то он будет использоваться, в противном случае значение REMOTE_ADDR будет использоваться переменная из среды WSGI.

Если вам необходимо строго идентифицировать уникальные IP-адреса клиентов, вам необходимо сначала настроить количество прокси-серверов приложений, за которыми работает API, установив параметр NUM_PROXIES . Этот параметр должен быть целым числом от нуля или выше. Если установлено значение, отличное от нуля, IP-адрес клиента будет идентифицирован как последний IP-адрес в заголовке X-Forwarded-For после того, как все IP-адреса прокси приложения будут сначала исключены. Если установить в ноль, то Значение REMOTE_ADDR всегда будет использоваться в качестве идентифицирующего IP-адреса.

Важно понимать, что если настроить параметр NUM_PROXIES , то все клиенты за уникальным шлюзом NAT будут рассматриваться как один клиент.

Дополнительный контекст о том, как работает заголовок X-Forwarded-For и как определить IP-адрес удаленного клиента, можно найти здесь.

Классы дросселя, предоставляемые инфраструктурой REST, используют кеш-сервер Django. Вы должны убедиться, что вы установили соответствующие настройки кэша. Значение по умолчанию Бэкэнд LocMemCache должен подойти для простых настроек. Для получения более подробной информации см. документацию по кешу Django.

Если вам нужно использовать кеш, отличный от «по умолчанию» , вы можете сделать это, создав собственный класс дроссельной заслонки и установив атрибут кеша. Например:

 из кэшей импорта django.core.cache
класс CustomAnonRateThrottle (AnonRateThrottle):
    кеш = кеши['альтернативный']
 

Не забудьте также установить собственный класс дроссельной заслонки в 'DEFAULT_THROTTLE_CLASSES' ключ настроек или с использованием атрибута представления дросселя_классов .

Реализации встроенной дроссельной заслонки открыты для условий гонки, поэтому при высокой степени параллелизма они могут пропускать несколько дополнительных запросов.

Если ваш проект полагается на гарантированное количество запросов во время одновременных запросов, вам потребуется реализовать собственный класс дросселя. Дополнительные сведения см. в выпуске № 5181.


AnonRateThrottle будет блокировать только неавторизованных пользователей. IP-адрес входящего запроса используется для создания уникального ключа для регулирования.

Допустимая частота запросов определяется одним из следующих (в порядке предпочтения).

  • Свойство rate класса, которое может быть предоставлено путем переопределения AnonRateThrottle и установки свойства.
  • Параметр DEFAULT_THROTTLE_RATES['anon'] .

AnonRateThrottle подходит, если вы хотите ограничить скорость запросов из неизвестных источников.

UserRateThrottle будет ограничивать пользователей до заданной скорости запросов через API. Идентификатор пользователя используется для создания уникального ключа для регулирования. Неаутентифицированные запросы будут использовать IP-адрес входящего запроса для создания уникального ключа для регулирования.

Допустимая частота запросов определяется одним из следующих (в порядке предпочтения).

  • Свойство rate класса, которое может быть предоставлено путем переопределения UserRateThrottle и установки этого свойства.
  • Параметр DEFAULT_THROTTLE_RATES['пользователь'] .

API может иметь несколько UserRateThrottles одновременно. Для этого переопределите UserRateThrottle и установите уникальную «область действия» для каждого класса.

Например, несколько пользовательских уровней дросселирования могут быть реализованы с помощью следующих классов…

 класс BurstRateThrottle(UserRateThrottle):
    объем = 'взрыв'
класс SustainedRateThrottle (UserRateThrottle):
    объем = «устойчивый»
 

…и следующие настройки.

 REST_FRAMEWORK = {
    'DEFAULT_THROTTLE_CLASSES': [
        'пример. throttles.BurstRateThrottle',
        'example.throttles.SustainedRateThrottle'
    ],
    'DEFAULT_THROTTLE_RATES': {
        «взрыв»: «60/мин»,
        «устойчивый»: «1000/день»
    }
}
 

UserRateThrottle подходит, если вам нужны простые глобальные ограничения скорости для каждого пользователя.

Класс ScopedRateThrottle можно использовать для ограничения доступа к определенным частям API. Этот дроссель будет применяться только в том случае, если представление, к которому осуществляется доступ, включает свойство .throttle_scope . Затем уникальный дроссельный ключ будет сформирован путем объединения «области» запроса с уникальным идентификатором пользователя или IP-адресом.

Допустимая скорость запроса определяется настройкой DEFAULT_THROTTLE_RATES с использованием ключа из «области» запроса.

Например, учитывая следующие представления…

 class ContactListView(APIView):
    дроссель_скоп = 'контакты'
    . ..
класс ContactDetailView (APIView):
    дроссель_скоп = 'контакты'
    ...
класс UploadView (APIView):
    дроссель_скоп = 'загрузки'
    ...
 

…и следующие настройки.

 REST_FRAMEWORK = {
    'DEFAULT_THROTTLE_CLASSES': [
        'rest_framework.throttling.ScopedRateThrottle',
    ],
    'DEFAULT_THROTTLE_RATES': {
        'контакты': '1000/день',
        'загрузки': '20/день'
    }
}
 

Запросы пользователей к ContactListView или ContactDetailView будут ограничены до 1000 запросов в день. Запросы пользователей к UploadView будут ограничены 20 запросами в день.


Чтобы создать собственный дроссель, переопределите BaseThrottle и реализуйте .allow_request(self, request, view) . Метод должен возвращать True , если запрос должен быть разрешен, и False в противном случае.

При желании вы также можете переопределить метод .wait() .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *