Bonjour à toutes et à tous,
Petit problème que je rencontre actuellement :
J'ai développer une solution de gestion d'espace numérique (avec gestions d'usagers et d'ateliers entre autre) et j'ai rajouté un module me permettant d'importer une base de données usagers exporté en .CSV .
Ce fichier tourne au environ des 3 Mo (avec environ 7300 entrées) mais il peut-être encore plus lourd.
Pendant l'importation (après l'upload vers le serveur), il y a un traitement en PHP (car certaines variable ne sont pas utile), puis viens ensuite l'envoie à la base de données MySQL.
Pour l'envoie vers la BDD, j'utilise des fonctions et cette fonction procède en quatre étapes :
*connexion à la bdd.
* requête SQL.
* Déconnexion bdd.
* test booléen de la requête.
Cette fonction est donc appelé plusieurs fois (environ 7300 pour moi).
Développement du problème :
* Début de l'importation, tout ce passe bien.
* Passer la barre des 3000 enregistrements environ, 1 entrées sur 4 ou 5 est enregistrées dans la base de données (environ 4 minutes se sont écoulé).
* Passer les 3400 enregistrements, plus aucune entrées du fichier csv n'est enregistré dans la BDD (environ 5 minutes se sont écoulé).
J'ai donc testé en mettant un sleep() d'une seconde avant chaque requête SQL et là, seul 295 entrées sont enregistrées avant que plus aucune entrées ne le soit (environ 5 minutes également).
Au début j'ai pensé à un blocage du script PHP mais j'ai demandé à m'afficher les entrées non enregistrées et elles sont bien affiché une à une.
Le serveur WEB WAMPSERVER tourne sur un poste sous XP Pro, donc c'est la version 2.4 et non 2.5 qui n'est pas compatible.
La version MySQL est 5.6.12
La version PHP est 5.4.12
La version APACHE est 2.4.4
SqlBuddy : 1.3.3
XDebug : 2.2.3
J'ai également tester sur un serveur WAMPSERVER 2.5 sous Windows 8.1 et là, miracle tout fonctionne, mes 7300 entrées sont enregistrées dans la BDD en 7 minutes environ.
Je n'ai pas toucher aux configurations d'origine des serveur WEB ni sur un poste, ni sur l'autre.
Je vous remercie d'avance,
Cordialement,
Brice
Partager