Solutions maison
Optimisation des temps de chargement "à la main"
Pour les plus aventureux qui souhaiteraient se lancer dans le dev d'une solution maison.
En ligne de commande, sous linux, il y a moyen de récupérer quelques données, et très simplement.
Pour un fichier seul, Curl est parfait :
curl -s -w "%{time_total}n" -o output.txt http://www.monsite.com/
Cet exemple sortira le temps de chargement de http://www.monsite.com/ dans le fichier output.txt. On peux ainsi récupérer pas mal d'infos, parmi lesquelles :
time_namelookup, time_connect , time_pretransfer, time_redirect, time_starttransfer, size_download
La limite de cet outil est que seul le fichier html sera récupéré, les fichiers images, css, js ne le seront pas.
Pour connaitre le temps de chargement complet d'une page et de ses fichiers, on utilisera plutôt wget :
time wget http://www.monsite.com/
On obtient uniquement le temps total du chargement, tous fichiers confondus.
Ces 2 techniques ont des limites, on n'obtiendra pas le même niveau de détail qu'avec Firebug par exemple et surtout pas aussi simplement. Mais c'est déjà un bon début. Pour aller plus loin il faudra coder, et pas qu'un peu.
On peut s'appuyer sur de l'existant : Webkit, Network Monitor, Fiddler ou autre. Il existe un grand nombre d'outils de mesure de la performance plus ou moins complexes, que ce soit en C#, en java, en python, n'hésitez pas à faire votre marché. Bon courage 🙂
Une autre solution est d'appeler des services externes, par exemple AOL pagetest via webpagetest, puis de traiter les données en retour. Le problème est que la sonde se trouvera souvent hors du pays où se trouvent les clients. Donc question latence les résultats seront complétement faussés.