You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2012-04-18 15:58:01

Damamme
Member
From: Colombes
Registered: 2006-02-02
Posts: 276

Lenteur ouverture : Administration / Utilisateur

Bonjour,

Nous avons mis à jour la Version de GLPI pour être maintenant en 0.83.
Depuis, nous avons une grosse lenteur sur l'utilisation du menu Administration / Utilisateur.
Lors du clique sur le menu, nous pouvons attendre jusqu'à 4-5 minutes.

Quelqu'un a-t-il ce problème ?

Nous sommes avec l'authentification LDAP et 1800 users actifs.

Glpi'Bien

Utilisation de GLPI 0.83 et d'OCS

Offline

#2 2012-04-18 16:25:39

MoYo
GLPI - Lead
From: Poitiers
Registered: 2004-09-13
Posts: 14,513
Website

Re: Lenteur ouverture : Administration / Utilisateur

Essayer de supprimer des colonnes affichées qui pourraient ralentir l'affichage.
En mode debug donnez nous la requete de recherche générée pour voir ou cela peut bloquer.


MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI :    Support     Contribute     References     Freshmeat

Offline

#3 2012-04-18 16:59:20

Damamme
Member
From: Colombes
Registered: 2006-02-02
Posts: 276

Re: Lenteur ouverture : Administration / Utilisateur

Effectivement, j'avais testé en supprimant des colonnes.... aucun problème de lenteur.

Je refait un test avec l'ensemble de mes colonnes et transmet la requête.

Offline

#4 2012-04-18 17:13:24

Damamme
Member
From: Colombes
Registered: 2006-02-02
Posts: 276

Re: Lenteur ouverture : Administration / Utilisateur

Ok - C'est la colonne "Nombre de ticket - Demandeur" qui ralentit l'affichage des utilisateurs.

Bon, j'aurais du faire plus de test.... mais bon....

Je pense que la requête doit être trop longue pour calculer le nombre de ticket par user sachant que j'ai environ 1800 users actifs.

Offline

#5 2013-04-12 09:55:30

julienbdx
Member
From: Bordeaux
Registered: 2012-09-05
Posts: 23

Re: Lenteur ouverture : Administration / Utilisateur

Bonjour,

j'ai le même problème avec la version 0.83.7. J'ai 77000 utilisateurs, nombre d'ID environ de 244000, et je constate un ralentissement de 300s pour afficher la page utilisateur.

J'ai supprimé les colonnes, et toujours pas d'amélioration. Avez-vous une idée?

Cordialement
Julien

Offline

#6 2013-04-12 10:02:13

ddurieux
Plugins Dev
From: Propières, France
Registered: 2005-06-17
Posts: 7,521

Re: Lenteur ouverture : Administration / Utilisateur

pass en mode debug, ca permettra de voir déjà si ça vient d'une requête sql vu qu'il affiche les temps

Offline

#7 2013-04-12 10:32:29

julienbdx
Member
From: Bordeaux
Registered: 2012-09-05
Posts: 23

Re: Lenteur ouverture : Administration / Utilisateur

SELECT 'julien' AS currentuser, GROUP_CONCAT(DISTINCT CONCAT(`glpi_users`.`name`, '$$' , `glpi_users`.`id`) SEPARATOR '$$$$') AS ITEM_0, GROUP_CONCAT(`glpi_complete_entities_entities_id_69a91398655a63f4c04eb186c99faef6`.`completename` SEPARATOR '$$$$') AS ITEM_1, GROUP_CONCAT(`glpi_profiles_users`.`profiles_id` SEPARATOR '$$$$') AS ITEM_1_2, GROUP_CONCAT(`glpi_profiles_users`.`is_recursive` SEPARATOR '$$$$') AS ITEM_1_3,`glpi_users`.`realname` AS ITEM_2, `glpi_users`.`phone` AS ITEM_3, `glpi_locations`.`completename` AS ITEM_4, `glpi_users`.`id` AS id
FROM `glpi_users`
LEFT JOIN `glpi_profiles_users` ON (`glpi_users`.`id` = `glpi_profiles_users`.`users_id` )
LEFT JOIN (SELECT `id`, `name`, `entities_id`, `completename`, `comment`, `level`
FROM `glpi_entities`
UNION
SELECT 0 AS id, 'Entité racine' AS name, -1 AS entities_id, 'Entité racine' AS completename, '' AS comment, -1 AS level) AS glpi_complete_entities_entities_id_69a91398655a63f4c04eb186c99faef6 ON (`glpi_profiles_users`.`entities_id` = `glpi_complete_entities_entities_id_69a91398655a63f4c04eb186c99faef6`.`id`)
LEFT JOIN `glpi_locations` ON (`glpi_users`.`locations_id` = `glpi_locations`.`id` )
WHERE `glpi_users`.`is_deleted` = '0' GROUP BY `glpi_users`.`id`
ORDER BY `glpi_users`.`name` ASC LIMIT 0, 25

