IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Premier chargement de page, prerender trop long


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 47
    Par défaut Premier chargement de page, prerender trop long
    Bonjour,

    J'ai tenté des recherches mais rien n'est vraiment probant.
    Je vous expose le problème :
    - j'ai une appli qui tourne sur une machine (pas forcément avec un OS serveur mais assez bodybuildée quand même, en revanche qui est redémarrée tous les jours).
    - mon site est partiellement en ASP, et partiellement en ASP.NET.

    lorsque l'utilisateur navigue pour la premiere fois sur une page ASP.NET, le chargement est trop long (14 secondes en l'occurence passées entre le prerender begin et prerender end des traces ASP.NET).

    Les prochaines navigations sur cette page sont instantanées.
    De même, si je ferme IE et que je retourne sur cette page avec un autre utilisateur, cela fonctionne parfaitement.

    J'utilise des composants tiers (devexpress) qui peuvent être un peu plus complexes que ceux ASP.NET classiques, mais rien qui justifie un tel temps de chargement.

    J'ai tenté vainement d'améliorer ces performances, en utilisant les techniques suivantes :
    - retrait de la vérification des certificats des composants clients (dans le aspnet.config) : ca m a fait gagner quelques secondes mais pas suffisamment.
    - precompilation du site avec aspnet_compile, aspnet_merge et même ngen (gain de l'ordre de 1 seconde)

    Mon site est configuré en release, la plupart du reste de la configuration est restée aux valeurs par défaut.

    J'attends donc des pistes de réflexion, à défaut de réelles solutions

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Bonjour,

    La question est : fais-tu quelque chose dans le prerender ou pas ? Si oui essaye de tracer l'exécution de ce code.

    Sinon je dirais que le comportement est assez "normal" (identique à un iisreset), iis et aspnet recompile ton site.

    Si tu n'effectues aucun code, une option (pourrie) serait de faire charger directement après le reboot la page, comme ça certes il y aura ce chargement long mais il sera transparent pour l'utilisateur.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 47
    Par défaut Détails
    Non je n'ai aucun code a moi dans le prerender.

    Concernant l'alternative, je m'interroge sur la possibilité de le faire sachant que l'accès à cette page est dépendant d'une authentification (pas disponible juste en tapant une URL notamment)

    Peut on déclencher des exécutables lors d'un reboot IIS? l'as tu déjà fait?

    J'ai tenté des recompilation "manuelles" que je pourrais automatiser (aspnet_compiler etc...) mais apparemment ce n'est pas encore suffisant.

  4. #4
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Si le redémarrage de IIS est manuel tu peux créer un .bat et une tâche planifiée qui fait un iisreset et lance une console qui va réveiller ton application en appelant des pages. Cela permet à ton site de se charger une première fois.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  5. #5
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Sinon, une idée serait de faire un site simple (sans composant DevExpress notamment) et voir son comportement. Si cela est plus rapide, demande à DevExpress !

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 47
    Par défaut
    ostenhard:
    J'ai sollicité aussi devexpress, ils annoncent que la page est assez complexe (une 15aine de composants graphiques).
    Ils n'excluent pas d'autres pistes de réflexion comme la compression HTTP...
    Cela m'amène tout de même à plus de 5 secondes au premier chargement.
    J'ai une autre page sans composant devexpress dans mon site, qui présente le même comportement.

    Immobilis:
    mon serveur redémarre au démarrage de la machine, sinon je n'aurai pas particulièrement de prise sur lui quand je serai en prod.
    Ceci dit ton idée de batch m'intéresse, tu proposes que je lance des c:\program files\...\iexplore.exe http://localhost/monsite/pageLourde.aspx?
    Est ce que le système de login ne va pas poser soucis?
    Ca risque d'ouvrir des pages IE ca non?

    Merci déjà d'essayer de m'aiguiller ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Chargement d'images chiffrées trop long
    Par iBen68 dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 27/11/2012, 12h00
  2. Temps de chargement trop long pour animation légère
    Par CharlyMops dans le forum Flash
    Réponses: 1
    Dernier message: 27/09/2006, 07h13
  3. Réponses: 5
    Dernier message: 15/09/2006, 16h58
  4. Passage d'une page web à une autre TROP long
    Par minusette dans le forum Web
    Réponses: 16
    Dernier message: 27/10/2005, 17h40
  5. Chargement de page trop long
    Par t_o_7_ dans le forum ASP
    Réponses: 2
    Dernier message: 19/09/2003, 18h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo