IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Accélérer programme php


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 7
    Par défaut Accélérer programme php
    Bonjour,

    Je réalise actuellement un script php incorporé dans une page d'une application intranet. Le but du programme est de transférer des données d'une table d'une BDD vers une autre table de la même BDD (postgresql).
    En fait les données dans la table d'origine sont stockées sous forme de colonnes : il y a 200 colonnes de noms de données (a1, a2, ..., a200) et chaque ligne stocke les valeurs de ces 200 données sur différentes années, territoires etc...

    Bref une table type possède environ 150 à 200 colonnes et 30 000 lignes. Comme ce genre de table n'est pas bien conçue, je fais un script récupérant les noms de colonnes, les valeurs pour chaque lignes, l'année, le territoire etc... j'effectue des vérifications dessus (requête select pour savoir si le territoire existe déjà dans la BDD ou si il faut le créer, idem est ce que la donnée existe déjà ou est-ce qu'il faut la créer) et je déplace toutes ces informations dans des tables mieux conçues.

    Le "problème" c'est que l’exécution du script est un peu long (~10 minutes pour 130 colonnes et 30 000 lignes) et il m'oblige à passer la memory_limit de php à 512M.

    J'ai essayé d'optimiser au maximum mais là je ne trouve plus rien (peut-être que mon algo est mauvais, ou alors c'est simplement normal vu le nombre de données et toutes les requêtes SQL à faire)

    • Je voulais donc tout d'abord savoir : est-ce que mettre la memory_limit à 512M peut être dangereux pour le serveur ?
    • De plus en regardant les astuces pour optimiser son code php, certains parlaient d'outils permettant d'accélérer le code php avec des systèmes de cache (APC,memcache, eAccelerator..). Est-ce que l'un d'eux peut-être utile dans mon cas ? Est-ce que ça peut accélérer mon script sachant que c'est seulement pour lui que je l'installe étant donnée que mon site n'affiche pas les pages avec du php ?



    Merci d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Augmenter la mémoire n'est pas dangereux. Si je comprends bien en plus c'est pour une operation ponctuelle.
    Non les systemes de cache ne te serviront à rien.

    il est par contre anormal que ton script demande autant de mémoire. Montre nous ton code.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 7
    Par défaut
    En fait j'ai réglé ce "problème" de mémoire, j'avais oublié de faire passer mes gros tableaux par référence dans les fonctions les traitant, ça fait une sacrée différence
    Merci pour les informations c'est toujours intéressant de le savoir !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. nouveau dans la programmation php
    Par zoom12 dans le forum Langage
    Réponses: 1
    Dernier message: 09/03/2007, 23h01
  2. Erreur dans un programme php pour une connexion à une bdd
    Par gaetan.tranvouez dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/06/2006, 21h06
  3. [EDI] Outil de programmation PHP équivalent à VSS
    Par bourvil dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 23/02/2006, 16h18
  4. Réponses: 5
    Dernier message: 29/11/2005, 17h35
  5. [Système] recupere resultat d'un programme php
    Par naourass dans le forum Langage
    Réponses: 4
    Dernier message: 25/10/2005, 14h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo