You are not logged in.
Pages: 1
Bonjour,
J'ai installé la version 0.84.5 et j'ai de grosses lenteurs (20s d'attente) sur :
- connexion (page login)
- Mes préférences --> Principal
- Tickets --> recherche d'un demandeur dans champs de recherche automatique
J'ai tracé minutieusement le déroulement du code PHP sur la requête Web "Mes préférences" et j'ai fini par mettre le doigt sur le bloc de code qui ralentit tout :
ajax/common.tabs.ph:
inc/commonglpi.class.php::displayStandardTab()
inc/user.class.php::displayTabContentForItem()
inc/user.class.php::showMyForm()
inc/commondbtm.class.php::dropdown()
inc/dropdown.class.php::show()
inc/db.function.php::countElementsInTableForEntity()
inc/db.function.php::getEntitiesRestrictRequest()
Dans la fonction getEntitiesRestrictRequest() on trouve une boucle qui traite ~130 itérations par seconde (avec la trace j'ai pu le mesurer assez précisémment)
Une itération étant constitué de la requête SQL complète (construction, envoie, execution sur xfreedb2, récupération), et d'opérations sur les tableaux (merge + unique).
C'est pas mal du tout, mais le problème c'est qu'il y a 2730 itérations... et donc il faut environ 20s pour que la boucle se termine. Le tableau contient un ensemble d'ids dont un extrait est donné ci après.
Ca te dira peut-être quelque chose
foreach ($value as $val) {
$ancestors = array_unique(array_merge(getAncestorsOf("glpi_entities", $val),
$ancestors));
}
Le tableau $value:
array (
0 => '99992911',
1 => '99992768',
2 => '0',
3 => '99993077',
4 => '99993072',
5 => '99993043',
6 => '99992921',
7 => '99993095',
8 => '99993091',
10 => '2',
11 => '99993068',
12 => '99992877',
13 => '99992876',
14 => '99992875',
15 => '501',
16 => '21',
17 => '760',
18 => '706',
19 => '99991812',
20 => '99991443',
21 => '99992658',
22 => '99992751',
23 => '99991606',
24 => '99991381',
25 => '99991987',
26 => '99992016',
27 => '99992024',
28 => '99991931',
29 => '99991945',
30 => '99991950',
31 => '99991921',
32 => '99991963',
33 => '99991917',
34 => '99991962',
35 => '99991959',
36 => '99991964',
37 => '99992028',
38 => '99991916',
39 => '99991227',
40 => '99992008',
41 => '99992846',
42 => '99992852',
43 => '99992853',
44 => '99992854',
45 => '99992855',
46 => '99992856',
47 => '99992857',
48 => '99992858',
49 => '99992859',
50 => '99992860',
51 => '99992861',
...
Pour info, j'ai 2037 entités.
Je n'arrive pas à résoudre mon problème de lenteur.
GLPI 0.84.5 (/glpi => /srv/www/htdocs/glpi)
Server
Operating system: Linux xglpi2 3.1.10-1.19-xen #1 SMP Mon Feb 25 10:32:50 UTC 2013 (f0b13a3) x86_64
PHP 5.3.8 apache2handler (Core, PDO, Reflection, SPL, SQLite, SimpleXML, apache2handler, ctype, curl, date, dom, ereg, filter,
gd, hash, iconv, json, ldap, libxml, mbstring, mhash, mysql, mysqli, mysqlnd, openssl, pcre, pdo_mysql, pdo_sqlite, session,
sqlite3, standard, tokenizer, wddx, xml, xmlreader, xmlwriter)
Setup: max_execution_time="30" memory_limit="128M" post_max_size="8M" safe_mode="" session.save_handler="files"
upload_max_filesize="8M"
Software: Apache/2.2.21 (Linux/SUSE) ()
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36
DBMS: Server Software: SUSE MySQL RPM
Server Version: 5.0.67
Parameters: david@xfreedb2.cg49.fr:3313/glpi_20140411
Host info: xfreedb2.cg49.fr via TCP/IP
/srv/www/htdocs/glpi/config : OK
/srv/www/htdocs/glpi/files : OK
/srv/www/htdocs/glpi/files/_dumps : OK
/srv/www/htdocs/glpi/files/_sessions : OK
/srv/www/htdocs/glpi/files/_cron : OK
/srv/www/htdocs/glpi/files/_cache/ : OK
/srv/www/htdocs/glpi/files/_graphs : OK
/srv/www/htdocs/glpi/files/_lock : OK
/srv/www/htdocs/glpi/files/_plugins : OK
/srv/www/htdocs/glpi/files/_tmp : OK
/srv/www/htdocs/glpi/files/_rss : OK
/srv/www/htdocs/glpi/files/_uploads : OK
/srv/www/htdocs/glpi/files/_log : OK
Libraries
htmLawed version 1.1.16 in (/srv/www/htdocs/glpi/lib/htmlawed)
phpCas version 1.3.2 in (/srv/www/htdocs/glpi/lib/phpcas)
PHPMailer version 5.2.1 in (/srv/www/htdocs/glpi/lib/phpmailer)
eZ Graph componnent installed : OK
Zend Framework version 2.0.5 in (/srv/www/htdocs/glpi/lib/Zend)
SimplePie version 1.3.1 in (/srv/www/htdocs/glpi/lib/simplepie)
Offline
Vous utilisez un système de cache php style opcache ?
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Pages: 1