Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1348 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Simuler un compteur d'accès simultané

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Simuler un compteur d'accès simultané

n°1399034
supermofo
Hello World !
Posté le 02-07-2006 à 23:10:28  profilanswer
 

Salut
 
 
Je cherche un moyen de limiter l'accès à un script PHP dans le temps de la manière la plus economique possible. ( niveau ressources ).
 
Script.php contient beaucoup de SQL et fait environ 700 lignes de codes php uniquement.
 
Je m'explique :  N utilisateurs arrivent à un instant T sur la page script.php.  
 
1er soucis Gerer les N utilisateurs directement ( en parcourant script.php de haut en bas ) risque de tuer le serveur
2eme soucis Les utilisateurs qui vont lancer divers client multithread qui vont certainement boucher l'accès aux ressources ( bruteforce etc ... )
 
 
 
Vos suggestions seraient vraiment tres appréciées.

mood
Publicité
Posté le 02-07-2006 à 23:10:28  profilanswer
 

n°1399114
Hermes le ​Messager
Breton Quiétiste
Posté le 03-07-2006 à 07:55:04  profilanswer
 

je pose un drapeau. [:spamafote]

n°1399118
gatsu35
Blablaté par Harko
Posté le 03-07-2006 à 08:04:09  profilanswer
 

Enregistrement de chaque connection dans une table en BDD avec un timeout, et tu fais des count et des delete dans cette table
 
tu defini toi même le nombre max de personnes qui doivent arrier sur cette page [:spamafote]
 
 
Je me trompe ou mon idée est tordue

n°1399201
guitou12
Dev php à mi-temps :D
Posté le 03-07-2006 à 10:39:45  profilanswer
 

gatsu35 a écrit :

Enregistrement de chaque connection dans une table en BDD avec un timeout, et tu fais des count et des delete dans cette table
 
tu defini toi même le nombre max de personnes qui doivent arrier sur cette page [:spamafote]
 
 
Je me trompe ou mon idée est tordue


 
Non à 1ere vue ca me semble être la solution la plus pratique.
 
Après ya ptet moyen de gérer ton serveur web pour lui interdire d'interprêter (ou d'afficher des pages) au delà d'un certain nombre de connections simultanées mais bon c'est une autre histoire.

n°1399915
Ricco
Retour au pays
Posté le 04-07-2006 à 00:11:53  profilanswer
 

Ca me parait bizarre ... 700 lignes c'est pas insurmontable non plus ...  
Y'a pas moyen d'optimiser tout ça ? Quel est la nature des traitements sql ? On doit forcement faire ces requetes à chaque visiteur, y'a pas moyen de mettre ça en bash ??


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
n°1399935
esox_ch
Posté le 04-07-2006 à 07:01:35  profilanswer
 

Ricco a écrit :

Ca me parait bizarre ... 700 lignes c'est pas insurmontable non plus ...  
Y'a pas moyen d'optimiser tout ça ? Quel est la nature des traitements sql ? On doit forcement faire ces requetes à chaque visiteur, y'a pas moyen de mettre ça en bash ??


 
+1 :heink:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1401014
supermofo
Hello World !
Posté le 05-07-2006 à 12:39:28  profilanswer
 

Ricco a écrit :

Ca me parait bizarre ... 700 lignes c'est pas insurmontable non plus ...  
Y'a pas moyen d'optimiser tout ça ? Quel est la nature des traitements sql ? On doit forcement faire ces requetes à chaque visiteur, y'a pas moyen de mettre ça en bash ??


 
J'utilise déjà la solution SQL cité par gatsu pour le compteur ( temps simultané = temps pour faire les instructions insert puis delete ).
 
Pour l'optimisation j'utilise ob ainsi que le gzip pour renvoyer la ressource. Dans ce script je n'utilise plus les fonctions, plus d'include non vitaux.
Il y a une boucle foreach et beaucoup de conditions qui dépendent de l'état du client et de sa requete.
 