Le temps d'éxécution est de 194.965 secondes.

Avez-vous une idée?
Merci d'avance.
Julien

Last edited by julienbdx (2013-04-12 10:52:48)

Offline

#8 2013-04-12 10:58:27

ddurieux
Plugins Dev
From: Propières, France
Registered: 2005-06-17
Posts: 7,521

Re: Lenteur ouverture : Administration / Utilisateur

C'est étonnant, j'ai des temps de réponse de 0.08 secondes.

Vous avez quelle version de MySQL?

Offline

#9 2013-04-12 11:06:53

julienbdx
Member
From: Bordeaux
Registered: 2012-09-05
Posts: 23

Re: Lenteur ouverture : Administration / Utilisateur

J'ai la version : mysql  Ver 14.14 Distrib 5.1.52, for redhat-linux-gnu (x86_64) using readline 5.1

Lorsque j'enleve une colonne au hazard dans la partie Utilisateur, ça fonctionne à 0.082s. Je ferme la session, et la réouvre, et ca ne fonctionne plus 195s...
J'ai enlevé toutes les colonnes (sauf Entité (- Profils) et identifiant), même problème.

Offline

#10 2013-04-12 11:13:19

ddurieux
Plugins Dev
From: Propières, France
Registered: 2005-06-17
Posts: 7,521

Re: Lenteur ouverture : Administration / Utilisateur

si tu refait la me recherche c'est normal, MySQL a un cache.

Les versions plus récentes de MySQL ont pas mal d'optimisation (version 5.5.x)

Tu pourrais tester ça sur un autre serveur qui aurait MySQL5.5 ?

Offline

#11 2013-04-15 15:54:02

julienbdx
Member
From: Bordeaux
Registered: 2012-09-05
Posts: 23

Re: Lenteur ouverture : Administration / Utilisateur

La version de Mysql 5.5 ne change rien sur un autre serveur. J'ai toujours les ralentissements lorsque j'affiche les utilisateurs.

Merci pour votre aide.

Offline

#12 2013-04-18 14:51:35

julienbdx
Member
From: Bordeaux
Registered: 2012-09-05
Posts: 23

Re: Lenteur ouverture : Administration / Utilisateur

Bonjour,

J'ai toujours le même problème, par contre ca fonctionne de « temps en temps » quand on ne sélectionne pas « Eléments visualisés » et « Tous ».

Avez-vous une idée?
Julien

Offline

#13 2013-04-18 16:05:49

ddurieux
Plugins Dev
From: Propières, France
Registered: 2005-06-17
Posts: 7,521

Re: Lenteur ouverture : Administration / Utilisateur

Ben là comme ça, ça devient difficile d'aider plus hmm

Offline

#14 2013-04-23 08:59:52

julienbdx
Member
From: Bordeaux
Registered: 2012-09-05
Posts: 23

Re: Lenteur ouverture : Administration / Utilisateur

Je reviens vers vous, car nous avons quelques pistes, ça viendrait d'une part de la requête :

En supprimant :

GROUP_CONCAT(`glpi_complete_entities_entities_id_69a91398655a63f4c04eb186c99faef6`.`completename` SEPARATOR '$$$$') AS ITEM_1,

et du FROM

--                LEFT JOIN (SELECT `id`, `name`, `entities_id`, `completename`, `comment`, `level`
--                                                                              FROM `glpi_entities`
--                                                                               UNION
--                                                                              SELECT 0 AS id, 'Entite racine' AS name,
--                                                                                                             -1 AS entities_id, 'Entite racine' AS completename,
--                                                                                                             '' AS comment, -1 AS level)  AS glpi_complete_entities_entities_id_69a91398655a63f4c04eb186c99faef6
--                               ON (`glpi_profiles_users`.`entities_id` = `glpi_complete_entities_entities_id_69a91398655a63f4c04eb186c99faef6`.`id`) 

je suis à 6-7 sec, au lieu de 200 sec.

Lorsque j'ai 70000 utilisateurs sans les entitées ca fonctionne très bien. Lorsque j'importe 3000 entitées, les requêtes sont vraiment très longue, lorsque je veux afficher la page "user.php".
D'après un de mes collègue qui travail sur ce problème, ca viendrait de l'UNION entre l'entité "glpi_entities" et le SELECT (statique) 0 AS id, '....' de cette requete.

Peux-être y a t-il des améliorations à faire pour les prochaines versions? smile

Offline

#15 2013-04-23 09:05:59

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Lenteur ouverture : Administration / Utilisateur

Patch welcome.


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

#16 2013-04-23 11:09:28

julienbdx
Member
From: Bordeaux
Registered: 2012-09-05
Posts: 23

Re: Lenteur ouverture : Administration / Utilisateur

What else... mais quand? et ou?

Merci encore pour votre aide messieurs.

Julien

Offline

#17 2013-05-12 11:16:56

julienbdx
Member
From: Bordeaux
Registered: 2012-09-05
Posts: 23

Re: Lenteur ouverture : Administration / Utilisateur

Bonjour,

Que dois-je comprendre dans 'Patch Welcome'?

Cordialement
JD.

Offline

#18 2013-05-24 15:59:13

OSS-SOS
Member
From: PARIS
Registered: 2013-05-16
Posts: 10

Re: Lenteur ouverture : Administration / Utilisateur

Bonjour,


  L'anomalie provient bien de cette requête SQL qui met du temps à s'exécuter.
  Nous avons réalisé le patch ci-dessous qui dés-imbrique la table `glpi_entities`.
  La durée d'exécution de la requête est nettement réduite.


Cordialement,


--- /usr/local/src/glpi/inc/search.class.php    2012-12-04 16:21:43.000000000 +0100
+++ inc/search.class.php    2013-05-16 00:31:24.144744747 +0200
@@ -2069,6 +2069,8 @@
    **/
    static function addSelect($itemtype, $ID, $num, $meta=0, $meta_type=0) {
 
+      global $LANG;
+
       $searchopt   = &self::getOptions($itemtype);
       $table       = $searchopt[$ID]["table"];
       $field       = $searchopt[$ID]["field"];
@@ -2251,7 +2253,7 @@
 
          case "glpi_complete_entities.completename" :
             if ($itemtype == 'User' && $ID == 80) {
-               return " GROUP_CONCAT(`$table$addtable`.`completename` SEPARATOR '$$$$')
+               return " GROUP_CONCAT(IFNULL(`$table$addtable`.`completename`,'".addslashes($LANG['entity'][2])."') SEPARATOR '$$$$')
                            AS ".$NAME."_$num,
                         GROUP_CONCAT(`glpi_profiles_users`.`profiles_id` SEPARATOR '$$$$')
                            AS ".$NAME."_".$num."_2,
@@ -3373,18 +3375,7 @@
                case "glpi_complete_entities" :
                   array_push($already_link_tables, "glpi_complete_entities");
       //            $AS = "AS $new_table";
-                  $specific_leftjoin =  " LEFT JOIN (SELECT `id`, `name`, `entities_id`,
-                                                            `completename`, `comment`, `level`
-                                                     FROM `glpi_entities`
-                                                     UNION
-                                                     SELECT 0 AS id,
-                                                            '".addslashes($LANG['entity'][2])."'
-                                                               AS name,
-                                                            -1 AS entities_id,
-                                                            '".addslashes($LANG['entity'][2])."'
-                                                               AS completename,
-                                                            '' AS comment, -1 AS level) $AS
-                                                ON (`$rt`.`$linkfield` = `$nt`.`id`) ";
+                  $specific_leftjoin = " LEFT JOIN `glpi_entities` $AS ON ( `$rt`.`$linkfield` = `$nt`.`id`) " ;
                   break;
             }
          }

Offline

Board footer

Powered by FluxBB