September 21st Badoo PHP Meetup # 3: Performance

مرحبا بالجميع!

أنا بافيل مرزاكوف ، قائد فريق فريق Badoo. نحن نحب PHP ، والاستثمار في تطويرها وتطوير المجتمع من حوله. 21 سبتمبر ، نخطط لعقد Badoo Badoo PHP Meetup الثالث. نحن ندعو المتحدثين والضيوف!

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

في الاجتماع ، نريد مناقشة كيفية حل هذه المشكلات في شركات مختلفة ، وهي: كيفية مراقبة الأداء ، وتحديد ملامح المشاكل وتعريبها ، ومتى وماذا يستحق التحسين ، وكيفية القيام بذلك.

التسجيل عن طريق الرابط ، ابتداء من الساعة 12:00 ، يتم الترحيب بالضيوف من الساعة 11:00.

البرنامج


ألكساندر مالاشيتسكي ، مطور رئيسي ، فريق المنصات (Superjob)


منهجية التحسين


سوف يشارك ألكساندر تجربته في تغطية مقاييس التطبيق الذي تم تحميله وتطوير منهجية في العثور على مناطق المشاكل وتحسينها. النقاط الرئيسية:

  • لماذا يكون التحسين دون المقاييس سيئًا ، ولماذا لا يعتبر Blackfire حلاً سحريًا ؛
  • ما المقاييس التي بدأها الفريق وكيف يخزنها وكيف غرق في كميتها تقريبًا ؛
  • ما هي مجموعة المقاييس التي جاءت وكيف تساعد في العثور على مناطق المشاكل ؛
  • كيف يستخدم Superjob PHPSpy لإزالة التوصيف من الإنتاج ، ولماذا التوصيف هو مقياس آخر ؛
  • كيفية جعل التحسين جزءًا من دورة حياة التطوير.

بافيل مرزاكوف ، قائد فريق PHP (Badoo)


"محاربة نموذج لا شيء مشترك: PHP 7.4 التحميل المسبق ، RoadRunner وغيرها"


ينفذ تطبيق PHP التقليدي (مثل mod_php ، php-fpm ، إلخ) جميع الشفرات من نقطة الصفر في كل مرة. هذا يعني أن تطبيق bootstrap بأكمله يحدث مرة أخرى لكل طلب: تهيئة البيئة ، وربط الملفات الضرورية ، وتجميع حاويات DI ، وتحميل التكوينات ، وأكثر من ذلك. كل هذا هو نفسه بالنسبة لكل طلب ، ويمكن القيام به مرة واحدة ، ولكن يجب على PHP تكرار هذه الخطوات باستمرار. لذلك ، حتى إذا تم تحسين منطق العمل بشكل كافٍ ، فسوف نهدر الموارد عند التهيئة.

في التقرير ، سنتحدث عن كيفية حل أو تقليل هذه المشكلة:

  • سنعرف بالضبط ما يتم إنفاق الموارد عليه ، وننظر إلى perf ومصدر PHP.
  • دعنا نبحث عن بعض الحلول البسيطة للمشكلة: كيف يمكننا إجراء عمليات تهيئة أقل أو حفظ البيانات بين الطلبات.
  • سنختبر الإنجازات الجديدة لمجتمع PHP - التحميل المسبق لـ PHP 7.4 و RoadRunner - ومقارنتها.
  • دعنا نتعرف على سبب الحاجة إلى التحميل المسبق لـ PHP 7.4 إذا كان هناك opcache بالفعل ، وكيفية الحصول على المزيد من RoadRunner.

أنطون شابوفتا زيلوسر ، متحمس لـ PHP غير المتزامن (Onliner)


"عندما لا يكون أداء كود PHP كافيًا: نكتب C driver لـ PHP + RoadRunner"


النقاط الرئيسية:

  • RoadRunner: ميزات البروتوكول والتنفيذ
  • PHP + Go - إنه سريع ، هل لا يزال يتعين علي تحسينه؟
  • تطبيق رمز العميل في C: من أين تبدأ ومتى يستحق الأمر أن تنقل شيئًا إلى امتداد PHP؟
  • مقارنة أداء PHP-FPM و RoadRunner و RoadRunner + C.
  • المكافأة: ماذا لو بشكل غير متزامن؟ :)

حلقة نقاش حول الأداء


المشاركون:
بافيل مرزاكوف ، Badoo pmurzakov
سيميون كاتاييف ، أفيتو
ميخائيل بويلوف (مامبا)



العنوان: موسكو ، شارع تسفيتنوي ، 2 ، المدخل أ ، كافيتيريا (الطابق الأول)
تبدأ التقارير في الساعة 12:00.

سنبدأ في مقابلة الضيوف في الساعة 11:00 ، تعال وشرب القهوة قبل البدء وأخذ أماكن أفضل!

أثناء فترات الراحة ، يمكنك رؤية مكتب Badoo ، بعد الاجتماع - بعد الحفلات بالنسبة لأولئك الذين يرغبون.

يرجى ، عند التسجيل ، الإشارة إلى أسماءك الأولى والأخيرة ، كما في جواز سفرك (بالروسية). للقبول في مركز الأعمال ، خذ معك مستند إثبات الشخصية.

عدد المقاعد محدود ، تأكد من انتظار تأكيد التسجيل (سيأتي قبل أسبوعين من الاجتماع).

سيكون البث على قناتنا على YouTube ، وسيتم الإعلان في مجموعات VK و FB . سيتم نشر مقالات هناك على مدونة هبر.

الانضمام إلى الدردشة mitap ، وهناك مناقشات مثيرة للاهتمام بانتظام!

Source: https://habr.com/ru/post/ar464775/


All Articles