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

Symfony PHP Discussion :

Enregistrement des données lents


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 135
    Par défaut Enregistrement des données lents
    Bonjour,

    Je voulais savoir si c'est normal d'avoir un temps de réponse de 3 secondes (en local) pour l'enregistrement d'un formulaire (formulaire imbriquées)?

    Je trouve sa beaucoup trop long. Enfin c'était pour savoir si c'était que chez moi ou si c'était le formulaire symfony ?

    Pour précision les 3 seconde de temps de réponse est dans le meilleur des cas!! j'ai un autre formulaire qui met 5-10 secondes...

    Cordialement.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2004
    Messages : 318
    Par défaut
    http://www.developpez.net/forums/d11...symfony2-lent/

    Je ne sais pas s'il y a de réelles solutions quand tu es sur Windows

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 135
    Par défaut
    j'ai un hébergement sur ovh et c'est tout aussi lent (en mode dev)

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par rafleboss Voir le message
    j'ai un hébergement sur ovh et c'est tout aussi lent (en mode dev)
    et en prod ?

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Par défaut
    Un hébergement sous ovh....
    Je suppose qu'il n'est pas sous windows? Si oui... la réponse s’arrête la.

    Tu as un peu de code à partager pour voir si ton code est optimisé?
    Parce que meme sous windows, cela ne doit pas mettre 3s!
    Typiquement des collections d'EntityType, ca fait mal si tu ne passes pas les infos en __construct().

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 135
    Par défaut
    en prod sur ovh c'est 1,55 secondes!!! je trouve sa énorme encore! surtout que je suis le seul à l'utiliser...

    sinon j'ai un autre formulaire ou le temps de réponse est de 20 secondes!!!!

    Voila le code de mon formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    $builder->add('poids', 'text', array('required' => false,'error_bubbling'=>true,'label'=>'Poids (en kg)'));
        	$builder->add('taille', null, array('required' => false,'error_bubbling'=>true,'label'=>'Taille (en cm)'));
     
     
        	$builder->add('medecin', 'collection', array(
        	    	    	'type' => new MedecinForm($this->_typeCoordonnee,$this->_typeTelephone,$this->_pays,$this->_departement,$this->_typePersonnelSante,$this->_sexe),
        	    	    	'prototype'=>true,
    		    	    	'error_bubbling'=>true,
    		    	    	'allow_add'=>true,
    		    	    	'allow_delete'=>true,
        					'required'=>false
        	));
     
        	$builder->add('vaccin', 'collection', array(
        	    	    	    	'type' => VaccinForm(),
        	    	    	    	'prototype'=>true,
    		    	    	    	'error_bubbling'=>true,
    		    	    	    	'allow_add'=>true,
    		    	    	    	'allow_delete'=>true,
    		    	    	    	'required'=>false,
        	));
    ma classe Sante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    ....
    /**
         * @var float $poids
         *
         * @ORM\Column(name="poids", type="float")
         */
        private $poids;
     
        /**
         * @var float $taille
         *
         * @ORM\Column(name="taille", type="float")
         */
        private $taille;
     
     
     
        /**
         * @var Doctrine\Common\Collections\Collection $medecin
         *
         * @ORM\OneToMany(targetEntity="Medecin",mappedBy="carnet",cascade={"persist", "remove", "merge"}, orphanRemoval=true)
         */
        private $medecin;
     
        /**
         * @var Doctrine\Common\Collections\Collection $vaccin
         *
         * @ORM\OneToMany(targetEntity="Vaccin",mappedBy="carnet",cascade={"persist", "remove", "merge"}, orphanRemoval=true)
         */
        private $vaccin;
    ...
     /**
         * Set medecin
         *
         * @param IML\XXXBundle\Entity\Medecin $medecin
         */
        public function addMedecin( Medecin $medecin)
        {
            $this->medecin[] = $medecin;
        }
     
        /**
         * Get medecin
         *
         * @return Doctrine\Common\Collections\Collection $medecin
         */
        public function getMedecin()
        {
            return $this->medecin;
        }
     
        /**
         * Set vaccin
         *
         * @param IML\XXXBundle\Entity\Vaccin $vaccin
         */
        public function addVaccin (Vaccin $vaccin)
        {
            $this->vaccin[] = $vaccin;
        }
     
        /**
         * Get vaccin
         *
         * @return Doctrine\Common\Collections\Collection $vaccin
         */
        public function getVaccin()
        {
            return $this->vaccin;
        }
    et cote controleur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    	$form		= $this->get('form.factory')->create(new SanteForm($this->getDoctrine()->getRepository('XXXBundle:Code\TypeCoordonnee')->findAll(),$this->getDoctrine()->getRepository('XXXBundle:Code\TypeTelephone')->findAll(),$this->getDoctrine()->getRepository('XXXBundle:Code\Pays')->findAll(),$this->getDoctrine()->getRepository('XXXBundle:Code\Departement')->findAll(),$this->getDoctrine()->getRepository('XXXBundle:Code\TypePersonnelSante')->findAll(),$this->getDoctrine()->getRepository('XXXBundle:Code\Sexe')->findAll()));
     
     
    			$form->setData($sante);
     
    			if ( $request->isXmlHttpRequest() ) {
    				$form->bindRequest($request);
    				if ($form->isValid()) {
     
    						foreach($sante->getVaccin() as $patho)  
    						{	
    							$patho->setSante($sante);
    							$em->persist($patho);
    						}
    						foreach($sante->getMedecin() as $medecin)  // On persiste tous les adresses de l'utilisateur.
    						{
    							$medecin->setSante($sante);
    							$em->persist($medecin);
    						}
     
     
    					$em->persist($sante);
    					$em->flush();
    					$response = new Response(json_encode(true));
     
    				}

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/06/2006, 17h05
  2. [VB6]enregistrer des données dans un fichier
    Par tchinette42 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 19/04/2006, 18h55
  3. [HTML] Tableau pour l'enregistrement des données
    Par ghyosmik dans le forum Balisage (X)HTML et validation W3C
    Réponses: 13
    Dernier message: 01/11/2005, 15h28
  4. [Access] Enregistrer des données de type Texte RTF
    Par portu dans le forum Bases de données
    Réponses: 22
    Dernier message: 27/10/2005, 22h54
  5. Réponses: 7
    Dernier message: 20/03/2005, 14h53

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