As-tu pensé à afficher les temps de génération et d'exécution des requêtes ? Même en local, suivant le nombre de users inscrits, cela peut donner une indication de la charge qui sera supportée en ligne.
Hors ligne
Whiler a écrit:
Je suppose que tu n'as pas benché en tant que tel.. mais si je comprends bien, humainement, ça rame pas trop (pas plus que sans LCAS... tjr humainement parlant.. (m'en fout des ms ;o)) ?
Euh... désolé : "benché" ?? :-/ ... mince l'angoisse, est-ce que j'ai benché ou pas ?!?! :-$ ....
^^
Eric a écrit:
As-tu pensé à afficher les temps de génération et d'exécution des requêtes ? Même en local, suivant le nombre de users inscrits, cela peut donner une indication de la charge qui sera supportée en ligne.
OUI, j'y ai pensé !! (Je m'étonne moi-même.)
Après, ce que j'ai oublié, c'est de vous l'indiquer dans mon dernier post :-/ ... on ne peut pas penser à tout...
Or donc... avec $conf['show_queries'] = true , et des utilisateurs de type "test" (Test, TÉŜt 16+ ...) disséminés en début, milieu, et fin de la table users, sachant que bien sûr certains d'entre eux provoquent des conflits que LCAS doit détecter, l'affichage de la page d'admin de LCAS a pris entre plus de 4 et plus de 6 secondes (je vous mets le détail du 6 s ci-dessous). Option LCAS choisie : insensibilité à la casse, résultat assez similaire avec l'insensibilité à la casse et aux accents. ("Entre 4 et 6 s", car j'ai eu un premier résultat à 6, puis ensuite à 4, sans avoir rien changé (?!?!) ...)
Mais il faudrait tester avec un username de test plus long (TestTestTestTest). Je ferai ça dès que.
En attendant, 6 s c'est long, mais ça reste jouable.
Je suis en train de m'installer un galerie 2.2.0RC3 chez Free... mais je dois retourner bosser...
À ce soir ;-) !
[1] SET NAMES "utf8" (this query time : 0.000 s) (total SQL time : 0.000 s) (total time : 0.076 s) [2] SELECT param, value FROM pwg_config ; (this query time : 0.097 s) (total SQL time : 0.097 s) (total time : 0.173 s) (num rows : 64 ) [3] SELECT * FROM pwg_plugins WHERE state='active' (this query time : 0.027 s) (total SQL time : 0.124 s) (total time : 0.201 s) (num rows : 11 ) [4] SELECT * FROM pwg_user_infos WHERE user_id = 2; (this query time : 0.046 s) (total SQL time : 0.169 s) (total time : 0.395 s) (num rows : 1 ) [5] SELECT data FROM pwg_sessions WHERE id = '7F001vcglckalbfp33t7c15rb36802' ; (this query time : 0.036 s) (total SQL time : 0.206 s) (total time : 0.741 s) (num rows : 1 ) [6] SELECT id AS id , username AS username , password AS password , mail_address AS email FROM pwg_users WHERE id = '1' (this query time : 0.086 s) (total SQL time : 0.292 s) (total time : 0.828 s) (num rows : 1 ) [7] SELECT ui.*, uc.*, t.name AS theme_name FROM pwg_user_infos AS ui LEFT JOIN pwg_user_cache AS uc ON ui.user_id = uc.user_id LEFT JOIN pwg_themes AS t ON t.id = ui.theme WHERE ui.user_id = 1 ; (this query time : 0.117 s) (total SQL time : 0.409 s) (total time : 0.946 s) (num rows : 1 ) [8] SELECT DISTINCT u.id AS id, u.username AS username, u.mail_address AS email FROM pwg_users AS u ; (this query time : 0.007 s) (total SQL time : 0.416 s) (total time : 1.203 s) (num rows : 1911 ) [9] SELECT mail_address FROM pwg_users WHERE id = 1 ; (this query time : 0.000 s) (total SQL time : 0.416 s) (total time : 6.009 s) (num rows : 1 ) Propulsé par Piwigo 2.2.0RC3 | Documentation | Support Page fabriquée en 6.009 s (9 requêtes SQL en 0.416 s)
Hors ligne
Oui.. tu as benché ;o)) ou benchmarké, ou "affiché les temps de génération et d'exécution des requêtes"
Par rapport à la page générée en 6s.... sans LCAS.. elle est générée en combien de temps...
(sans aller trop loin.. il faudrait le jouer au moins 3 fois avec ET sans LCAS.. . pour avoir une moyenne...)
J'pense pas que LCAS alourdisse tant que ça... ?
Hors ligne
6 secondes pour un traitement sur 4000 users, je m'attendais à plus. C'est déjà un bon point sachant qu'il s'agit de la page d'admin, logiquement celle qui est sensés générer le plus de traitement avec la détection des conflits.
Une moyenne, oui. Et quid lorsque l'admin effectue des opérations de renommage de users ? Lorsqu'un user s'inscrit ?
Faut voir aussi dans "les conditions du direct" sur un vrai hébergeur...
Hors ligne
Whiler a écrit:
Oui.. tu as benché ;o)) ou benchmarké, ou "affiché les temps de génération et d'exécution des requêtes"
Ah ! Merci ! :-)
Whiler a écrit:
Par rapport à la page générée en 6s.... sans LCAS.. elle est générée en combien de temps...
(sans aller trop loin.. il faudrait le jouer au moins 3 fois avec ET sans LCAS.. . pour avoir une moyenne...)
C'est un test difficile, la page d'admin de LCAS sans LCAS :-/ ...
^^
Mais sinon si tu voulais dire la page d'admin de LCAS sans insensibilité (option 0), c'est 0.45 s.
Eric a écrit:
6 secondes pour un traitement sur 4000 users, je m'attendais à plus.
Holà,"seulement" 2000 users, pour le coup.
Et puis, juste là, il m'a fait 9.5 s.
Eric a écrit:
C'est déjà un bon point sachant qu'il s'agit de la page d'admin, logiquement celle qui est sensés générer le plus de traitement avec la détection des conflits.
Oui, c'est pour ça que j'ai testé sur celle-là.
Eric a écrit:
Et quid lorsque l'admin effectue des opérations de renommage de users ?
Ça j'ai pas encore essayé.
Eric a écrit:
Lorsqu'un user s'inscrit ?
1.15 s.
Eric a écrit:
Faut voir aussi dans "les conditions du direct" sur un vrai hébergeur...
Je m'y emploie :-) !
(À bas prix :-| ...)
Hors ligne
Bon, pasdbol pour un test chez Free :-/ .
J'ai exécuté le petit script tout simple, recopié ci-dessous, pour ajouter 2000 utilisateurs à la galerie (aucun problème avec ce script sur une galerie en local), et :
_ au bout de 30 secondes, j'ai obtenu "500 erreur interne du serveur" ; je m'y attendais un peu quand même, jusque là j'étais pas surpris ;
_ je retourne voir dans l'admin s'il y a tout de même eu des utilisateurs d'ajoutés : oui da, plus de 4000 ;
_ je rafraîchis la page : plus de 6000 !
_ je rafraîchis à nouveau : plus de 8000 ! J'ai donc l'impression que le script continue à tourner : par FTP, je supprime le fichier en question ;
_ nouveau rafraîchissement de la première page d'admin, où sont notés le nombre d'utilisateurs (le nombre étant confirmé à chaque fois par phpMyAdmin) : genre 16000...
Le script "continue de tourner" apparemment jusqu'à 32767 entrées dans la table <pwg_>users . Si quelqu'un peut m'expliquer, je suis preneur !
Bref, pour le moment je n'ai pas pu tester LCAS sur 2000 utilisateurs sur un "vrai" site, quoi. De plus je suis de retour à l'hôtel ce soir et demain, je n'ai donc pas d'accès FTP.
Mais bon, on verra ce week-end...
Le script, donc :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="fr" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Rajout de plein d'utilisateurs</title> </head> <body> <h2>Rajout de plein d'utilisateurs</h2> <p> <?php define('PHPWG_ROOT_PATH','./'); include_once( PHPWG_ROOT_PATH.'include/common.inc.php' ); $end_time = time() + 25; $j = 0; while (time() < $end_time or $j > 2000) { $l = mt_rand(3, 15); $login = ''; $errors = array(); for ($i = 1; $i < $l; $i++) { $login .= chr(mt_rand(32, 126)); } $errors = register_user(addslashes($login), '1234', '', false, $errors); if (count($errors) == 0) $j++; } echo($j . ' utilisateurs ajoutés.<br>'); ?> </p> </body> </html>
Hors ligne
Bonsoir, je suis désolé de vous interrompre mais j'ai atterri sur ce sujet car adult_content y était mentionné. En fait le problème et que ce post atteint les 60 pages et quand j'ai voulu comprendre ce qu'y se passait -bien mal m'en a pris- je suis allé me coucher un instant... j'ai l'impression que votre discussion n'a aucun rapport avec le sujet initial et a soulevé d'autres problèmes, que certains -dont moi- seraient prêts à aider à résoudre, mais étant donné la proportion de ce post, cela est difficile. Si vous avez des problème spécifiques n'hésitez pas à créer un nouveaux fil de discussion pour accroitre vos chances.
Bonne nuit
Hors ligne
flop25 a écrit:
Bonsoir, je suis désolé de vous interrompre mais j'ai atterri sur ce sujet car adult_content y était mentionné. En fait le problème et que ce post atteint les 60 pages et quand j'ai voulu comprendre ce qu'y se passait -bien mal m'en a pris- je suis allé me coucher un instant... j'ai l'impression que votre discussion n'a aucun rapport avec le sujet initial et a soulevé d'autres problèmes, que certains -dont moi- seraient prêts à aider à résoudre, mais étant donné la proportion de ce post, cela est difficile. Si vous avez des problème spécifiques n'hésitez pas à créer un nouveaux fil de discussion pour accroitre vos chances.
Bonne nuit
Salut,
Si j'ai bien suivi, adult_content génère des utilisateurs dans la base de données en ajoutant un 18+ ou un truc du genre...
LCAS a pour but de permettre de s'authentifier/s'enregistrer sur une galerie sans tenir compte de la casse/accent....
Pour cela, une méthode du plugin LCAS génère une forme sans accent/majuscule en fonction des options choisies...
Or cette méthode contenait un bug : tous les caractères n'étaient pas transformés et surtout perdus... dont les numériques, le +, (en bref, tout ce qui n'était pas une lettre d'un alphabet)... du coup, adult_content a permis de découvrir le bug...
Voilà le résumé court (mais quand même assez exhaustif ;o))
Hors ligne
flop25 a écrit:
En fait le problème et que ce post atteint les 60 pages et quand j'ai voulu comprendre ce qu'y se passait -bien mal m'en a pris- je suis allé me coucher un instant...
C'est vrai qu'on a un peu abusé...
Mais je crois qu'un élément d'explication est le fait que ce plugin est écrit à six mains, dont au moins deux (les miennes) ne sont pas expertes du tout dans ce genre d'exercice. De fait, on parle beaucoup.
flop25 a écrit:
j'ai l'impression que votre discussion n'a aucun rapport avec le sujet initial et a soulevé d'autres problèmes, que certains -dont moi- seraient prêts à aider à résoudre, mais étant donné la proportion de ce post, cela est difficile. Si vous avez des problème spécifiques n'hésitez pas à créer un nouveaux fil de discussion pour accroitre vos chances.
Je pense qu'on ne peut pas vraiment dire que la discussion actuelle n'a vraiment aucun rapport avec le fil, car le fil est sur LCAS en général. De plus, Whiler Éric et moi avons bien le fil en tête, on a en ce moment deux discussions, à savoir la compatibilité avec Adult_content et le comportement de LCAS sur des galeries avec beaucoup d'utilisateurs inscrits.
Mais il est clair que c'est assez complètement hermétique à toute lecture extérieure :-/ ... tu as donc tout-à-fait raison flop25 de nous rappeler à l'ordre ; de fait : [Forum, topic 19666] [Résolu] [LCAS] Compatibilité avec extension 141 Adult_content :-) .
Whiler a écrit:
Salut,
Si j'ai bien suivi, adult_content génère des utilisateurs dans la base de données en ajoutant un 18+ ou un truc du genre...
LCAS a pour but de permettre de s'authentifier/s'enregistrer sur une galerie sans tenir compte de la casse/accent....
Pour cela, une méthode du plugin LCAS génère une forme sans accent/majuscule en fonction des options choisies...
Or cette méthode contenait un bug : tous les caractères n'étaient pas transformés et surtout perdus... dont les numériques, le +, (en bref, tout ce qui n'était pas une lettre d'un alphabet)... du coup, adult_content a permis de découvrir le bug...
Voilà le résumé court (mais quand même assez exhaustif ;o))
!
Euh... si j'ai bien suivi les récentes discussions... par ailleurs très claires et que nous avons parfaitement en tête :-D ... le nœud de LCAS fonctionne avec tous les caractères... mais par contre on a apparemment un problème avec Adult_content à son activation, lorsque LCAS est actif (voir [Forum, post 163480 by LucMorizur in topic 19666] [Résolu] [LCAS] Compatibilité avec extension 141 Adult_content ;-) ).
Hors ligne
Whiler a écrit:
Si tu ne fais pas de boucle....
Comment je peux rajouter des utilisateurs à la pelle sans boucle ?? Remarque, en copiant le code une centaine de fois... ça peut peut-être se faire...
Whiler a écrit:
et que tu printes (du verbe printer.. même groupe que bencher :o)) count($errors)...
Ah oui ce verbe-là je connaissais ;-) !
Whiler a écrit:
Perso, j''essayerai le même script mais sans ce if...
if (count($errors) == 0) $j++;
Mmm'ouais.... je vais voir ça ce soir. Ah ben non pas ce soir, demain soir.
Merci pour les idées en tous cas. Ça doit quand même pas être trop compliqué de rajouter 2000 utilisateurs aléatoires à une galerie.
Hors ligne
LucMorizur a écrit:
Whiler a écrit:
Si tu ne fais pas de boucle....
Comment je peux rajouter des utilisateurs à la pelle sans boucle ?? Remarque, en copiant le code une centaine de fois... ça peut peut-être se faire...
Ça ne se fera pas... c'est juste pour tester.. d'où le print ;o) c'est juste pour checker la valeur retournée ;o)
Si ça crache 0, essaye avec cette condition : if (count($errors) < 1) $j++;
LucMorizur a écrit:
Whiler a écrit:
et que tu printes (du verbe printer.. même groupe que bencher :o)) count($errors)...
Ah oui ce verbe-là je connaissais ;-) !
;o)
(checker, c'est bon, où je dois écrire vérifier ;o) bon j'essaye d'arrêter les dérapage)
LucMorizur a écrit:
Whiler a écrit:
Perso, j''essayerai le même script mais sans ce if...
if (count($errors) == 0) $j++;Mmm'ouais.... je vais voir ça ce soir. Ah ben non pas ce soir, demain soir.
Merci pour les idées en tous cas. Ça doit quand même pas être trop compliqué de rajouter 2000 utilisateurs aléatoires à une galerie.
Non.. tu vas réussir ;o)
Hors ligne
LucMorizur a écrit:
Euh... si j'ai bien suivi les récentes discussions... par ailleurs très claires et que nous avons parfaitement en tête :-D ... le nœud de LCAS fonctionne avec tous les caractères... mais par contre on a apparemment un problème avec Adult_content à son activation, lorsque LCAS est actif (voir [Forum, post 163480 by LucMorizur in topic 19666] [Résolu] [LCAS] Compatibilité avec extension 141 Adult_content ;-) ).
Ah... ok... donc... j'avais mal compris ;o)) comme quoi, ça a du bon de refaire une synthèse de temps en temps ;o)
Donc, ça ne marche pas parce que l'autre plugin faisant un accès direct, il shunte les méthodes d'authentifications/enregistrements classiques et du coup, notre code n'est pas appelé...
et donc, c'est un super cas particulier... du genre :
Béatrice et beatrice18+ existent...
Ou j'ai encore pas compris le vrai problème ? :o/
Hors ligne
LucMorizur a écrit:
flop25 a écrit:
En fait le problème et que ce post atteint les 60 pages et quand j'ai voulu comprendre ce qu'y se passait -bien mal m'en a pris- je suis allé me coucher un instant...
C'est vrai qu'on a un peu abusé...
Mais je crois qu'un élément d'explication est le fait que ce plugin est écrit à six mains, dont au moins deux (les miennes) ne sont pas expertes du tout dans ce genre d'exercice. De fait, on parle beaucoup.
Personnellement, je considère ce présent topic comme un canal de discussion entre les développeurs du futur plugin LCAS pour la phase de développement. Il n'a pas vocation à perdurer et je pense que lorsque LCAS sera mure et publié, on pourra demander à fermer purement et simplement ce topic. On ouvrirait alors un nouveau topic dédié cette fois au suivi des bugs et évolutions.
Hors ligne