كم عدد المستخدمين المتزامنين الذين يستطيع Home Assistant التعامل معهم قبل أن يتباطأ؟

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

لا يملك Home Assistant إجابة عالمية مفيدة مثل «20 مستخدمًا» أو «100 مستخدم». فالحساب الذي سجّل الدخول وهو في وضع الخمول يسبب عبئًا مختلفًا عن جهاز لوحي مثبت على الحائط يعرض لوحة تحكم معقدة، أو هاتف يفتح السجل، أو عدة مستخدمين يشاهدون بطاقات الكاميرات بينما تُحدَّث آلاف الكيانات.

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

أحصِ العملاء المتصلين، لا حسابات المستخدمين فقط

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

يمكن لتكامل WebSocket في Home Assistant عرض sensor.connected_clients باعتباره العدد الحالي لعملاء WebSocket المتصلين. استخدم هذا الرقم مؤشرًا على التزامن أثناء إعادة إنتاج عبء العمل.

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

تعتمد تكلفة الواجهة الأمامية على تحديثات الحالة وعمل لوحة التحكم

تنشئ الواجهة الأمامية اتصال WebSocket وتحافظ على مزامنة حالة Home Assistant مع المتصفح. كما يتعين على كل عميل عرض لوحة التحكم التي يفتحها، لذلك قد تصبح أجهزة العملاء والبطاقات المخصصة عوامل تحد من الأداء قبل الخادم.

توضح البنية الحالية للواجهة الأمامية كيف تستقبل الواجهة الحالة الأساسية والاشتراكات الإضافية عبر واجهة WebSocket البرمجية. لذلك ينشئ التثبيت النشط عمل تحديث مستمرًا بعد تحميل الصفحة الأولي.

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

قد يؤثر معدل تحديث الكيانات المرتفع في العملاء قبل أن يبدو عدد المستخدمين كبيرًا

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

وثّقت إحدى مشكلات Home Assistant حالة أدت فيها الكميات الكبيرة من تحديثات الكيانات إلى إغراق عملاء لوحات التحكم، حتى عندما كانت لوحة التحكم المرئية نفسها بسيطة.

لا يحدد ذلك حدًا عالميًا، لكنه يوضح سبب كون «المستخدمين» وحدة قياس واحدة غير مناسبة. قِس عدد التحديثات في الثانية واستجابة العملاء إلى جانب عدد الاتصالات.

لا يوجد حد أقصى منشور على نطاق المنازل يمكن نسخه

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

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

تنطبق هنا منهجية تحديد الحجم وفق عبء العمل المتزامن في ZimaSpace: ينبغي ربط السعة بأكثر تداخل واقعي ازدحامًا، لا بإجمالي الحسابات المسجلة.

أجرِ اختبارًا تدريجيًا حتى يتكرر فشل أحد المقاييس

الخطوة القياس شرط التوقف
أضف العملاء النشطين في مجموعات صغيرة العملاء المتصلون بلوغ التزامن المستهدف
افتح لوحات التحكم الفعلية زمن العرض الأولي والتفاعل تكرار التأخر الملحوظ للمستخدم
أنشئ حركة الكيانات المعتادة حمل WebSocket/التحديثات عجز العملاء عن مواكبة التحديثات
نفّذ الإجراءات الشائعة زمن الاستجابة من إجراء الخادم إلى الجهاز ارتفاع زمن التحكم بشكل ملحوظ
كرّر الاختبار عند الذروة حمل وحدة المعالجة المركزية والذاكرة والشبكة والعملاء ظهور الطبقة المقيدة نفسها مرة أخرى

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

الأسئلة الشائعة

هل تعادل 20 حسابًا لمستخدمي Home Assistant وجود 20 مستخدمًا متزامنًا؟

لا. الحسابات هويات، أما التزامن فهو اتصالات العملاء النشطة والعمل الذي تنشئه تلك العملاء. يمكن لمستخدم واحد امتلاك عدة عملاء، بينما قد تكون حسابات عديدة في وضع خمول تام.

هل تتيح لوحات التحكم الأبسط دائمًا اتصال عدد أكبر من المستخدمين؟

قد تقلل من عمل العرض على العملاء، لكن سعة الخادم تعتمد أيضًا على معدل تحديث الكيانات، وحركة WebSocket، واستعلامات السجل، والكاميرات، ومسار الشبكة، والخدمات الخلفية. قِس عبء العمل الكامل.

الدعم والنصائح

المزيد للقراءة

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.