الرئيسية
» مسؤول الشبكة
»
مقارنة بين ownCloud Infinite Scale و Nextcloud 28: شرح الأداء واستخدام ذاكرة الوصول العشوائي
مقارنة بين ownCloud Infinite Scale و Nextcloud 28: شرح الأداء واستخدام ذاكرة الوصول العشوائي
يُمكن لكلٍ من ownCloud Infinite Scale وNextcloud 28 توفير مزامنة ومشاركة الملفات ذاتيًا، لكنهما يحققان ذلك من خلال بنى خوادم مختلفة تمامًا. هذا الاختلاف مهم عند محاولة التنبؤ بضغط الذاكرة، وزمن استجابة الطلبات، وسلوك التوسع، وحجم العمل المطلوب لضبط عملية النشر.
أهم ما يجب مراعاته أولاً: لا يوجد رقم عالمي موثوق به مثل "يستخدم Infinite Scale مقدار X ميجابايت بينما يستخدم Nextcloud 28 مقدار Y ميجابايت". يتغير استهلاك ذاكرة الوصول العشوائي (RAM) باختلاف الخدمات المُفعّلة، وتزامن المستخدمين، والمهام التي تعمل في الخلفية، ووحدات التخزين، وعدد عمليات PHP العاملة، والتخزين المؤقت، والمعاينات، وتكامل Office، والتطبيقات. كما تنشر الوثائق الرسمية إرشادات مختلفة حول استهلاك الذاكرة لكلا المنتجين، لذا فإن اعتبار هذه الأرقام معيارًا مباشرًا سيكون مُضللاً.
هناك أيضًا مشكلة تتعلق بدورة حياة المنتج. تم إصدار Nextcloud 28، المعروف أيضًا باسم Hub 7، في ديسمبر 2023، وانتهى دعمه في ديسمبر 2024؛ وكان آخر إصدار من سلسلة 28.x هو 28.0.14. اعتبارًا من أكتوبر 2026، لم يعد يتلقى تحديثات لإصلاح الأخطاء أو التحديثات الأمنية. لذا، تُعد هذه المقارنة مفيدةً لفهم تثبيت Nextcloud 28 الحالي أو التخطيط لعملية نقل البيانات، وليست للتوصية بنشر Nextcloud 28 جديد. راجع جدول الصيانة والإصدارات الرسمي لـ Nextcloud .
مقارنة معمارية مبسطة. توضح هذه المقارنة سبب اختلاف أداء ذاكرة الوصول العشوائي بين المنصتين؛ وهي ليست معيارًا قياسيًا أو دليلًا على الإنتاجية.
يُعزى معظم التنازلات المتعلقة بالأداء إلى الاختلافات المعمارية.
تعتمد منصة ownCloud Infinite Scale، والتي يُشار إليها اختصارًا بـ oCIS في الإعدادات والوثائق، على مجموعة من خدمات Go. يُمكن لبيئة التشغيل الافتراضية تشغيل الخدمات المدمجة ضمن عملية واحدة ومراقبتها باستخدام مُشرف مُدمج. تُشير ownCloud إلى أن هذا التصميم يُساعد في تقليل استهلاك الذاكرة، كما يُمكن نقل الخدمات الفردية إلى عُقد أخرى عند الحاجة إلى توسيع نطاق النشر. لا تتطلب المنصة لغة PHP أو قاعدة بيانات تطبيقات تقليدية لتشغيلها الأساسي. راجع وثائق بنية Infinite Scale الرسمية ونظرة عامة على إدارة Infinite Scale .
يتبع Nextcloud 28 نموذج تطبيقات الويب المألوف القائم على PHP. تتضمن بيئة الإنتاج النموذجية خادم ويب مثل Apache أو Nginx، وخوادم PHP أو PHP-FPM، وقاعدة بيانات علائقية مدعومة، وعادةً ما تعتمد على التخزين المؤقت في الذاكرة. توصي وثائق Nextcloud باستخدام APCu للتخزين المؤقت المحلي وRedis للتخزين المؤقت الموزع وقفل الملفات للمعاملات في عمليات النشر المؤسسية. هذا يجعل Nextcloud مرنًا للغاية، ولكنه يعني أيضًا أن إجمالي استهلاك الذاكرة موزع على عدة عمليات وخدمات مستقلة بدلاً من أن يكون مُمثلاً بعملية خادم واحدة.
استخدام ذاكرة الوصول العشوائي (RAM): ما تعنيه الأرقام الرسمية فعلياً
منطقة
نطاق أون كلاود غير المحدود
نيكست كلاود 28
إرشادات الذاكرة المنشورة
يوصي مثال Compose الخاص بالإنتاج في ownCloud بمساحة لا تقل عن 4-6 جيجابايت لنشر المثال بالكامل.
يوثق Nextcloud 28 حدًا أدنى قدره 128 ميجابايت من ذاكرة الوصول العشوائي لكل عملية ويوصي بحد أدنى قدره 512 ميجابايت لكل عملية.
هل يمكن مقارنة هذه الأرقام بشكل مباشر؟
لا. يغطي رقم Infinite Scale مثالاً على النشر يتضمن برامج إضافية مثل مكونات المكتب عبر الإنترنت، بينما رقم Nextcloud خاص بكل عملية وليس بإجمالي ذاكرة الوصول العشوائي للخادم.
المتغيرات الرئيسية
الخدمات المُفعّلة، تكامل المكتب، مكافحة الفيروسات، نوع التخزين، بنية الخدمة، التزامن.
عدد عمال PHP-FPM، التطبيقات، المعاينات، مخازن قاعدة البيانات المؤقتة، Redis/APCu، مهام cron/الخلفية، التزامن.
يوصي مثال النشر الإنتاجي الحالي لـ ownCloud صراحةً بحد أدنى من الذاكرة يتراوح بين 4 و6 جيجابايت، ويشير إلى الحاجة إلى ذاكرة إضافية عند تفعيل فحص مكافحة الفيروسات. لا ينبغي تفسير هذا الرقم على أنه يعني أن "نظام oCIS نفسه يستهلك دائمًا 4-6 جيجابايت". يتضمن الإعداد الموثق أيضًا حزم Office والمكونات الأخرى المطلوبة. راجع مثال النشر الإنتاجي الرسمي لـ Infinite Scale .
يتبنى Nextcloud 28 نهجًا مختلفًا في وثائق متطلباته: إذ يشير إلى أن احتياجات ذاكرة الوصول العشوائي (RAM) تختلف اختلافًا كبيرًا باختلاف المستخدمين والتطبيقات والملفات والنشاط، ثم يحدد حدًا أدنى قدره 128 ميجابايت، ويوصي بـ 512 ميجابايت لكل عملية . وهذا مهمٌ للغاية مع PHP-FPM، حيث قد تنشط عدة عمليات عاملة في وقت واحد. وبالتالي، يمكن للخادم المُهيأ للعمل بتزامن عالٍ حجز ذاكرة أكبر بكثير مما تشير إليه القيمة المُخصصة لكل عملية. راجع متطلبات نظام Nextcloud 28 .
أيهما من المرجح أن يكون أخف وزناً في ظل أحمال العمل التي تركز على الملفات؟
إذا كانت مهام العمل الأساسية تتمثل في المصادقة والتصفح والمزامنة والتحميل والتنزيل والمشاركة، فإن بيئة تشغيل Go وتصميم الخدمة في Infinite Scale يُمكنهما تقليل بعض النفقات العامة المرتبطة بمجموعة طلبات PHP. كما يستخدم ownCloud بروتوكولات ثنائية مثل gRPC داخليًا لأجزاء من اتصال الخدمة. من الناحية المعمارية، يمنح هذا Infinite Scale مسارًا موثوقًا لتحقيق التزامن العالي دون مضاعفة عمليات PHP العاملة.
لا يضمن ذلك ميزةً شاملةً في معدل نقل البيانات. فقد يؤثر زمن استجابة التخزين بشكلٍ كبير على عمليات الملفات، كما أن بروتوكول TLS والخوادم الوكيلة العكسية تُضيف عبئًا إضافيًا، ويعتمد سلوك البيانات الوصفية على برنامج تشغيل التخزين المُختار، وتُغيّر الخدمات الاختيارية من خصائص النظام. تتناول وثائق التخزين الخاصة بـ ownCloud بشكلٍ صريح تحسين الذاكرة والأداء بشكلٍ مختلف للتخزين المحلي، ونظام ملفات الشبكة (NFS)، وعمليات النشر المدعومة بخدمة S3. راجع اعتبارات التخزين على نطاقٍ لا نهائي .
يُمكن لـ Nextcloud 28 أن يُحقق أداءً ممتازًا عند ضبطه بالشكل الأمثل. تُشير وثائقه إلى أن التخزين المؤقت للذاكرة يُحسّن أداء الخادم بشكلٍ ملحوظ. يتجنب APCu إعادة بناء كائنات PHP المُستخدمة بكثرة محليًا بشكلٍ مُتكرر، بينما يُمكن لـ Redis التعامل مع بيانات التخزين المؤقت المُوزعة وقفل الملفات للمعاملات. بالنسبة لخادم مؤسسي واحد، يُوصي Nextcloud 28 باستخدام APCu للتخزين المؤقت المحلي وRedis للتخزين المؤقت المُوزع والقفل. راجع وثائق التخزين المؤقت للذاكرة في Nextcloud 28 .
أين تذهب ذاكرة الوصول العشوائي (RAM) الخاصة بـ Nextcloud؟
في Nextcloud 28، يُمثل "استخدام ذاكرة الوصول العشوائي لـ Nextcloud" مجموع عدة ميزانيات. تستهلك عمليات PHP-FPM الذاكرة وفقًا لوحدات PHP المُفعّلة وشفرة التطبيق. تحتاج قاعدة البيانات إلى مخازن مؤقتة وذاكرة اتصال خاصة بها. يستهلك Redis الذاكرة لتخزين الكائنات المُخزّنة مؤقتًا وعمليات القفل. يحتفظ APCu بذاكرة تخزين مؤقت محلية في كل بيئة PHP. يمكن لخاصية إنشاء المعاينة، وتكاملات مكافحة الفيروسات، وTalk، والبحث في النصوص الكاملة، وتطبيقات الطرف الثالث إضافة عملياتها الخاصة أو أنشطتها في الخلفية.
يُتيح هذا النموذج للمسؤولين العديد من خيارات الضبط. يُمكن لتقليل عدد عمال PHP-FPM الحفاظ على تشغيل خادم صغير في ظل محدودية ذاكرة الوصول العشوائي (RAM)، ولكن قد تتراكم الطلبات في قائمة الانتظار عند زيادة الحمل. يُحسّن زيادة عدد العمال التزامن حتى تُصبح وحدة المعالجة المركزية (CPU) أو ذاكرة الوصول العشوائي (RAM) أو اتصالات قاعدة البيانات أو عمليات الإدخال/الإخراج هي العامل المُحدد. يُمكن استخدام Redis للتخزين المؤقت المحلي لتوفير بعض الذاكرة في بيئات ذات ذاكرة منخفضة، ولكن تُشير وثائق Nextcloud إلى أن APCu أسرع للتخزين المؤقت المحلي عند توفر ذاكرة وصول عشوائي (RAM) كافية. هذا يُمثل مُفاضلة حقيقية بين الأداء والذاكرة، وليس إعدادًا واحدًا مُوصى به لكل مُضيف.
أين تذهب ذاكرة الوصول العشوائي (RAM) الخاصة بـ Infinite Scale
يتألف Infinite Scale أيضًا من العديد من الخدمات المنطقية، لكن بيئة التشغيل المدمجة فيه قادرة على إدارة الخدمات المدمجة ضمن عملية واحدة، وتشغيل كل خدمة في روتين Go. تصف ownCloud هذا بأنه طريقة سهلة الاستخدام للمسؤولين لتغليف المنصة، مع السماح في الوقت نفسه بفصل الخدمات الفردية لعمليات النشر الموزعة. كما يقوم المشرف المدمج بإعادة تشغيل الخدمات المعطلة، وقد تم توثيقه تحديدًا على أنه يقلل من استهلاك الذاكرة مقارنةً بتشغيل كل خدمة تحت إشراف خارجي.
قد يُسهّل هذا التوحيد فهم سلوك الموارد على مضيف واحد، ولكنه لا يُثبّت استخدام ذاكرة الوصول العشوائي (RAM). فإضافة Collabora أو OnlyOffice، أو فحص مكافحة الفيروسات، أو خدمات الهوية الخارجية، أو مكونات Redis أو NATS، أو معالجة الصور المصغرة، أو ذاكرات التخزين المؤقت الأكبر حجمًا، تُغيّر من حجم الموارد. كما أن نقل الخدمات إلى حاويات منفصلة أو وحدات Kubernetes قد يزيد من الحمل الأساسي مع تحسين العزل وقابلية التوسع الأفقي.
مقارنة الأداء حسب حجم العمل
عبء العمل
ميزة محتملة
لماذا
جهاز صغير لمزامنة الملفات مع عدد قليل من التكاملات
مقياس لا نهائي
يمكن أن يؤدي تقليل عدد مكونات حزمة الويب التقليدية وعدم الحاجة إلى طبقة PHP/قاعدة بيانات للمنصة الأساسية إلى تبسيط وقت التشغيل.
نظام بيئي كبير للتطبيقات ونشر يعتمد بشكل كبير على برامج العمل الجماعي
نيكست كلاود
قد يكون النظام البيئي الأوسع لتطبيقات PHP أكثر أهمية من كفاءة الخادم الخام، على الرغم من أن تخطيط ذاكرة الوصول العشوائي (RAM) يصبح أكثر أهمية.
تزامن عالٍ مع عمليات ملفات يمكن التنبؤ بها
يتميز مشروع Infinite Scale بجاذبية معمارية.
تتجنب خدمات Go ونموذج الخدمة القابل للتوسع ربط التزامن بشكل مباشر بمجموعة كبيرة من عمال PHP.
البنية التحتية الحالية المحسّنة لـ LAMP/LEMP
يمكن أن يكون استخدام Nextcloud أسهل من الناحية التشغيلية
قد تفضل الفرق التي لديها بالفعل مهارات في PHP-FPM و MariaDB/PostgreSQL و Redis وضبط خادم الويب استخدام المجموعة المألوفة.
ميزانية ذاكرة وصول عشوائي صغيرة جدًا
يعتمد على نطاق الميزة
لا تدعم الأرقام الرسمية لأي من البائعين تحديد فائز واضح في إجمالي ذاكرة الوصول العشوائي؛ قم بإزالة الخدمات الاختيارية وقم بقياس عبء العمل الخاص بك بدقة.
كيفية تقييمها بشكل عادل
إذا كان الأداء هو العامل الحاسم، فقم بتقييم أداء كلا المنتجين على نفس الجهاز بدلاً من الاعتماد على لقطات شاشة من المستخدمين أو بيانات الذاكرة المنفردة. استخدم نفس وحدة التخزين أو الخادم، ومسار الشبكة، وطريقة إنهاء TLS، ومجموعة ملفات الاختبار، وعدد المستخدمين، وسلوك العميل. قم بتهيئة ذاكرة التخزين المؤقت قبل تسجيل نتائج الحالة المستقرة، وقم أيضاً بقياس سلوك بدء التشغيل البارد بشكل منفصل.
تشمل المقاييس المفيدة متوسط زمن الاستجابة والنسبة المئوية الخامسة والتسعين لعمليات عرض الدليل، وعمليات البيانات الوصفية، وتحميل الملفات الصغيرة، وتحميل الملفات الكبيرة، والتنزيل، وإنشاء المشاركات؛ وعدد الطلبات المكتملة في الثانية؛ وإجمالي الذاكرة المستخدمة في كل عملية ذات صلة؛ واستخدام وحدة المعالجة المركزية؛ وعمليات الإدخال/الإخراج في الثانية للتخزين؛ وزمن استجابة قاعدة بيانات Nextcloud؛ وتأثير العمليات التي تعمل في الخلفية. يُنصح بقياس ذاكرة الوصول العشوائي الخاملة بشكل منفصل عن ذاكرة الوصول العشوائي المُحمّلة، لأن النظام الذي يبدو أصغر حجمًا في وضع الخمول قد يستهلك ذاكرة أكبر بكثير عند الاستخدام المتزامن.
بالنسبة لـ Nextcloud، احسب خادم الويب، وPHP-FPM، وقاعدة البيانات، وRedis، وأي خدمات تطبيقات إضافية. أما بالنسبة لـ Infinite Scale، فاحسب خدمات oCIS بالإضافة إلى الخادم الوكيل العكسي، ومكونات الهوية، وتكامل Office، وذاكرة التخزين المؤقت، والخدمات المتعلقة بالتخزين. وإلا، ستصبح النتيجة مقارنة معمارية مُقنّعة على أنها معيار قياس.
أيهما يجب أن تختار؟
اختر منصة ownCloud Infinite Scale عندما تكون أولويتك منصة حديثة تركز على الملفات، وتُقدّر بنية الخدمة القائمة على لغة Go، وترغب في تجنب نموذج التشغيل الذي يعتمد على PHP Workers وقاعدة البيانات العلائقية المطلوبة للخادم الرئيسي. وهي خيار مثالي للمؤسسات التي تخطط لتوسيع نطاق خدماتها أفقيًا أو بيئات مشاركة الملفات الكبيرة.
اختر إصدارًا مدعومًا من Nextcloud عندما يكون نظام تطبيقات Nextcloud، أو تكامل برامج العمل الجماعي، أو الخبرة الإدارية الحالية، أو توافق التطبيقات، أهم من تقليل طبقات وقت التشغيل. إذا كنت تستخدم حاليًا Nextcloud 28، فقد يُفيد تحسين الأداء على المدى القصير، ولكن دورة حياة الأمان هي السبب الأقوى للتخطيط للترقية، لأن الإصدار 28 لم يعد مدعومًا منذ ديسمبر 2024.
إذا كان القرار يتعلق تحديدًا بذاكرة الوصول العشوائي (RAM)، فإن متطلبات أي من الموردين المعلنة لا تبرر إعلان فائز مطلق. فبنية Infinite Scale تزيل لغة PHP وقاعدة بيانات التطبيقات التقليدية من البنية الأساسية، وهي مصممة خصيصًا لتنفيذ الخدمات بكفاءة، بينما يوفر Nextcloud أدوات تحكم متطورة في التخزين المؤقت وإمكانية عالية لتخصيص تزامن PHP. الخيار الأمثل هو مقارنة بنى الإنتاج الكاملة التي تنوي تشغيلها فعليًا، باستخدام نفس عبء العمل وقياس ذاكرة الوصول العشوائي للنظام بأكمله بدلًا من عملية واحدة بمعزل عن غيرها.