Je n'arrive pas à trouver de système de cache pour les requetes mysql, est ce que ca existe ou doit on passer sous pgsql forcement ?
 
 
Par contre niveau bash code je vois pas du tout le pourquoi du comment.
 
 

n°1401026
Kyfun
Les choses se passent !
Posté le 05-07-2006 à 12:54:55  profilanswer
 

Hum ca rejoint la solution de Gatsu 35, une file d'attente semble pas mal. Chaque user ne va pas directement sur ton script.php mais y sera plutot redirigé une fois que la liste d'attente le lui permet.

n°1401050
mIRROR
Chevreuillobolchévik
Posté le 05-07-2006 à 13:14:48  profilanswer
 

pas sur mais je crois que pour le cache des requetes il faut le module mysqli
http://fr.php.net/manual/fr/ref.mysqli.php

n°1401066
supermofo
Hello World !
Posté le 05-07-2006 à 13:24:29  profilanswer
 

mysqli a l air pas mal en effet !
 
Jve voir ca de plus près.

mood
Publicité
Posté le 05-07-2006 à 13:24:29  profilanswer
 

n°1401083
Ricco
Retour au pays
Posté le 05-07-2006 à 13:35:15  profilanswer
 

Le cache, c'est surtout une option à activer dans mysql 4.? ou 5. Après c'est transparant pour le php. C'est comme le ob ou gzip, c'est fait pour soulager la bande passante mais ça augmente la charge CPU.  
 
Moi je me demandais seulement si certains traitements n'étaient pas inutiles ou pourraient être déplacé à un autre endroit du site ou à un autre moment. Si je suis complètement à l'ouest, désolé ma boule de crystal est un peu embrumée.


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
n°1401282
supermofo
Hello World !
Posté le 05-07-2006 à 17:28:21  profilanswer
 

Ricco a écrit :

Le cache, c'est surtout une option à activer dans mysql 4.? ou 5. Après c'est transparant pour le php. C'est comme le ob ou gzip, c'est fait pour soulager la bande passante mais ça augmente la charge CPU.  
 
Moi je me demandais seulement si certains traitements n'étaient pas inutiles ou pourraient être déplacé à un autre endroit du site ou à un autre moment. Si je suis complètement à l'ouest, désolé ma boule de crystal est un peu embrumée.


 
We t'es complètement à l ouest la. (Buffer != compression). Retourne à mes patates moi
 
+

n°1403257
Ricco
Retour au pays
Posté le 09-07-2006 à 15:49:20  profilanswer
 

A quoi sert le buffer sinon ?


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
n°1403263
Hermes le ​Messager
Breton Quiétiste
Posté le 09-07-2006 à 16:07:52  profilanswer
 

Ricco a écrit :

A quoi sert le buffer sinon ?


 
A bufferiser des donnée.  [:bool_de_gom]  

n°1403269
Ricco
Retour au pays
Posté le 09-07-2006 à 16:23:25  profilanswer
 

Cool  [:olimou]
 
edit :  [:antp]  Ok je m'auto-flagèle.
Ca permet de rediriger la sortie standard dans un variable par exemple au lieu de l'afficher directement.


Message édité par Ricco le 13-07-2006 à 11:55:51

---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Simuler un compteur d'accès simultané

 

Sujets relatifs
[résolu] Compteur de "place" dans classementphpmyannuaire. Le compteur de clics de fonctionne plus
Bloquer l'accès d'un répertoireLenteur Acces réseau
Accès requêtes access via VB6blocage l'accès au table dans access
[RESOLUUUU] [ACCES/SQL] ListBox à récupérer dans un ETAT selon ChoixMettre un lien avec un compteur
Compteur de clic à l'aide d'un onclick :-)Problème d'accès à une base Access via VB6 (erreur 13)
Plus de sujets relatifs à : Simuler un compteur d'accès simultané


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR