> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# إعدادات session ضمن المجموعة weight_lowering_*

> إعدادات session في ClickHouse ضمن المجموعة المُولَّدة weight_lowering_*.

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["الإصدار", "القيمة الافتراضية", "التعليق"];
  const border = "1px solid rgba(128, 128, 128, 0.3)";
  const cell = {
    border,
    padding: "0.25rem 0.5rem",
    textAlign: "start",
    verticalAlign: "top"
  };
  return <details className="not-prose" style={{
    border,
    borderRadius: "0.5rem",
    margin: "0.5rem 0",
    padding: "0.5rem 0.75rem",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <summary style={{
    cursor: "pointer",
    fontWeight: 600,
    opacity: 0.72
  }}>
        سجل الإصدارات
      </summary>
      <table style={{
    borderCollapse: "collapse",
    width: "100%",
    margin: "0.5rem 0 0"
  }}>
        <thead>
          <tr>
            {headers.map(header => <th key={header} style={{
    ...cell,
    fontWeight: 600,
    opacity: 0.72
  }}>
                {header}
              </th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, row_index) => <tr key={row.id ?? row_index}>
              {(row.items ?? []).map((item, item_index) => <td key={item_index} style={{
    ...cell,
    overflowWrap: "anywhere"
  }}>
                  {item?.label}
                </td>)}
            </tr>)}
        </tbody>
      </table>
    </details>;
};

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>النوع</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>القيمة الافتراضية</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          يمكن تغييره دون إعادة التشغيل
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

تتوفر هذه الإعدادات في [system.settings](/docs/ar/reference/system-tables/settings)، وتُنشأ تلقائيًا من [الشيفرة المصدرية](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<h2 id="weight_lowering_age_seconds">
  weight\_lowering\_age\_seconds
</h2>

<SettingsInfoBlock type="Double" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.10"},{"label": "0"},{"label": "إعداد استعلام جديد: عتبة عمر الاستعلام (بالوقت الفعلي المنقضي) التي يُخفَّض بعدها وزن الاستعلام في مجدول أعباء العمل `fair`."}]}]} />

في مجدول أعباء العمل `fair`: عندما يتجاوز زمن تنفيذ الاستعلام (بالوقت الفعلي المنقضي) هذا العدد من الثواني، يُخفَّض وزنه بمقدار `weight_lowering_factor`. تؤدي القيمة `0` (أو أي قيمة سالبة) إلى تعطيل عتبة العمر.

<h2 id="weight_lowering_cpu_seconds">
  weight\_lowering\_cpu\_seconds
</h2>

<SettingsInfoBlock type="Double" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.10"},{"label": "0"},{"label": "إعداد استعلام جديد: عتبة ثواني CPU المُحقَّقة التي يُخفَّض بعد بلوغها وزن الاستعلام في مُجدوِل عبء العمل `fair`."}]}]} />

في مُجدوِل عبء العمل `fair`: بمجرد أن يبلغ الاستعلام هذا العدد من ثواني CPU، يُخفَّض وزنه بمقدار `weight_lowering_factor`. ينطبق هذا الإعداد على موارد CPU. تؤدي القيمة `0` (أو أي قيمة سالبة) إلى تعطيل عتبة CPU. يمثّل وقت CPU المُحقَّق خدمةَ المُجدوِل الممنوحة، إذ يُحتسب عند منح الطلب لا عند استهلاك CPU فعليًا، ولذلك قد يسبق الاستهلاكَ الفعلي بحصة زمنية واحدة على الأكثر (`cpu_slot_quantum_ns`) لكل وحدة نشطة. ولا يكون لهذا الإعداد معنى إلا عند تفعيل الاستباق لوحدات CPU (`cpu_slot_preemption = 1`، وهي القيمة الافتراضية)؛ إذ من دون الاستباق تحمل وحدات CPU تكلفة ثابتة لكل وحدة بدلًا من وقت CPU الحقيقي، فلا تعود هذه العتبة — شأنها شأن إعدادات CPU الأخرى الخاصة بـ `fair` — تعكس الاستهلاك الفعلي لـ CPU.

<h2 id="weight_lowering_factor">
  weight\_lowering\_factor
</h2>

<SettingsInfoBlock type="Double" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.10"},{"label": "1"},{"label": "إعداد استعلام جديد: معامل يُطبَّق على وزن الاستعلام بمجرد تجاوزه إحدى عتبات خفض الوزن في مُجدوِل أعباء العمل `fair`."}]}]} />

في مُجدوِل أعباء العمل `fair`: بمجرد أن يتجاوز الاستعلام أيًّا من عتبات `weight_lowering_*` الواردة أدناه، يُضرَب وزنه الفعلي في هذا المعامل مرة واحدة فقط (القيم الواقعة ضمن المجال (0, 1) تخفض الوزن، فتميل الجدولة لصالح الاستعلامات الأقصر أو الأحدث). لا تتراكم العتبات، بل إن أول عتبة يُتجاوَز حدُّها تُطبِّق الخفض كاملًا. تؤدي القيمة `1.0` إلى تعطيل الخفض. والقيمة مقيَّدة ضمن النطاق `[0, 1]`، لذا لا يمكن للمعامل إلا أن يخفض وزن الاستعلام، ولا يرفعه أبدًا.

<h2 id="weight_lowering_io_bytes">
  weight\_lowering\_io\_bytes
</h2>

<SettingsInfoBlock type="Double" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.10"},{"label": "0"},{"label": "إعداد استعلام جديد: عتبة بايتات IO المُنجَزة التي يُخفَّض بعد بلوغها وزن الاستعلام في مُجدول أعباء العمل `fair`."}]}]} />

في مُجدول أعباء العمل `fair`: بمجرد أن يبلغ الاستعلام هذا العدد من بايتات IO، يُخفَّض وزنه بمقدار `weight_lowering_factor`. ينطبق هذا الإعداد على موارد IO. وتؤدي القيمة `0` (أو أي قيمة سالبة) إلى تعطيل عتبة IO.
