You are not logged in.
Pages: 1
Bonjour
Suite migration de la 9.2 en 9.4.1.1 GLPI est devenu extrêmement lent ce qui le rend totalement inexploitable
Auparavant tout était très fonctionnel et rien n'a été fait hormis la mise a jour et celle des plugins
A noter que si on retire Fusion cela améliore les choses mais ca reste très difficile de travailler au dela de 5 personnes simultanées
GLPI tourne sur un MariaDB (ras coté BDD qui est a peine a 1% d'utilisation coté CPU et 5% coté mémoire)
Coté IIS quand je regarde les logs de GLPI je me retrouve noyé sous les erreurs (fichiers log qui atteint 2 Go en une journée...)
A noter que j'ai déjà désactivé tous les plugins, je les ai supprimés, réinstallés et c'est pareil
Idem pour les fichiers de GLPI (ou j'ai fait une réinstall)
J'ai tenté 2 upgrades et toujours le même résultat
Les erreurs récurrentes sont (php-error-log):
[2019-03-22 09:01:00] glpiphplog.ERROR: Toolbox::userErrorHandlerNormal() in D:\Sites\glpi\inc\toolbox.class.php line 659
*** PHP Notice(8): Undefined index: SCRIPT_FILENAME
Backtrace :
inc\autoload.function.php:58
inc\includes.php:149 isAPI()
front\cron.php:38 include()
[2019-03-22 09:05:06] glpiphplog.ERROR: Toolbox::userErrorHandlerNormal() in D:\Sites\glpi\inc\toolbox.class.php line 659
*** PHP Warning(2): in_array() expects parameter 2 to be array, null given
Backtrace :
:
inc\plugin.class.php:1720 in_array()
inc\plugin.class.php:1083 Plugin::isPluginLoaded()
inc\includes.php:106 Plugin::doHook()
ajax\common.tabs.php:33 include()
[2019-03-22 23:36:30] glpiphplog.ERROR: Toolbox::userErrorHandlerNormal() in D:\Sites\glpi\inc\toolbox.class.php line 659
*** PHP Warning(2): Invalid argument supplied for foreach()
Backtrace :
inc\plugin.class.php:1241
inc\search.class.php:6664 Plugin::getAddSearchOptions()
inc\log.class.php:119 Search::getOptions()
inc\commondbtm.class.php:632 Log::constructHistory()
inc\commondbtm.class.php:1446 CommonDBTM->updateInDB()
plugins\fusioninventory\inc\agent.class.php:973 CommonDBTM->update()
...fusioninventory\inc\communication.class.php:210 PluginFusioninventoryAgent->setAgentVersions()
...fusioninventory\inc\communication.class.php:461 PluginFusioninventoryCommunication->import()
plugins\fusioninventory\front\communication.php:93 PluginFusioninventoryCommunication->handleOCSCommunication()
plugins\fusioninventory\index.php:59 include_once()
Coté plugin Fusion :
[2019-03-22 23:39:01] glpiphplog.ERROR: Toolbox::userErrorHandlerNormal() in D:\Sites\glpi\inc\toolbox.class.php line 659
*** PHP Notice(8): Use of undefined constant PLUGIN_FUSIONINVENTORY_VERSION - assumed 'PLUGIN_FUSIONINVENTORY_VERSION'
Backtrace :
inc\toolbox.class.php:676
plugins\fusioninventory\front\communication.php:73 Toolbox::userErrorHandlerDebug()
plugins\fusioninventory\index.php:59 include_once()
Et dans le sql error log
*** MySQL query error:
SQL: INSERT INTO `glpi_items_operatingsystems` (`itemtype`, `items_id`, `operatingsystemarchitectures_id`, `operatingsystemkernelversions_id`, `operatingsystems_id`, `operatingsystemversions_id`, `operatingsystemservicepacks_id`, `operatingsystemeditions_id`, `licenseid`, `license_number`, `is_dynamic`, `entities_id`, `is_recursive`, `date_creation`, `date_mod`) VALUES ('Computer', '4376', '1', '2310', '30', '27', '0', '2', '00252-60273-03099-AA077', '', '1', '0', '0', '2019-03-22 23:33:53', '2019-03-22 23:33:53')
Error: Duplicate entry '4376-Computer-30-1' for key 'unicity'
Backtrace :
inc\dbmysql.class.php:821
inc\commondbtm.class.php:658 DBmysql->insert()
inc\commondbtm.class.php:1140 CommonDBTM->addToDB()
...nventory\inc\inventorycomputerlib.class.php:186 CommonDBTM->add()
...ry\inc\inventorycomputerinventory.class.php:537 PluginFusioninventoryInventoryComputerLib->updateComputer()
...inventory\inc\inventoryruleimport.class.php:769 PluginFusioninventoryInventoryComputerInventory->rulepassed()
inc\rule.class.php:1432 PluginFusioninventoryInventoryRuleImport->executeActions()
inc\rulecollection.class.php:1539 Rule->process()
...ry\inc\inventorycomputerinventory.class.php:337 RuleCollection->processAllRules()
...ry\inc\inventorycomputerinventory.class.php:102 PluginFusioninventoryInventoryComputerInventory->sendCriteria()
...fusioninventory\inc\communication.class.php:229 PluginFusioninventoryInventoryComputerInventory->import()
...fusioninventory\inc\communication.class.php:461 PluginFusioninventoryCommunication->import()
plugins\fusioninventory\front\communication.php:93 PluginFusioninventoryCommunication->handleOCSCommunication()
plugins\fusioninventory\index.php:59 include_once()
Aucun message d'erreur durant la migration
Si vous avez une piste je suis preneur
Bonne soirée
GLPI 9.4.1.1 - FusionInventory 9.4.0+1.0 / Windows 2012R2 / PHP 7.1.7 x64 / IIS 7.5 / MariaDB 10.1.26
Offline
Bonjour
Nouvelle tentative et réinstallation complète
J'ai refait un tuning complet innodb qui améliore les choses
Par contre les plugins continue a cracher des erreurs
Exemple fusion qui me donne des problème SQL sur des duplicate entry
*** MySQL query error:
SQL: INSERT INTO `glpi_items_operatingsystems` (`itemtype`, `items_id`, `operatingsystemarchitectures_id`, `operatingsystemkernelversions_id`, `operatingsystems_id`, `operatingsystemversions_id`, `operatingsystemservicepacks_id`, `operatingsystemeditions_id`, `licenseid`, `license_number`, `is_dynamic`, `entities_id`, `is_recursive`, `date_creation`, `date_mod`) VALUES ('Computer', '4986', '1', '2308', '1', '0', '1', '0', '55041-011-6703543-86734', '', '1', '0', '0', '2019-03-24 15:30:06', '2019-03-24 15:30:06')
Error: Duplicate entry '4986-Computer-1-1' for key 'unicity'
Backtrace :
inc\dbmysql.class.php:821
inc\commondbtm.class.php:658 DBmysql->insert()
inc\commondbtm.class.php:1140 CommonDBTM->addToDB()
...nventory\inc\inventorycomputerlib.class.php:186 CommonDBTM->add()
...ry\inc\inventorycomputerinventory.class.php:537 PluginFusioninventoryInventoryComputerLib->updateComputer()
...inventory\inc\inventoryruleimport.class.php:769 PluginFusioninventoryInventoryComputerInventory->rulepassed()
inc\rule.class.php:1432 PluginFusioninventoryInventoryRuleImport->executeActions()
inc\rulecollection.class.php:1539 Rule->process()
...ry\inc\inventorycomputerinventory.class.php:337 RuleCollection->processAllRules()
...ry\inc\inventorycomputerinventory.class.php:102 PluginFusioninventoryInventoryComputerInventory->sendCriteria()
...fusioninventory\inc\communication.class.php:229 PluginFusioninventoryInventoryComputerInventory->import()
...fusioninventory\inc\communication.class.php:461 PluginFusioninventoryCommunication->import()
plugins\fusioninventory\front\communication.php:93 PluginFusioninventoryCommunication->handleOCSCommunication()
plugins\fusioninventory\index.php:59 include_once()
Ou dans les logs php qui me dit que le user crée pour Fusion (user 3365 ici) trouve 2 résultats (j'ai cherché en base, je n'en ai bien qu'un)
[2019-03-24 15:33:02] glpiphplog.WARNING: CommonDBTM::getFromDBByCrit() in \glpi-9.4.1\inc\commondbtm.class.php line 378
getFromDBByCrit expects to get one result, 2 found! {"user":"3365@XXXMONSERVEURXXX"}
Merci
GLPI 9.4.1.1 - FusionInventory 9.4.0+1.0 / Windows 2012R2 / PHP 7.1.7 x64 / IIS 7.5 / MariaDB 10.1.26
Offline
Bon pour ceux qui ont les mêmes problèmes voici les différents corrects :
Problèmes liés à fusion se reporter à
https://github.com/fusioninventory/fusi … ssues/2789
et passer tous les fix
Pour les duplicates il ya plusieurs sujets mais la base est de supprimer les doublons avec la requetes SQL
DELETE t1
FROM glpi_items_operatingsystems AS t1, glpi_items_operatingsystems AS t2
WHERE t1.id < t2.id
AND t1.items_id = t2.items_id
Au passage faire un update de la table et faire un set de is_dynamic à 1 dans la table glpi_items_operatingsystems
Pour le message Undefined index: SCRIPT_FILENAME il provient du cron sur le IIS
Lorsqu'il est lancé via FastCGI le $_SERVER["SCRIPT_FILENAME"] n'existe pas (NULL ou NOT SET)
Il suffit de rajouter dans autoload.function.inc sur la ligne 55 (fonction isAPI) la vérification ci-dessous
if (!isset($_SERVER["SCRIPT_FILENAME"]) || empty($_SERVER["SCRIPT_FILENAME"])) {
return false;
}
GLPI 9.4.1.1 - FusionInventory 9.4.0+1.0 / Windows 2012R2 / PHP 7.1.7 x64 / IIS 7.5 / MariaDB 10.1.26
Offline
A suivre demain en pleine charge
GLPI 9.4.1.1 - FusionInventory 9.4.0+1.0 / Windows 2012R2 / PHP 7.1.7 x64 / IIS 7.5 / MariaDB 10.1.26
Offline
Code is loading a lot of time same datas just to display fields...
Solution, load these datas once then reuse previous loaded...
Solution OK for version GLPI 9.4.1.1
File \inc\commondbtm.class.php
Function : public final function searchOptions()
ADD just after declaration :
/*DENIS*/ if(defined('DenisSearchOptionsCache')) return DenisSearchOptionsCache;
THEN at the end of funtion, just before return :
/*DENIS*/ define('DenisSearchOptionsCache',$options);
Do the same in file \inc\ticket.class.php
Function : function rawSearchOptions()
ADD just after declaration :
/*DENIS*/ if(defined('DenisRawSearchOptionsCache')) return DenisRawSearchOptionsCache;
THEN at the end of funtion, just before return :
/*DENIS*/ define('DenisRawSearchOptionsCache',$tab);
ça a résolu mon problème !
Offline
Bonjour.
Merci de voir l'autre sujet https://forum.glpi-project.org/viewtopic.php?id=168420
Et ma réponse dans celui-ci
Offline
Merci orthagh
L’ensemble des correctifs améliore effectivement les choses et GLPI est de nouveau fluide
A savoir on a été obligé d'arreter Fusion Inventory
Si on le remet en marche GLPI devient de nouveau lent + plantages
Je vais voir s'il y a un autre sujet sur le forum et au besoin en créer un
Bonne journée et encore merci a vous
GLPI 9.4.1.1 - FusionInventory 9.4.0+1.0 / Windows 2012R2 / PHP 7.1.7 x64 / IIS 7.5 / MariaDB 10.1.26
Offline
Pour fusion il faut appliquer ces fix https://github.com/glpi-project/glpi/pull/5611
Cela a résolu les lenteurs pour moi et je peux continuer à utiliser le plugin
Offline
You should not extract the archive on an existing GLPI directory, but create a new directory, extract the archive,n and then copy the config/config_db.php file, the files and the plugins directory of your old installation on this new directory.
Offline
Pages: 1