|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : décembre 2003 Messages : 167 ![]() |
Bonjour à tous,
J'ai pas mal cherché sur le forum et sur le site mais je n'ai pas trouvé de solution à ma problématique. Je dois réaliser une multitude de statistiques pour un site (que je n'ai pas encore commencé a coder). Le but est de conserver un historique de 3 ans sur l'ensemble des actions d'un visiteur par session sur le site. Ex, clic sur tel ou tel lien, utilisation de la fonction recherche, nombre de documents consultés etc ... En gros je dois enregistrer le comportement de l'internaute pendant toute sa visite. Je me demande comment gérer ces stats ? Surtout si le site est énormément visité. Je voulais partir sur l'idée de stocker dans des tables les infos a chaque fois qu'une action (qui m'intéresse pour les stats) est effectuée. Maintenant vu le volume de données j'ai peur que l'exploitation des données soit difficiles (problème mineur) ou que le fait charger le code avec des requêtes pour enregistrer les actions ralentisse considérablement la navigation ... Qu'en pensez vous ? Avez vous une idée ? Un retour d'expérience ? Merci de vos conseils. Nico
__________________
Ce n'est pas parce qu'ils sont beaucoup a avoir tort qu'ils ont raison. |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Étudiant Inscription : mars 2006 Messages : 175 ![]() |
alors, j'ai deja du faire face a un probleme similaire.
a l'epoque la meilleure solution que j'ai trouvé est avec les sessions en gros d'une part tu stockes les actions que tu veux garder dans des tableaux que tu met en session (toujours en ajout et pas en ecrasement). a la premiere page tu set le temps unix dans une variable (toujours en session) pour les autres requettes tu compare le temps stocke et le temps actuel, si il depasse disont 1 minute, tu fais ta requete dans la base, tu vides la variable et tu reset le temps en session. avantage : ca reduit enormement le nombre de requete sql inconvenient : tu risques de perdre la derniere minute de donnée (ce qui peut etre embettant sur un site de commerce par exemple :p) autre solution c'est au lieu d'utiliser un timer c'est lance les requetes sur certaines requetes (tu stockes les données su toutes les requetes) compromis entre requete a chaque coup et timer sinon si toutes les données sont importante, tu n'aura pas le choix que de faire des requetes pour chaque action.
__________________
42 there is no place like 127.0.0.1 Mangez des http://www.smarty.net avec vos PHP web s'il vous plait var_dump retourne les informations structurées d'une variable, y compris son type et sa valeur. Les tableaux et les objets sont explorés récursivement, avec des indentations, pour mettre en valeur leur structure. |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : décembre 2003 Messages : 167 ![]() |
Intéressant !
Maintenant comme tu le dis, dans le cas numéro je risque de louper la dernière minute d'action (Je ne peux pas prendre ce rique) , dans le cas numéro 2 je risque de passer a coté de certaines requêtes. Mais si la solution 2 est bien pensée ça peut être une solution alternative ! Merci de ton aide.
__________________
Ce n'est pas parce qu'ils sont beaucoup a avoir tort qu'ils ont raison. |
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() |
Salut!
Je me permet une idée: si tu penses intégrer de l'ajax, tu peux balancer la requête en ajax après le chargement de la page: ca ne résoud pas certains trucs mais ca a le mérite de ne pas ralentir la navigation... Raf
__________________
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???" |
|
00
|
|
|
#5 |
|
Membre du Club
![]() Didier UngarDéveloppeur Web Inscription : mars 2006 Messages : 115 ![]() |
Personnelement je fonctionne différament.
en faite j'ai eu 2 cas , l'un ou je chercher a connaitre mes pages les plus utilisé , et la j'ai simplement incrementer un compteur par Heure , à la fin je faisai des SUM en MySql. 2eme cas je cherché a connaitre les thermes les plus fréquent des recherches de mes utilisateurs. Et la je diviser en 2 temps , mes utilisateurs passe surtout entre 6H et 3H du mat. ( oui je sais , ils sont tardif ) le gros des requêtes lourd de mes utilisateurs est entre 5H et et 8H ( en début de soiré ) J'ai donc stoquez les requêtes dans une zone temps. et vers 5 H du mat ou peut de monde vient me voir j'ai le planifieur de tache qui ouvre FireFox avec une page admin. Cette page coupe les requêtes et somme le nombre d'utilisation de chaque mot. ensuite elle diminue les thermes non utilisé dans la journée, et ajoute les somme calculer. ce qui me permet de connaitre les thermes les plus utilisé pour optimiser mes requêtes. |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : décembre 2003 Messages : 167 ![]() |
Merci de vos réponses.
Je ne pense pas intégrer d'ajax mais la solution était interessante, pour les autres idées je vais creuser ! Encore merci !
__________________
Ce n'est pas parce qu'ils sont beaucoup a avoir tort qu'ils ont raison. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com