Compteur de visiteur avec MySQL / PHP à optimiser : Lent

Fermé
JJ - Modifié par JJ le 3/04/2014 à 12:01
 JJ - 4 avril 2014 à 17:24
Bonjour,

J'utilise pour la première fois MySQL et le PHP, le tout fonctionne très bien, en revanche c'est parfois très lent ! J'ai le sentiment qu'il a du mal à se connecter à MySQL, et ma page ne s'affiche pas tant qu'il n'a pas fait cette connexion ! (par contre, une fois qu'il s'est connecté, dans le quart d'heure ou demie heure qui suit, la page est très réactive)

Deux questions : est-il possible que ma page s'affiche même si le compteur ne s'est pas encore chargé ? ce qui n'est pas le cas pour le moment. Ou bien y a-t-il une possibilité d'optimiser mon code ?

Voici tous les détails :

Configuration de MySQL :

CREATE TABLE  'compteur' (  
'adresse_ip' varchar(15) NOT NULL,
'derniere_activite' int(16) NOT NULL,
UNIQUE KEY 'adresse_ip' ('adresse_ip')
);


Code PHP que j'ai inséré dans mon index.php : (inséré dans Body, dans une div)
<?php
mysql_connect("HoteDeMySQL", "Utilisateur", "MotDePasse");
mysql_select_db("NomBasseDeDonnée");

$adresse_ip = $_SERVER['REMOTE_ADDR'];

mysql_query("INSERT INTO compteur VALUES ('$adresse_ip',UNIX_TIMESTAMP()) ON DUPLICATE KEY UPDATE derniere_activite=UNIX_TIMESTAMP()");

$nombre_visiteurs = mysql_query("SELECT COUNT(adresse_ip) FROM compteur");

$result = mysql_result($nombre_visiteurs, 0);

echo  number_format($result, 0, ',', ' ');
 
mysql_close();
?>



Merci beaucoup !
A voir également:

2 réponses

Benoit A. Messages postés 454 Date d'inscription mercredi 8 février 2012 Statut Membre Dernière intervention 13 août 2015 515
Modifié par Benoit A. le 3/04/2014 à 12:08
Tu peux tester ton site directement sur des sites spécialisés tu auras alors tous les infos nécessaires :

http://www.monitoring-transactionnel.com/outils-gratuits/

https://tools.pingdom.com
0
ça ne m'avance pas :

La communication à MySQL ne figure pas sur ces deux sites de test et je pense que c'est dû au fait que la page est modifié au moment du chargement : toute la partie php que j'ai mentionné ci dessus est remplacé par le résultat du compteur (un simple nombre), et ce, afin de ne pas faire figurer les informations de connexion à MySQL (mot de passe hote, utilisateur...)
du coup le chargement est normal : 1s 52

Même si ça avait fonctionné, ça ne m'aurait pas dit comment accélérer le chargement...
Merci en tout cas pour ta réponse !
0
up
0