•  » Plugins
  •  » Insensible à la casse...

#331 2011-03-08 03:11:30

Whiler
Membre
Clichy
2004-12-24
189

Re: Insensible à la casse...

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)) ?

Hors ligne

#332 2011-03-08 12:50:24

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: Insensible à la casse...

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

#333 2011-03-08 13:50:24

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1969

Re: Insensible à la casse...

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 ;-) !

Code:

[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

#334 2011-03-08 14:54:45

Whiler
Membre
Clichy
2004-12-24
189

Re: Insensible à la casse...

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

#335 2011-03-08 17:55:28

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: Insensible à la casse...

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

#336 2011-03-08 22:30:22

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1969

Re: Insensible à la casse...

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

#337 2011-03-09 20:56:15

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1969

Re: Insensible à la casse...

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 :

Code:

<!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

#338 2011-03-10 00:45:48

Whiler
Membre
Clichy
2004-12-24
189

Re: Insensible à la casse...

Si tu ne fais pas de boucle.... et que tu printes (du verbe printer.. même groupe que bencher :o)) count($errors)...

Perso, j''essayerai le même script mais sans ce if...

if (count($errors) == 0) $j++;

Hors ligne

#339 2011-03-10 02:15:18

flop25
Équipe Piwigo
2006-07-06
6544

Re: Insensible à la casse...

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

#340 2011-03-10 02:23:32

Whiler
Membre
Clichy
2004-12-24
189

Re: Insensible à la casse...

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

#341 2011-03-10 09:21:17

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1969

Re: Insensible à la casse...

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

#342 2011-03-10 09:26:13

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1969

Re: Insensible à la casse...

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

#343 2011-03-10 09:56:39

Whiler
Membre
Clichy
2004-12-24
189

Re: Insensible à la casse...

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

#344 2011-03-10 10:01:11

Whiler
Membre
Clichy
2004-12-24
189

Re: Insensible à la casse...

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

#345 2011-03-10 17:33:05

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: Insensible à la casse...

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

  •  » Plugins
  •  » Insensible à la casse...

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact