WindevExpert

Vidéo 47 • Performance & Scalabilité

SQL Tuning :
Guerre à la Latence

Apprenez à identifier les requêtes qui ralentissent votre Cloud et à protéger vos clients contre le phénomène du "Voisin Bruyant".

Le Syndrome du "Voisin Bruyant"

Client A (Gros Volume)

Il lance une recherche sans index sur 5 millions de lignes.

Conséquence : Le processeur du serveur monte à 100%. Toutes les autres requêtes attendent dans la file.

La Solution Expert

Le serveur détecte la requête lente, la tue si nécessaire, et vous alerte pour que vous ajoutiez l'index manquant ou que vous optimisiez le code.

Laboratoire : Debug de Performance SQL

Requête Client

SELECT * FROM Ventes
WHERE Date > '20250101'
AND ModeReglement = 'CB'
Statut CPU Serveur
5%
// Monitoring SQL actif...

Lire dans les pensées de HFSQL

Outil indispensable : l'Analyseur

Avant de blâmer le serveur, utilisez l'outil WDStats ou la fonction HExplique.

Si vous voyez "Parcours complet du fichier", c'est une catastrophe de performance.
Si vous voyez "Utilisation de l'index", votre code est propre.

Plan d'exécution
>> Scan Type: TABLE SCAN
>> Rows Read: 2,450,100
>> Cost: CRITICAL

Le Code de Surveillance

// 1. Démarre le chronomètre précis
nDébut est un entier = HeureVersEntier(HeureSys())

// 2. Exécution de la requête métier
HExécuteRequête(REQ_Ventes_Mois)

// 3. Calcul de la latence
nFin est un entier = HeureVersEntier(HeureSys())
nLatence est un entier = nFin - nDébut

SI nLatence > 500 ALORS
    // 4. ALERTE AUTOMATIQUE AU MASTER ADMIN
    LogSlowQuery(REQ_Ventes_Mois..Nom, nLatence, gsIDTenant)
FIN