-
PHP مطور
تطبيقات التي تم تطويرها باستخدام Workerman لا تعتمد على الحاويات مثل php-fpm و apache و nginx ويمكنها تشغيلها بشكل مستقل. وهذا يجعل من السهل على مطوري PHP تطوير ونشر وتصحيح التطبيقات. -
دعم عمليات PHP المتعددة
للاستفادة الكاملة من أداء الخادم متعدد الـ CPU ، يدعم Workerman بشكل افتراضي عمليات ومهام متعددة. يقوم Workerman بتشغيل عملية رئيسية وعدة عمليات فرعية لتقديم الخدمة ، حيث تقوم العملية الرئيسية بمراقبة العمليات الفرعية والتي تتولى بشكل منفصل مراقبة الاتصالات الشبكية واستقبال ومعالجة البيانات. ونظرًا للنموذج البسيط لعملياتها ، يجعل Workerman أكثر استقرارًا وكفاءةً. -
دعم TCP و UDP
يدعم Workerman اثنين من بروتوكولات الطبقة النقلية TCP و UDP ، ويمكن تغيير البروتوكول النقلي بتغيير خاصية واحدة فقط دون تغيير في كود العمل. -
دعم الاتصالات الطويلة
غالبًا ما تحتاج تطبيقات PHP إلى الحفاظ على اتصال طويل مع العميل ، مثل غرف الدردشة والألعاب ، ولكن الحاويات التقليدية لـ PHP (مثل apache و nginx و php-fpm) من الصعب تحقيق ذلك. باستخدام Workerman ، بمجرد أن يقوم الخادم بتفعيل الخدمة ، يمكن استخدام الاتصال الطويل لـ PHP ، ويمكن لعملية Workerman الفردية دعم آلاف الاتصالات المتزامنة ، وتدعم العمليات المتعددة مئات الآلاف أو حتى الملايين من الاتصالات المتزامنة. -
دعم مختلف بروتوكولات الطبقة التطبيقية
تدعم واجهة Workerman مختلف بروتوكولات الطبقة التطبيقية ، بما في ذلك البروتوكولات المخصصة. يمكن تغيير البروتوكول في Workerman بسهولة أيضًا ، كان مجرد تكوين حقل واحد ، وهو التبديل التلقائي للبروتوكول ولا حاجة لتعديل الكود الخاص بالأعمال. حتى يمكن فتح عدة منافذ لبروتوكولات مختلفة لتلبية متطلبات العملاء المختلفة. -
دعم عال للتصاعد
يدعم Workerman مكتبة تدوير الأحداث Libevent (يتطلب تثبيت توسيعة الحدث) ، ويستخدم Event في الاتصال الطويل والعالي لأحداث التصاعد ، وفي حالة عدم توفر توسيعة الحدث ، فإنه يستخدم استدعاءات النظام الداخلية المتاحة في PHP ، وكفاءته أيضًا هائلة. -
دعم إعادة تشغيل الخدمة بشكل سلس
عند الحاجة إلى إعادة تشغيل الخدمة (مثل إصدار الإصدار) ، نحن لا نرغب في إنهاء العمليات التي تعالج طلبات المستخدم فورًا ، ونتمنى أيضًا ألا تؤدي إعادة التشغيل في ذلك الوقت إلى فشل في التواصل مع العملاء. يقدم Workerman وظيفة إعادة التشغيل السلسة والتي تضمن استمرارية الخدمة دون التأثير على استخدام العميل. -
دعم فحص وتحميل الملفات تلقائياً
أثناء عملية التطوير ، نتمنى أن يتم تنفيذ تغييراتنا في الكود بمجرد إجرائها لرؤية النتائج. يقدم Workerman مراقب الملفات ، حيث يقوم بمراقبة الملفات وتشغيل إعادة التحميل تلقائيًا في حالة وجود تحديث ، ليتم تحميل الملفات الجديدة وجعلها سارية المفعول. -
دعم تشغيل العمليات الفرعية بمستخدم محدد
نظرًا لأن العمليات الفرعية هي العمليات التي تعالج طلبات المستخدم فعليًا ، فإنه من الضروري لأسباب الأمان أن لا تمتلك العمليات الفرعية صلاحيات عالية جدًا. لذلك ، يدعم Workerman تعيين المستخدم الذي تعمل العملية الفرعية به ، مما يجعل خادمك أكثر أمانًا. -
دعم الاحتفاظ بالكائنات أو الموارد بشكل دائم
في Workerman ، يتم تحميل وتحليل ملفات PHP مرة واحدة فقط أثناء تشغيله ، وبعد ذلك تبقى في الذاكرة باستمرار. هذا يجعل تصريحات الفئة والوظائف وبيئة تشغيل PHP والجدول الرمزي وأشياء أخرى مشابهة لا تتم إعادة إنشاؤها وإتلافها مرارًا وتكرارًا كما يحدث في الـ Web Container. في Workerman ، تظل الكائنات أو الاتصالات وموارد أخرى موجودة بشكل دائم داخل متغيرات الـ Global أو بصفتي الفئة الثابتة ، مما يعني أن جميع الطلبات داخل حياة العملية يمكن أن تعيد استخدامها. على سبيل المثال ، بمجرد تهيئة اتصال قاعدة البيانات مرة واحدة داخل العملية الفردية ، يمكن أن تعيد استخدام جميع الطلبات اللاحقة في هذه العملية هذا الاتصال دون الحاجة إلى إجراء تكراري لعملية المصافحة الثلاثيّة لبروتوكول التحكم في النقل (TCP) وتحقق صلاحية قاعدة البيانات وإجراء الفصل الرباعي بروتوكول التحكم في النقل (TCP) عند الفصل. وهو بالكاد يرفع كفاءة تطبيقك. -
أداء عال
نظرًا لأن ملفات PHP تُقرأ من القرص وتُحلل مرة واحدة ثم تبقى في الذاكرة خلال بقية الاستخدامات ، فإن هذا يؤدي إلى تقليل كبير في إجراءات الـ I/O المتعلقة بالقرص وبدء الطلبات في PHP وإعداد بيئة التشغيل وتحليل المفردات وتحليل النحو وترجمة الأوامر القرآنية وإغلاق الطلب كما حدث في الـ Web container. بالإضافة إلى ذلك ، فإنه بلا الاعتماد على حاويات مثل nginx و apache ، بالإضافة إلى الاتصالات المكلفة مثل تلك بين nginx وحاوي الـ PHP ، الأمر الرئيسي هو أن الموارد يمكن الاحتفاظ بها بشكل دائم ، وبالتالي ليس من الضروري إعادة تهيئة اتصالات قاعدة البيانات كل مرة. لذلك ، باستخدام Workerman في تطوير التطبيقات ، يكون الأداء عالي للغاية. -
دعم HHVM
يدعم التشغيل على HHVM ، ويمكن زيادة أداء PHP بشكل كبير. وخاصةً في الأعمال التي تعتمد على الـ CPU ، فإن الأداء ممتاز للغاية. من خلال اختبارات الضغط الفعلية والمقارنة ، يعمل Workerman بشكل أفضل بين 30-80٪ من تطبيقات الشبكة التي تعمل تحت HHVM مقارنة بالشبكة التي تعمل تحت Zend PHP 5.6 بدون عمليات محمّلة. -
دعم النشر الموزع
-
دعم التحويل إلى عمليات دائمة
-
دعم الاستماع على مداخل متعددة
-
دعم إعادة توجيه المدخلات والمخرجات القياسية