Question

Je suis en train de mesurer une demande avec WebRequest,

Mais je reçois des résultats significatifs plus petits, puis mesurer avec Firebug.

Je devine que c'est parce que certains contenus comme des images et CSS ne sont pas inclus.

Y at-il un moyen de mesurer une requête web complète?

Mon code:

        public string GetPageHtmlTime(string strUrl)
    {
        WebRequest request = null;
        WebResponse response = null;
        HttpWebResponse httpCurrentWeResponse = null;

        try
        {
            //making a request to the file.
            request = WebRequest.Create(strUrl);
            //set 5 seconds timeout for the request
            request.Timeout = 5 * 1000;

            //Stopwatch
            Stopwatch sw = new Stopwatch();
            sw.Start();

            //get the server response
            response = request.GetResponse();
            httpCurrentWeResponse = (HttpWebResponse)response;
            sw.Stop();

            //if the http response return any type of failure
            if (httpCurrentWeResponse.StatusCode != HttpStatusCode.OK || response == null)
                return "Error: " + httpCurrentWeResponse.StatusCode;

            response.Close();

            //Return time:
            return "OK time=" + sw.ElapsedMilliseconds.ToString("0,0");

        }
        catch (System.Exception ex)
        {
            return "Error: ex=" + ex.Message;
        }

    }
Était-ce utile?

Autres conseils

Votre code mesurera seulement combien de temps il faut pour le code complet, le code ne sera pas attendre que tous les octets pour arriver au niveau du client qui prendra beaucoup plus de temps que le code.

Que et où la mesure dépend de l'endroit où vous vous attendez à faire OPTIMISATIONS. Si vous voulez améliorer l'expérience au client lorsque le serveur est sous faible charge, puis Firebug (ou Fiddler) serait un bon endroit pour être la mesure. Si vous wan't pour améliorer les performances sur le serveur lorsque sa sous une lourde charge alors profileurs de code serait le genre d'outil vous aurions besoin.

scroll top