التحكم في ارتفاعات استخدام وحدة المعالجة المركزية في Nextcloud Preview باستخدام قائمة انتظار مجدولة

إذا ارتفع استهلاك وحدة المعالجة المركزية لخادم Nextcloud الخاص بك بشكل مفاجئ أثناء إنشاء المعاينات، فغالبًا ما يكون ذلك نتيجةً لزيادة مفاجئة في حجم العمل: فتح المستخدمين لمجلدات تحتوي على صور كثيرة، أو فهرسة مكتبة ضخمة، أو محاولة مهمة معاينة إنشاء أحجام أكبر من حاجة المستخدمين. ثبّت تطبيق "مولد المعاينات" الخاص بـ Nextcloud، ودعه يعالج الملفات الجديدة والمعدّلة وفقًا لجدول زمني محدد، وقلل أحجام المعاينات غير الضرورية. هذا يُخفف الضغط على جلسات التصفح المزدحمة، ولكنه لا يُلغي تحويل الصور أو عبء العمل الأولي اللازم للمتابعة.

تتبع هذه الخطوات ملف README الخاص بمولد المعاينة ووثائق Nextcloud 35 التي تم التحقق منها في 10 أكتوبر 2026. تأكد من توافق إصدارك في متجر تطبيقات Nextcloud. يُشير ملف README إلى أن الملفات المشفرة غير مدعومة.

لماذا يؤدي إنشاء المعاينة إلى زيادة استخدام وحدة المعالجة المركزية؟

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

يقوم مُنشئ المعاينات بتخزين الملفات الجديدة أو المُعدّلة في قائمة انتظار للمعالجة في الخلفية. تُعدّ المعاينات الموجودة أقل تكلفةً في الخدمة، ولكن المعاينات المفقودة لا تزال تستخدم مسار Nextcloud عند الطلب. ينقل التطبيق بعض العمليات إلى فترات أقل ازدحامًا؛ ولكنه لا يستطيع تقليل إجمالي المعالجة أو حلّ مشكلات أخرى مثل تحويل الفيديو أو بطء التخزين.

قم بإعداد قائمة معاينة مُتحكم بها

1. تحقق من وضع تشغيل المهام في الخلفية وتوافق التطبيق

في إعدادات الإدارة، افحص مهام الخلفية. تتطلب مهمة "معاينة المُولِّد" المدمجة وضع Cron؛ ويشير ملف README الخاص بها إلى أن AJAX وWebcron غير مدعومين لهذه المهمة طويلة الأمد. يوصي Nextcloud باستخدام Cron النظامي. تأكد من أن صفحة الإدارة تُظهر Cron.

قم بتثبيت مُولِّد المعاينة من شاشة التطبيقات، أو إذا كان نظامك يستخدم OCC ويسمح بتثبيت التطبيقات، فقم بتشغيل هذه الأوامر من دليل تثبيت Nextcloud. في Debian أو Ubuntu، يكون حساب خادم الويب عادةً هو `/web-server///` www-data؛ استخدم اسم مستخدم HTTP الفعلي وإصدار PHP CLI الخاص بمضيفك.

sudo -u www-data php /var/www/nextcloud/occ app:install previewgenerator
sudo -u www-data php /var/www/nextcloud/occ app:enable previewgenerator

إذا كان البرنامج مثبتًا بالفعل، فتجاوز الأمر الأول. تحقق من الحالة والأوامر المتاحة:

sudo -u www-data php /var/www/nextcloud/occ app:list
sudo -u www-data php /var/www/nextcloud/occ list preview

شغّل OCC كمستخدم HTTP لضمان ثبات ملكية الملفات. تختلف المسارات والمستخدمون باختلاف عملية النشر. راجع وثائق OCC الخاصة بـ Nextcloud .

2. قلل عدد نسخ المعاينة قبل بدء عملية إنتاج كبيرة

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

sudo -u www-data php /var/www/nextcloud/occ config:app:set --value="64 256" previewgenerator squareSizes
sudo -u www-data php /var/www/nextcloud/occ config:app:set --value="256 1024" previewgenerator fillWidthHeightSizes
sudo -u www-data php /var/www/nextcloud/occ config:app:set --value="" previewgenerator widthSizes
sudo -u www-data php /var/www/nextcloud/occ config:app:set --value="" previewgenerator heightSizes

