21. September Badoo PHP Meetup # 3: Leistung

Hallo allerseits!

Ich bin Pavel Murzakov, Teamleiter des Badoo-Teams. Wir lieben PHP, investieren in seine Entwicklung und die Entwicklung der Community um es herum. Am 21. September planen wir das dritte Badoo PHP Meetup. Wir laden Referenten und Gäste ein!

Dieses Mal war das Hauptthema des Meetings die Leistung des PHP-Codes und des gesamten PHP-Backends. Dieser Bereich ist für uns wichtig , da wir einerseits über eine große PHP-Infrastruktur verfügen und das Problem der Leistung eine Frage der Geldersparnis ist. Auf der anderen Seite ist es wichtig, dass wir den Benutzern einen qualitativ hochwertigen Service bieten. Daher sollte das Backend schnell genug reagieren, da die Aktivität der Benutzer und ihre Eindrücke vom Service davon abhängen.

Auf dem Treffen möchten wir diskutieren, wie solche Probleme in verschiedenen Unternehmen gelöst werden, nämlich wie die Leistung überwacht, Probleme profiliert und lokalisiert werden, wann und was es wert ist, optimiert zu werden, und wie dies zu tun ist.

Anmeldung per Link ab 12:00 Uhr. Gäste sind ab 11:00 Uhr willkommen.

Das Programm


Alexander Malashchitsky, Hauptentwickler, Plattformteam (Superjob)


Optimierungssystematisierung


Alexander wird seine Erfahrungen mit der Erfassung von Metriken einer geladenen Anwendung und der Entwicklung eines systematischen Ansatzes zur Suche und Optimierung von Problembereichen teilen. Wichtige Punkte:

  • Warum die Optimierung ohne Metriken schlecht ist und warum Blackfire kein Allheilmittel ist;
  • Mit welchen Metriken begann das Team, wie speichert es sie und wie ertrinkt sie fast in ihrer Menge?
  • Zu welchen Metriken kam es und wie hilft es, Problembereiche zu finden?
  • Wie Superjob PHPSpy verwendet, um die Profilerstellung aus der Produktion zu entfernen, und warum die Profilerstellung eine andere Metrik ist;
  • So machen Sie die Optimierung zu einem Teil des Entwicklungslebenszyklus.

Pavel Murzakov, PHP-Teamleiter (Badoo)


"Kampf gegen das Shared-Nothing-Modell: PHP 7.4 Preload, RoadRunner und andere"


Eine herkömmliche PHP-Anwendung (d. H. Mod_php, php-fpm usw.) führt den gesamten Code jedes Mal von Grund auf neu aus. Dies bedeutet, dass die gesamte Bootstrap-Anwendung für jede Anforderung erneut ausgeführt wird: Initialisierung der Umgebung, Verbindung der erforderlichen Dateien, Zusammenstellung von DI-Containern, Laden von Konfigurationen und mehr. All dies ist für jede Anfrage gleich und kann einmal durchgeführt werden, aber PHP muss diese Schritte ständig wiederholen. Selbst wenn die Geschäftslogik ausreichend optimiert ist, werden wir dennoch Ressourcen für die Initialisierung verschwenden.

In dem Bericht werden wir darüber sprechen, wie dieses Problem gelöst oder minimiert werden kann:

  • Wir werden herausfinden, wofür genau Ressourcen ausgegeben werden, uns perf und die PHP-Quelle ansehen.
  • Lassen Sie uns nach einfachen Lösungen für das Problem suchen: Wie können wir weniger Initialisierungen durchführen oder Daten zwischen Anforderungen speichern?
  • Wir werden die neuen Errungenschaften der PHP-Community - PHP 7.4 Preload und RoadRunner - testen und vergleichen.
  • Lassen Sie uns herausfinden, warum das Vorladen von PHP 7.4 erforderlich ist, wenn bereits Opcache vorhanden ist, und wie Sie RoadRunner noch besser nutzen können.

Anton Shabovta zloyusr , Enthusiast von asynchronem PHP (Onliner)


"Wenn die Leistung von PHP-Code nicht ausreicht: Wir schreiben einen C-Treiber für PHP + RoadRunner."


Wichtige Punkte:

  • RoadRunner: Protokoll- und Implementierungsfunktionen
  • PHP + Go - es ist schnell, muss ich noch optimieren?
  • Client-Code in C implementieren: Wo soll ich anfangen und wann lohnt es sich, etwas auf die PHP-Erweiterung zu portieren?
  • Leistungsvergleich von PHP-FPM, RoadRunner und RoadRunner + C.
  • Bonus: Was ist, wenn asynchron? :) :)

Podiumsdiskussion zur Leistung


Die Teilnehmer:
Pavel Murzakov, Badoo pmurzakov
Semyon Kataev, Avito
Mikhail Buylov (Mamba)



Adresse: Moskau, Tsvetnoy Boulevard, 2, Eingang A, Cafetera (1. Stock)
Die Berichte beginnen um 12:00 Uhr.

Wir werden uns um 11:00 Uhr mit den Gästen treffen, vor dem Start einen Kaffee trinken und bessere Plätze einnehmen!

In den Pausen können Sie das Badoo-Büro nach dem Meeting sehen - Afterparty für diejenigen, die es wünschen.

Bitte geben Sie bei der Registrierung Ihren Vor- und Nachnamen an, wie in Ihrem Reisepass (in russischer Sprache). Nehmen Sie für die Zulassung zum Business Center einen Ausweis mit.

Die Anzahl der Sitzplätze ist begrenzt. Warten Sie auf die Bestätigung der Registrierung (dies wird einige Wochen vor dem Meeting erfolgen).

Die Sendung wird auf unserem YouTube-Kanal ausgestrahlt , die Ankündigungen erfolgen in VK- und FB- Gruppen. Einträge werden dort im Habr-Blog veröffentlicht.

Nehmen Sie am Mitap-Chat teil , es gibt regelmäßig interessante Diskussionen!

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


All Articles