Mathieu Desnouveaux

180 000 requêtes par seconde expliqué simplement

Présentation par Xavier Leune sur l'optimisation de CURL pour gérer 180000 requêtes par seconde au Forum PHP 2025

Sketchnote illustrant comment gérer 180000 requêtes par seconde présentée au Forum PHP 2025. Le schéma montre la solution avec un laptop du marché + CURL (1996 dans PHP, depuis 2000). Deux stratégies principales: 1-Boucle de requêtes (en séquentiel, réutiliser la connexion) avec une ampoule indiquant l'idée, 2-Paralléliser les requêtes avec une alerte (busy looping pour attendre la fin d'une boucle). Le protocole HTTP/1.1 est expliqué avec client-serveur et plusieurs échanges pour une requête pour acquitter la requête. Le multiplexing montre une requête HTTP/2 parallèle. HTTP/3 arrive de QUIC avec UDP. La résolution DNS dans CURL montre multi-serveur (et repartissant les appels curl) puis mise en cache. Le multithread pour exploiter 100% du CPU mène à PCNTL et SCHTOP.

Cette sketchnote a été réalisée lors du Forum PHP 2025. Elle illustre la présentation "180 000 requêtes par seconde expliqué simplement" donnée par Xavier Leune, qui explore comment optimiser les requêtes HTTP pour atteindre des performances exceptionnelles.

Contenu de la présentation

Xavier Leune démontre qu'un laptop du marché et CURL suffisent pour 180 000 requêtes par seconde. Première stratégie : réutiliser les connexions en séquentiel. Deuxième : paralléliser les requêtes en évitant le busy looping avec les mécanismes asynchrones de CURL. Les protocoles HTTP évoluent : HTTP/1.1 impose des échanges séquentiels, HTTP/2 apporte le multiplexing, HTTP/3 utilise QUIC sur UDP. La résolution DNS s'optimise avec multi-serveurs et cache agressif. Le multithread via PCNTL exploite tous les cœurs du processeur pour des performances maximales. Toutes ces innovations permettent d'atteindre l'objectif de 180 000 requêtes par seconde.

Thèmes:
🚀 Performance 🐘 PHP
Événement:
🎤 Forum PHP

Source: Xavier Leune
Publié le 30 novembre 2025