هذا الوضع ذو الحمل المنخفض ليس عامًا: قد تحتاج التطبيقات إلى معاينات أكبر أو أشكال أخرى. إذا كانت الصور المصغرة مفقودة أو غير واضحة، فحدد العرض المطلوب وأضف حجمه فقط. الأبعاد الأكبر تزيد من استهلاك المعالجة وذاكرة التخزين المؤقت. الحد الأدنى الموصى به في ملف README لتطبيقات الملفات والصور والنشاط يستخدم حجمًا أكبر يبلغ 4096 بكسل؛ لذا قيّم هذا التأثير على جهازك. راجع ملف README الخاص بمولد المعاينات الرسمي ؛ فهو يستخدم حجمًا أكبر بنسبة عرض إلى ارتفاع تبلغ 4096 بكسل، لذا قيّم هذا التأثير على جهازك.

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

3. جدولة أمر الإنشاء المسبق للتطبيق دون تكرار العامل الخاص به

بالنسبة للخوادم الصغيرة، قد يكون عامل قائمة الانتظار المدمج كافيًا بمجرد تفعيل وضع Cron. تقتصر مهمته الافتراضية على خمس دقائق كحد أقصى لكل تنفيذ، ويوفر التطبيق إحصائيات قائمة الانتظار للمراقبة. إذا كنت بحاجة إلى فترة زمنية محددة خارج أوقات الذروة، فاستخدم أمر OCC المخصص في Cron النظامي. عند استخدام هذا الجدول الزمني المخصص، عطّل مهمة قائمة الانتظار الافتراضية للتطبيق حتى لا تتعارض الآليتان.

sudo -u www-data php /var/www/nextcloud/occ config:app:set --value=true --type=boolean previewgenerator job_disabled

ثم قم بتحرير ملف crontab الخاص بمستخدم خادم الويب ( sudo crontab -u www-data -e) وأضف جدولًا زمنيًا كمثال:

*/10 * * * * php -f /var/www/nextcloud/occ preview:pre-generate

عشر دقائق مجرد مثال. اختر وتيرة وفترة زمنية تتناسب مع حجم البيانات وسعة النظام؛ وتأكد من مسارات PHP وOCC. لا تُجدول الأمر في أي مكان آخر. احتفظ cron.phpبمهمة Nextcloud العادية التي تُشغّل مهام الخلفية الأخرى. راجع دليل مهام الخلفية في Nextcloud للاطلاع على إعدادات cron الخاصة بالنظام.

4. تجنب الجري غير المنضبط في المرة الأولى للتعويض عن التأخير

ينصح ملف التعليمات preview:generate-allبعد التثبيت بفحص الملفات الموجودة. في المكتبات الكبيرة، قد يؤدي هذا الفحص إلى ارتفاع كبير في استهلاك وحدة المعالجة المركزية. تجنب تشغيل العديد من العمليات على خادم مشغول. ابدأ بمستخدم واحد أو مسار واحد خلال فترة هادئة، وراقب استهلاك وحدة المعالجة المركزية والذاكرة وسرعة نقل البيانات على القرص والمساحة الحرة. يدعم الأمر معرّفات المستخدمين والمسارات وعدد العمليات؛ ابدأ بعملية واحدة. إذا لزم الأمر، قسّم الفحص على فترات زمنية مختلفة.

تأكد من أن الحمل أصبح قابلاً للتنبؤ

بعد تنفيذ الأمر، تحقق من قائمة الانتظار:

sudo -u www-data php /var/www/nextcloud/occ preview:queue-stats

تتضمن إحصائيات قائمة الانتظار معاينات قديمة. يشير انخفاض حجم الملفات المتراكمة وذروة استخدام وحدة المعالجة المركزية التي تنتهي بمهام مجدولة إلى تقدم قائمة الانتظار. افتح مجلدًا نموذجيًا للتأكد من الصور المصغرة، ثم راقب التصفح العادي. قارن استخدام وحدة المعالجة المركزية عند مستويات حركة مرور مماثلة؛ لن يصل إلى الصفر.

