Vidéo 18 • Optimisation Flux Sortant
Batch & Compress :
L'Efficacité Réseau
"Ne multipliez pas les appels HTTP. Groupez, compressez et libérez votre serveur."
Le Coût caché d'une requête
Le mode "Harcèlement"
1 vente = 1 appel HTTP.
Si vous avez 100 ventes, le client et le serveur doivent négocier 100 fois la connexion (SSL, Headers, Auth).
PERTE : 90% du temps est consommé par les entêtes et la sécurité plutôt que par vos données.
Le mode "Convoi"
On attend d'avoir un lot de 50 ventes. On les emballe dans un seul paquet JSON.
GAIN : 1 seule négociation réseau pour 50 ventes. Serveur 50x plus soulagé.
Démonstration : Vitesse de Synchronisation
SyncQueue (En attente)
Prêt
Statistiques Cloud
Appels API :
0
Temps total :
0.00s
L'Étape de l'Expert : La Compression
Pourquoi compresser ?
Le texte JSON contient beaucoup de redondance.
En compressant votre buffer en mémoire avant l'envoi, vous divisez son poids par 10.
JSON BRUT
500 KB
COMPRESSÉ
45 KB
Buffer Binaire
Logique : Compresser()
Implémentation du Batching
// 1. Récupérer un lot de 50 records en file d'attente locale tabVentes est un tableau de ST_Vente = ChargeSyncQueue(50) // 2. Sérialisation de l'ensemble du tableau sMonLotJSON est une chaîne = VariantVersJSON(tabVentes) // 3. COMPRESSION DU BUFFER (Indispensable pour le SaaS) // On utilise la fonction native "Compresser" sur le buffer bufLotCompresse est un Buffer = Compresser(sMonLotJSON, compressZlib) // 4. Envoi d'une seule requête HTTP optimisée clReq est une httpRequête clReq.Contenu = bufLotCompresse HTTPEvoie(clReq)