Bonjour à tous!
Je suis Pavel Murzakov, chef d'équipe de l'équipe Badoo. Nous aimons PHP, investissons dans son développement et le développement de la communauté qui l'entoure.
Le 21 septembre, nous prévoyons d'organiser le troisième Meetup Badoo PHP. Nous invitons des conférenciers et des invités!

Cette fois, le sujet général de la réunion était la performance du code PHP et du backend PHP dans son ensemble. Ce domaine
est important pour nous, car, d'une part, nous avons une grande infrastructure PHP, et la question des performances est une question d'économie d'argent. D'un autre côté, il est important pour nous de fournir aux utilisateurs un service de haute qualité, donc le backend devrait répondre assez rapidement, car l'activité des utilisateurs et leurs impressions sur le service en dépendent.
Lors de la réunion, nous voulons discuter de la manière dont ces problèmes sont résolus dans différentes entreprises, à savoir: comment surveiller les performances, profiler et localiser les problèmes, quand et ce qu'il convient d'optimiser, et comment le faire.
Inscription par lien , à partir de 12h00, les clients sont accueillis à partir de 11h00.
Le programme
Alexander Malashchitsky, développeur principal, équipe de plate-forme (Superjob)
Systématisation d'optimisation
Alexander partagera son expérience de la couverture des métriques d'une application chargée et du développement d'une approche systématique pour trouver les zones problématiques et les optimiser. Points clés:
- Pourquoi l'optimisation sans métriques est mauvaise, et pourquoi Blackfire n'est pas une panacée;
- Quels paramètres l'équipe a commencé, comment elle les stocke et comment elle s'est presque noyée en quantité;
- À quel ensemble de mesures est venu et comment cela aide à trouver les zones à problème;
- Comment Superjob utilise PHPSpy pour supprimer le profilage de la production et pourquoi le profilage est une autre métrique;
- Comment intégrer l'optimisation au cycle de vie du développement.
Pavel Murzakov, chef d'équipe PHP (Badoo)
"Combattre le modèle du partage rien: précharge PHP 7.4, RoadRunner et autres"
Une application PHP traditionnelle (c'est-à-dire mod_php, php-fpm, etc.) exécute tout le code à chaque fois à partir de zéro. Cela signifie que la totalité de l'application bootstrap se produit à nouveau pour chaque requête: initialisation de l'environnement, connexion des fichiers nécessaires, assemblage des conteneurs DI, chargement des configurations, etc. Tout cela est le même pour chaque requête, et pourrait être fait une fois, mais PHP doit constamment répéter ces étapes. Par conséquent, même si la logique métier est suffisamment optimisée, nous gaspillerons toujours des ressources lors de l'initialisation.
Dans le rapport, nous expliquerons comment résoudre ou minimiser ce problème:
- Nous verrons exactement sur quoi les ressources sont dépensées, regardons perf et la source PHP.
- Cherchons des solutions simples au problème: comment pouvons-nous faire moins d'initialisations ou enregistrer des données entre les requêtes.
- Nous allons tester les nouvelles réalisations de la communauté PHP - préchargement PHP 7.4 et RoadRunner - et les comparer.
- Voyons pourquoi le préchargement PHP 7.4 est nécessaire s’il existe déjà un opcache et comment tirer encore plus de profit de RoadRunner.
Anton Shabovta zloyusr , passionné de PHP asynchrone (Onliner)
"Lorsque les performances du code PHP ne suffisent pas: nous écrivons le pilote C pour PHP + RoadRunner"
Points clés:
- RoadRunner: protocole et fonctionnalités d'implémentation
- PHP + Go - c'est rapide, dois-je encore optimiser?
- Implémentation du code client en C: par où commencer et quand vaut-il la peine de porter quelque chose sur l'extension PHP?
- Comparaison des performances de PHP-FPM, RoadRunner et RoadRunner + C.
- Bonus: qu'en est-il de manière asynchrone? :)
Table ronde sur les performances
Les participants:Pavel Murzakov, Badoo
pmurzakovSemyon Kataev, Avito
Mikhail Buylov (Mamba)

Adresse: Moscou, boulevard Tsvetnoy, 2, entrée A, cafétéria (1er étage)
Les rapports commencent à midi.
Nous commencerons à rencontrer les invités à 11h00, venez boire un café avant le départ et prendre de meilleurs endroits!
Pendant les pauses, vous pouvez voir le bureau Badoo, après la réunion - afterparty pour ceux qui le souhaitent.
Veuillez, lors de votre
inscription, indiquer vos prénom et nom, comme dans votre passeport (en russe). Pour être admis au centre d'affaires, emportez avec vous une pièce d'identité.
Le nombre de places est limité, assurez-vous d'attendre la confirmation de votre inscription (cela viendra quelques semaines avant la réunion).
La diffusion sera sur notre
chaîne YouTube , les annonces seront dans les groupes
VK et
FB . Les entrées y seront publiées sur le blog Habr.
Rejoignez le
chat mitap , il y a régulièrement des discussions intéressantes!