إذا لم يتقلص حجم قائمة الانتظار، فافحص سجلات cron وشغّل البرنامج preview:pre-generate -vvفي نافذة مُتحكَّم بها لعرض الملفات المُعالَجة. إذا ظل استهلاك وحدة المعالجة المركزية مرتفعًا بعد تفريغ قائمة الانتظار، فابحث عن عمليات PHP الأخرى، أو المهام، أو خدمات الوسائط. إذا كانت المعاينات تستهلك مساحة كبيرة من القرص، فاحذف الأحجام غير المُستخدَمة أو قلّل الأبعاد. تأكّد من أن المعاينات المتبقية تدعم طرق العرض التي يحتاجها المستخدمون.

المراجع الرسمية

اترك تعليقاً

التحكم في ارتفاعات استخدام وحدة المعالجة المركزية في Nextcloud Preview باستخدام قائمة انتظار مجدولة

انقل العمل على الصور المصغرة إلى جدول زمني مُتحكم به في الخلفية، وقم بتقليص أحجام المعاينة غير المستخدمة، وتحقق من قائمة الانتظار دون إثقال خادم Nextcloud الخاص بك.

تجاوز مرحلة "معالجة الملفات" في مزامنة سطح المكتب مع Nextcloud

ابحث عن الملف أو قاعدة الاستبعاد أو مشكلة الاتصال أو حالة قاعدة بيانات العميل التي تعيق مزامنة Nextcloud، ثم تحقق من عمليات التحميل والتنزيل بأمان.

قم بإزالة تحذير Nextcloud OPcache عن طريق ضبط الحد الأيمن

ابحث عن حد PHP OPcache الذي يتسبب في ظهور تحذير Nextcloud، وقم بتحديث تكوين PHP الصحيح للويب، وأعد التشغيل بأمان، وتحقق من النتيجة.

ربط Nextcloud بـ CODE Docker: الإعداد والمفاضلات

ربط Nextcloud بـ CODE Docker: الإعداد والمفاضلات

قارن بين الكود المدمج والكود القائم على Docker، ثم قم بتوصيل Collabora Online بـ Nextcloud من خلال وكيل عكسي آمن HTTPS.

أنشئ مجموعة Nextcloud مرنة باستخدام Galera

خطط لنشر Nextcloud عالي التوفر بشكل موثوق مع التخزين المشترك، وقفل Redis، وتوجيه MariaDB المدرك للنصاب، وفحوصات تجاوز الفشل العملية.

تمكّن من إجراء مكالمات Nextcloud Talk عند فشل Direct Media

تمكّن من إجراء مكالمات Nextcloud Talk عند فشل Direct Media

قم بتكوين وتحقق من إمكانية الوصول إلى مرحل TURN لـ Nextcloud Talk عندما تمنع جدران الحماية أو NAT التقييدية وسائط الاتصال المباشر.

قم بإزالة تحذيرات سلامة البيانات في Nextcloud عن طريق استعادة الملفات الصحيحة

استخدم تقرير الملفات غير الصالحة لتحديد التعليمات البرمجية المتغيرة أو المفقودة أو الزائدة في Nextcloud، واستعادة الملفات الموثوقة بأمان، والتحقق من النتيجة.

قم بربط Gmail أو Microsoft 365 ببريد Nextcloud باستخدام OAuth2

قم بإعداد OAuth2 لبريد Nextcloud باستخدام Gmail أو Microsoft 365، وتحقق من الاستلام والإرسال، وقم بحل مشكلات الموافقة الشائعة وفشل SMTP.

قم بإصلاح وضع الصيانة العالق في Nextcloud بأمان باستخدام OCC

قم بإصلاح وضع الصيانة العالق في Nextcloud بأمان باستخدام OCC

استخدم OCC لاستعادة الوصول إلى Nextcloud، والتحقق من حالة ترحيل قاعدة البيانات، واختيار الأمر الصحيح لعمليات تثبيت الأرشيف أو Docker أو Snap.

إعداد تسجيل الدخول إلى Nextcloud LDAP و Active Directory

قم بتوصيل Nextcloud بـ LDAP أو Active Directory، وقم بتقييد الوصول باستخدام عوامل تصفية المستخدم والمجموعة، وتحقق من المصادقة الآمنة قبل النشر.