Bonjour,
j'ai beaucoup d'idée en php mais je bloque sur un truc que j'arrive pas a comprendre comment il faudrait faire: j'aimerais créer un systeme de "Ajax Online"
en gros imaginons qu'il y a 2 personnes qui vont sur le site , et là je voudrais que le ajax enregistre un truc pour dire que les 2 personnes sont online , j'aimerais qu'il ne sont plus "online" dés qu'ils quittent le site !
donc j'ai essayer de faire ceci et sa marche impeccable avec 1 personne, ou 2 , ou meme avec le 3 , 4 , 5 ,6 ...,10 eme visiteurs mais attention au 50-60 eme visiteurs (60 connectés) le site il rame trés trés trés fort car le mysql est trop surcharger et donc le site ensuite il s'ouvre 3heures aprés
donc si quelqu'un a une idée pour faire ce systeme "d'onlineAjax sans faire lagué mysql " bein je le remercie !!!
je montre les scripts que j'ai en ce moment , ils marchent vraiment trés bien (mais seulement pour 1 a 15 connectés) ( a partir de 50 connectés mysqal lag trés trés fort pour surcharge )
les scripts:
ce script
le 0 ,c'est le travail de mysql ,car dans la structure j'ai pas mis "INT" ni "Text" ni "Vachar" mais un "Time" pour ne pas faire de time() en php, je voulais voir si il y avait pas de lag mais il y a toujours du lag
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $id_session = uniqid((double)microtime()*1000000, true); mysql_query("INSERT INTO test VALUES('', '$id_session', '$_POST[pseudo]', '0', '0')");
le 2eme script , il faut le mettre sur la page (page de tchat pour moi) pour voir si la personne est connecté et pour que le javascript refresh ce fichier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <script language=javascript> function displaySessionRefreshBase() { _RIMAGE = new Image(1, 1); _RIMAGE.src = "/session2.php?session=<?php echo $id_session;?>&timer=" + Math.round(Math.random() * 1000000000); } window.setInterval(displaySessionRefreshBase, 1000); </script> </body> </html>
dans session2.php il y a ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <? header('Content-type: text/html; charset=iso-8859-1'); header('Cache-Control: no-cache, must-revalidate'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); include("la_bdd.php"); mysql_query("UPDATE test SET timer='$_GET[timer]' WHERE session='$_GET[session]'"); ?>
donc tout ce systeme marche bien mais mysql lag de + en + fort dés qu'il y a 50 connectés .... comment il faudrait faire pour pas que sa lag ?
comment ils font les sites de pro pour pas que sa lag ?
Merci d'avance
Partager