21 de septiembre Badoo PHP Meetup # 3: Rendimiento

Hola a todos!

Soy Pavel Murzakov, líder del equipo Badoo. Amamos PHP, invertimos en su desarrollo y en el desarrollo de la comunidad que lo rodea. 21 de septiembre, planeamos celebrar el tercer Badoo PHP Meetup. ¡Invitamos oradores e invitados!

Esta vez, el tema general de la reunión fue el rendimiento del código PHP y el backend PHP en su conjunto. Esta área es importante para nosotros, ya que, por un lado, tenemos una gran infraestructura de PHP, y la cuestión del rendimiento es una cuestión de ahorrar dinero. Por otro lado, es importante para nosotros proporcionar a los usuarios un servicio de alta calidad, por lo que el backend debe responder lo suficientemente rápido, porque la actividad de los usuarios y sus impresiones del servicio dependen de ello.

En la reunión queremos discutir cómo se resuelven estos problemas en diferentes compañías, a saber: cómo monitorear el desempeño, perfilar y localizar problemas, cuándo y qué vale la pena optimizar, y cómo hacerlo.

Registro por enlace , a partir de las 12:00, los huéspedes son recibidos a partir de las 11:00.

El programa


Alexander Malashchitsky, desarrollador principal, equipo de plataforma (Superjob)


Sistematización de optimización


Alexander compartirá su experiencia de cubrir las métricas de una aplicación cargada y desarrollar un enfoque sistemático para encontrar áreas problemáticas y optimizarlas. Puntos clave:

  • Por qué la optimización sin métricas es mala y por qué Blackfire no es una panacea;
  • Con qué métricas comenzó el equipo, cómo las almacena y cómo casi se ahoga en su cantidad;
  • A qué conjunto de métricas se llegó y cómo ayuda a encontrar áreas problemáticas;
  • Cómo Superjob usa PHPSpy para eliminar la creación de perfiles de la producción y por qué la creación de perfiles es otra métrica;
  • Cómo hacer que la optimización forme parte del ciclo de vida del desarrollo.

Pavel Murzakov, Jefe de Equipo PHP (Badoo)


“Luchando contra el modelo de nada compartido: precarga PHP 7.4, RoadRunner y otros”


Una aplicación PHP tradicional (es decir, mod_php, php-fpm, etc.) ejecuta todo el código desde cero cada vez. Esto significa que toda la aplicación bootstrap se repite para cada solicitud: inicialización del entorno, conexión de los archivos necesarios, ensamblaje de contenedores DI, carga de configuraciones y más. Todo esto es lo mismo para cada solicitud, y podría hacerse una vez, pero PHP tiene que repetir constantemente estos pasos. Por lo tanto, incluso si la lógica de negocios está suficientemente optimizada, aún desperdiciaremos recursos en la inicialización.

En el informe, hablaremos sobre cómo resolver o minimizar este problema:

  • Averiguaremos en qué se gastan exactamente los recursos, veremos perf y la fuente PHP.
  • Busquemos algunas soluciones simples al problema: ¿cómo podemos hacer menos inicializaciones o guardar datos entre solicitudes?
  • Pondremos a prueba los nuevos logros de la comunidad PHP (precarga PHP 7.4 y RoadRunner) y los compararemos.
  • Averigüemos por qué se necesita la precarga de PHP 7.4 si ya hay opcache, y cómo aprovechar aún más RoadRunner.

Anton Shabovta zloyusr , entusiasta de PHP asíncrono (Onliner)


"Cuando el rendimiento del código PHP no es suficiente: escribimos el controlador C para PHP + RoadRunner"


Puntos clave:

  • RoadRunner: características de protocolo e implementación
  • PHP + Go: es rápido, ¿todavía tengo que optimizar?
  • Implementación de código de cliente en C: ¿dónde comenzar y cuándo vale la pena portar algo a la extensión PHP?
  • Comparación de rendimiento de PHP-FPM, RoadRunner y RoadRunner + C.
  • Bono: ¿y si asincrónicamente? :)

Panel de discusión sobre desempeño


Los participantes:
Pavel Murzakov, Badoo pmurzakov
Semyon Kataev, Avito
Mikhail Buylov (Mamba)



Dirección: Moscú, bulevar Tsvetnoy, 2, entrada A, Cafetera (primer piso)
Los informes comienzan a las 12:00.

Comenzaremos a reunirnos con los invitados a las 11:00, ¡venga a tomar un café antes del comienzo y tome mejores lugares!

Durante los descansos, puede ver la oficina de Badoo, después de la reunión, después de la fiesta para aquellos que lo deseen.

Por favor, al registrarse, indique su nombre y apellido, como en su pasaporte (en ruso). Para ingresar al centro de negocios, lleve un documento de identificación con usted.

El número de asientos es limitado, asegúrese de esperar la confirmación del registro (llegará un par de semanas antes de la reunión).

La transmisión será en nuestro canal de YouTube , los anuncios serán en grupos VK y FB . Las entradas se publicarán allí en el blog de Habr.

¡Únase al chat de mitap , hay discusiones regularmente interesantes!

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


All Articles