> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# إعدادات جلسة filesystem_cache_*

> إعدادات جلسة ClickHouse ضمن المجموعة المُنشأة filesystem_cache_*.

export const CloudOnlyBadge = ({supported = ['cloud', 'private', 'BYOC']}) => {
  const platforms = supported.map(platform => ({
    cloud: 'ClickHouse Cloud',
    private: 'ClickHouse Private',
    BYOC: 'BYOC'
  })[platform] || platform);
  const label = platforms.length === 1 ? platforms[0] : platforms.length === 2 ? platforms.join(' and ') : platforms.slice(0, -1).join(', ') + ', and ' + platforms[platforms.length - 1];
  return <div className="cloudBadge">
            <div className="cloudIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fillRule="evenodd" clipRule="evenodd" d="M5.33395 12.6667H12.3739C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00004 12.3739 8.00004H12.0839V7.33337C12.0839 5.12671 10.2906 3.33337 8.08395 3.33337C6.09928 3.33337 4.45395 4.78537 4.14195 6.68204C2.55728 6.76271 1.29395 8.06204 1.29395 9.66671C1.29395 11.3234 2.63728 12.6667 4.29395 12.6667H5.33395Z" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            {'Available in ' + label}
        </div>;
};

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](/ar/reference/system-tables/settings)، وهي مُنشأة تلقائيًا من [المصدر](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

## filesystem\_cache\_allow\_background\_download

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1"},{"label": "إعداد جديد للتحكم في التنزيلات في الخلفية ضمن ذاكرة التخزين المؤقت لنظام الملفات لكل استعلام."}]}]} />

يسمح لذاكرة التخزين المؤقت لنظام الملفات بإدراج التنزيلات في الخلفية للبيانات المقروءة من وحدة تخزين بعيدة. عطّل هذا الخيار للإبقاء على التنزيلات في المقدمة للاستعلام/الجلسة الحالية.

## filesystem\_cache\_boundary\_alignment

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.11"},{"label": "0"},{"label": "إعداد جديد"}]}]} />

محاذاة حدود ذاكرة التخزين المؤقت لنظام الملفات. بالنسبة لعمليات القراءة غير المعتمدة على القرص (على سبيل المثال، لذاكرة التخزين المؤقت لمحركات الجداول البعيدة / دوال الجداول)، تعني القيمة 0 عدم تطبيق أي محاذاة. أما بالنسبة لعمليات القراءة من القرص (على سبيل المثال، لجداول MergeTree على قرص مزوّد بذاكرة تخزين مؤقت)، فتعني القيمة 0 استخدام `boundary_alignment` من تهيئة ذاكرة التخزين المؤقت.

## filesystem\_cache\_enable\_background\_download\_during\_fetch

<CloudOnlyBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.11"},{"label": "1"},{"label": "إعداد جديد"}]}]} />

يؤثر فقط في ClickHouse Cloud. وقت انتظار قفل ذاكرة التخزين المؤقت لحجز مساحة في ذاكرة التخزين المؤقت لنظام الملفات

## filesystem\_cache\_enable\_background\_download\_for\_metadata\_files\_in\_packed\_storage

<CloudOnlyBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.11"},{"label": "1"},{"label": "إعداد جديد"}]}]} />

يسري فقط في ClickHouse Cloud. مدة الانتظار للحصول على قفل ذاكرة التخزين المؤقت لحجز مساحة في ذاكرة التخزين المؤقت لنظام الملفات

## filesystem\_cache\_max\_download\_size

<SettingsInfoBlock type="UInt64" default_value="137438953472" />

الحد الأقصى لحجم ذاكرة التخزين المؤقت لنظام الملفات البعيد الذي يمكن تنزيله عبر استعلام واحد

## filesystem\_cache\_name

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": ""},{"label": "اسم ذاكرة التخزين المؤقت لنظام الملفات المُراد استخدامه لمحركات الجداول عديمة الحالة أو بحيرات البيانات"}]}]} />

اسم ذاكرة التخزين المؤقت لنظام الملفات المُراد استخدامه لمحركات الجداول عديمة الحالة أو بحيرات البيانات

## filesystem\_cache\_prefer\_bigger\_buffer\_size

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.11"},{"label": "1"},{"label": "إعداد جديد"}]}]} />

يُفضَّل استخدام حجم ذاكرة مؤقتة أكبر إذا كانت ذاكرة التخزين المؤقت لنظام الملفات مُمكّنة، لتجنّب كتابة مقاطع ملفات صغيرة تُضعف أداء ذاكرة التخزين المؤقت. ومن ناحية أخرى، قد يؤدي تمكين هذا الإعداد إلى زيادة استخدام الذاكرة.

## filesystem\_cache\_reserve\_space\_wait\_lock\_timeout\_milliseconds

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "1000"},{"label": "مدة الانتظار لقفل ذاكرة التخزين المؤقت لنظام الملفات لحجز مساحة فيها"}]}]} />

مدة الانتظار لقفل ذاكرة التخزين المؤقت لنظام الملفات لحجز مساحة فيها

## filesystem\_cache\_segments\_batch\_size

<SettingsInfoBlock type="UInt64" default_value="20" />

الحد الأقصى لحجم دفعة واحدة من مقاطع الملفات التي يمكن لمخزن القراءة المؤقت طلبها من ذاكرة التخزين المؤقت. ستؤدي القيمة المنخفضة جدًا إلى زيادة الطلبات على ذاكرة التخزين المؤقت، وقد تؤدي القيمة المرتفعة جدًا إلى إبطاء الإخلاء منها

## filesystem\_cache\_skip\_download\_if\_exceeds\_per\_query\_cache\_write\_limit

**الأسماء البديلة**: `skip_download_if_exceeds_query_cache`

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.11"},{"label": "1"},{"label": "إعادة تسمية الإعداد skip_download_if_exceeds_query_cache_limit"}]}]} />

تخطَّ التنزيل من نظام الملفات البعيد إذا تجاوز حجمه حجم ذاكرة التخزين المؤقت للاستعلام

## filesystem\_cache\_verbose\_logging

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "0"},{"label": "إعداد جديد يتحكم في رسائل السجل بمستوى TEST التي تُصدر لكل إعادة تعبئة لمخزن القراءة المؤقت لذاكرة التخزين المؤقت لنظام الملفات، والتي كانت تُصدر سابقًا دون قيد متى سمح مستوى السجل بذلك."}]}]} />

أصدر رسائل سجل بمستوى `TEST` لكل إعادة تعبئة لمخزن ذاكرة التخزين المؤقت لنظام الملفات (حالة القراءة، والحجم المتبقي للقراءة، والبايتات المقروءة). مخصصة لتصحيح الأخطاء فقط: تُنسَّق الرسائل مرة واحدة لكل قراءة، لذا فإن تمكينها لاستعلام يجري عددًا كبيرًا من القراءات الصغيرة المخزنة مؤقتًا يضيف عبئًا كبيرًا على التسجيل. ولا تظهر الرسائل إلا إذا كان مستوى السجل هو `test` أصلًا (راجع `send_logs_level`).

## filesystem\_cache\_wait\_for\_concurrent\_download\_timeout\_milliseconds

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "1000"},{"label": "إعداد جديد يحدّ من مدة انتظار القراءة لمقطع ملف يجري تنزيله إلى ذاكرة التخزين المؤقت لنظام الملفات بواسطة استعلام متزامن؛ وعند انتهاء المهلة، تتجاوز القراءة ذاكرة التخزين المؤقت بدلاً من الانتظار إلى أجل غير مسمى. تتوافق القيمة السابقة 60000 مع السلوك القديم (دورة انتظار كاملة واحدة مدتها 60 ثانية لعملية التنزيل)."}]}]} />

المدة القصوى لانتظار مقطع ملف يجري تنزيله إلى ذاكرة التخزين المؤقت لنظام الملفات بواسطة استعلام متزامن. عند انتهاء المهلة، تتجاوز القراءة ذاكرة التخزين المؤقت لنظام الملفات لهذا النطاق وتقرأ مباشرةً من وحدة تخزين بعيدة، بينما يستمر التنزيل المتزامن في ملء ذاكرة التخزين المؤقت. تعني القيمة `0` عدم الانتظار مطلقًا: تجاوز ذاكرة التخزين المؤقت فورًا إذا لم يكن النطاق المطلوب قد نُزِّل بعد. يؤدي خفض هذه القيمة إلى الحد من زمن استجابة الذيل لعمليات القراءة التي كانت ستنتظر، عند إصابة ذاكرة التخزين المؤقت، وتيرة تنزيل استعلام آخر، وذلك مقابل إرسال طلبات إضافية إلى وحدة تخزين بعيدة.
