Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 9 sur 9
  1. #1
    Invité de passage
    Inscrit en
    décembre 2012
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : décembre 2012
    Messages : 7
    Points : 2
    Points
    2

    Par défaut Nombre de requêtes simultanées par page

    Bonjour,

    Je développe actuellement une application où, pour améliorer la vitesse de chargement de mes pages, j'ai décidé de charger des blocs de contenu de façon asynchrone en utilisant ajax.

    Pour cela, je fait un simple appel ajax :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <script type="text/javascript">
     
        $(window).load(function(){
     
            $.ajax({
                url: "/maPpage"
                }).done(function ( data ) {
                    $('#id').html(data);
                });
     
        });

    Je fait ceci pour plusieurs blocs de contenu. Mon problème est le suivant : je dispose d'un hébergement OVH 'Perso' (mutualisé), et j'ai l'impression que plus le nombre de ces requêtes AJAX au chargement de la page est grand, plus chaque requête met de temps à se charger. Exemple :
    - premier bloc : 10 sec
    - deuxième bloc : 30 sec
    - troisième bloc : 1minute

    Si je fais le même appel ajax avec un .click(), chaque bloc se charge beaucoup plus vite (une seconde)...

    Je ne sais pas d'où ça vient :colere2: Serait-ce OVH qui limite le nombre de connexion simultanées d'un utilisateur sur un serveur ? Ou est-ce que ma syntaxe n'est pas optimisée ?

    Merci pour vos éclaircissement... je craque ! ^^

    PS : un petit dessin vaut mieux que de grandes explications (cliquer 1 fois sur l'image pour agrandir) :


  2. #2
    Responsable Développement Web

    Avatar de Bovino
    Homme Profil pro Didier Mouronval
    Développeur Web
    Inscrit en
    juin 2008
    Messages
    22 139
    Détails du profil
    Informations personnelles :
    Nom : Homme Didier Mouronval
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2008
    Messages : 22 139
    Points : 86 222
    Points
    86 222

    Par défaut

    Non, c'est le navigateur qui bloque le nombre de requêtes simultanées. Généralement, le nombre maximal est de trois.

    Ceci dit,
    pour améliorer la vitesse de chargement de mes pages, j'ai décidé de charger des blocs de contenu de façon asynchrone en utilisant ajax
    je vois mal en quoi multiplier le nombre d'appels HTTP peut améliorer la vitesse de chargement...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Expert Confirmé
    Avatar de christele_r
    Femme Profil pro Christele Rubneau
    Responsable de service informatique
    Inscrit en
    novembre 2009
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Nom : Femme Christele Rubneau
    Âge : 66
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : novembre 2009
    Messages : 1 359
    Points : 2 574
    Points
    2 574

    Par défaut

    Bonjour,
    Tu devrais te mettre à notre place, comment répondre a pareille question ?
    lorsque tu exécutes un module pur de JavaScript,
    par exemple
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <script type="text/javascript">
    var le1 = setInterval(Lajax(10),5000);
    var le2 = setInterval(Lajax(20),10000);
    function Lajax(param1)
    {
      var xx;
      if (window.XMLHttpRequest){ xx = new XMLHttpRequest();}
      else if (window.ActiveXObject) {xx = new ActiveXObject('Microsoft.XMLHTTP');}
      else {
        alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
        xx = false;   }
      xx.open('POST',"unPHP.php",true);
      xx.onreadystatechange = function()
      {
          if (xx.readyState == 4 && xx.status==200)
          {
              if (document.getElementById) 
              {    
              document.getElementById('LeTexte').innerHTML=''+xx.responseText+'';
              }     
          }
      }
      xx.setRequestHeader('Content-type','application/x-www-form-urlencoded');
      xx.send('param1='+param1);                  
    }
    </script>
    Le PHP unPHP.php sur le serveur est appelé sans arrêt , et cela ne pose aucun problème ! car tout dépend de la taille de ce PHP et de se qu'il fait !
    Alors précise
    A++
    Christele

  4. #4
    Futur Membre du Club
    Inscrit en
    juin 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 28

    Informations forums :
    Inscription : juin 2008
    Messages : 29
    Points : 18
    Points
    18

    Par défaut

    En effet si tu veux plus de rapidité dans ton chargement c'est vrai qu'il n'y a pas trop de logique de découper ta page en sous requête AJAX pour charger des morceaux de ta page. Après si effectivement tu as une partie de ta page qui a un gros morceau à charger et que c'est pas primordial pour l'utilisateur dans la première seconde de sa visite, tu peux taper un appel AJAX à ce moment pour le charger en asynchrone et pas bloquer le reste de la page juste pour cette partie. Mais sinon faire n requête pour charger ta page te fera pas aller plus vite, surtout comme le dit Bovino les navigateurs limites le nombres de requêtes.
    Après par contre lors de ta navigation tu peux choisir de naviguer en AJAX pour recharger juste ce dont tu as besoin.

  5. #5
    Expert Confirmé
    Avatar de christele_r
    Femme Profil pro Christele Rubneau
    Responsable de service informatique
    Inscrit en
    novembre 2009
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Nom : Femme Christele Rubneau
    Âge : 66
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : novembre 2009
    Messages : 1 359
    Points : 2 574
    Points
    2 574

    Par défaut

    Citation Envoyé par benjyyyyy Voir le message
    Tu peux taper un appel AJAX à ce moment pour le charger en asynchrone et ne pas bloquer le reste de la page
    MDR ... tu ne risque pas, la page s'affiche toujours en entier puisque JavaScript n'est lancé que lorsque le HTML est chargé complètement chez le visiteur.
    La notion Asynchrone/Synchrone ne jouant que pour la requête AJAX !
    A++
    Christele

  6. #6
    Futur Membre du Club
    Inscrit en
    juin 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 28

    Informations forums :
    Inscription : juin 2008
    Messages : 29
    Points : 18
    Points
    18

    Par défaut

    Oui donc si tu veux charger un morceau de ta page en asynchrone, tu poses un div vide, et quand c'est chargé tu charge ton div...en asynchrone ^^

  7. #7
    Responsable Développement Web

    Avatar de Bovino
    Homme Profil pro Didier Mouronval
    Développeur Web
    Inscrit en
    juin 2008
    Messages
    22 139
    Détails du profil
    Informations personnelles :
    Nom : Homme Didier Mouronval
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2008
    Messages : 22 139
    Points : 86 222
    Points
    86 222

    Par défaut

    Si tu veux optimiser l'affichage de la page, tu peux passer par flush et ob_ flush en PHP, mais AJAX ne fera qu'alourdir la chose...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  8. #8
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro Andry Aimé
    Inscrit en
    septembre 2007
    Messages
    7 095
    Détails du profil
    Informations personnelles :
    Nom : Homme Andry Aimé
    Localisation : Ile Maurice

    Informations forums :
    Inscription : septembre 2007
    Messages : 7 095
    Points : 11 996
    Points
    11 996

    Par défaut

    Citation Envoyé par christele_r Voir le message
    MDR ... tu ne risque pas, la page s'affiche toujours en entier puisque JavaScript n'est lancé que lorsque le HTML est chargé complètement chez le visiteur.
    Euh:
    Code html :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <html>
    	<head>
    		<title>test js</title>
    	</head>
    	<body>
    		<div>Affiche 1</div>
    		<script type="text/javascript">alert('fermer avant de continuer le chargement')</script>
    		<div>Affiche 2</div>
    	</body>
    </html>

  9. #9
    Expert Confirmé
    Avatar de christele_r
    Femme Profil pro Christele Rubneau
    Responsable de service informatique
    Inscrit en
    novembre 2009
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Nom : Femme Christele Rubneau
    Âge : 66
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : novembre 2009
    Messages : 1 359
    Points : 2 574
    Points
    2 574

    Par défaut

    Arh... un comble je vivais depuis xx années avec cette idée préconçue

    Mille escuses a vous tous, et merci a toi , au moins je n'oublierais pas

    A++
    Christele

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •