Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/08/2011, 13h08   #1
Membre Expert
 
Avatar de pmithrandir
 
Homme Pierre Bonneau
Développeur Web
Inscription : mai 2004
Messages : 873
Détails du profil
Informations personnelles :
Nom : Homme Pierre Bonneau
Âge : 28
Localisation : Roumanie

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2004
Messages : 873
Points : 1 593
Points : 1 593
Envoyer un message via MSN à pmithrandir Envoyer un message via Skype™ à pmithrandir
Par défaut Avoir une limite mémoire différente sur le backend

Bonjour

Mon serveur est configuré pour allouer 32 MO de mémoire à tous mes scripts. Ca marche tout à fait pour le frontend qui a des pages très simples.

En revanche, pour le backend, j'ai souvent besoin de 64 ou 128MO de mémoire vive, voir 256 dans le cas d'un import depuis Excel. (quelques millions d'objets à insérer dans la BDD)

Est-il possible, par quelque moyen que ce soit d'attribuer une limite de mémoire différente pour le backend et le frontend ?

En effet, je ne suis plus sur ma machine personnelle et la mémoire coute cher en production. Surtout que si je met 64Mo, je dois doubler celle ci pour garder le même nombre d'utilisateurs simultanés.

J'ai essayé dans le fichier backend.php de faire ca :
Code :
1
2
 
    ini_set('memory_limit','256M');
mais a priori sans succès.

Est ce que vous voyez une autre solution ?
Pierre
pmithrandir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 13h15   #2
Responsable Qt & Web sémantique

 
Avatar de dourouc05
 
Homme Thibaut Cuvelier
Étudiant
Inscription : août 2008
Messages : 16 306
Détails du profil
Informations personnelles :
Nom : Homme Thibaut Cuvelier
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : août 2008
Messages : 16 306
Points : 49 900
Points : 49 900
Envoyer un message via MSN à dourouc05 Envoyer un message via Yahoo à dourouc05


Il faut changer la configuration de PHP (php.ini) pour ça, si la solution ini_set dans le contrôleur principal ne fonctionne pas.
__________________
Le troisième défi Qt !

Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP.

Qt : La FAQ : 200 QR
symfony : sfDoctrineGuard

Pas de question d'ordre technique par MP !
dourouc05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 13h22   #3
Membre Expert
 
Avatar de pmithrandir
 
Homme Pierre Bonneau
Développeur Web
Inscription : mai 2004
Messages : 873
Détails du profil
Informations personnelles :
Nom : Homme Pierre Bonneau
Âge : 28
Localisation : Roumanie

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2004
Messages : 873
Points : 1 593
Points : 1 593
Envoyer un message via MSN à pmithrandir Envoyer un message via Skype™ à pmithrandir
Citation:
Envoyé par dourouc05 Voir le message


Il faut changer la configuration de PHP (php.ini) pour ça, si la solution ini_set dans le contrôleur principal ne fonctionne pas.
Bonjour,
Merci,
Si je fais ca, j'aurais cette limite dans tous mes scripts, ce que je ne veux pas.
pmithrandir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 15h10   #4
Membre Expert
 
Avatar de pmithrandir
 
Homme Pierre Bonneau
Développeur Web
Inscription : mai 2004
Messages : 873
Détails du profil
Informations personnelles :
Nom : Homme Pierre Bonneau
Âge : 28
Localisation : Roumanie

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2004
Messages : 873
Points : 1 593
Points : 1 593
Envoyer un message via MSN à pmithrandir Envoyer un message via Skype™ à pmithrandir
Bon, donc j'ai trouvé une solution.

Définir la limite mémoire globale dans le php.ini ou le htaccess a la valeur maximum a atteindre. Pour moi 256M

Ensuite, éditer le fichier index.php et frontend_dev.php et ajouter ceci au début :
Code :
1
2
 
ini_set('memory_limit','32M');
C'est exactement ce que je veux.

A la rigueur, mettre un peu plus pour frontend_dev parce que la webdebug bar bouffe pas mal de mémoire.
pmithrandir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 19h17   #5
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Peut être que revoir certaines portions de code et la manière dont elles gèrent la mémoire pourrait aussi diminuer l'occupation mémoire et améliorer la durée des traitements...
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 19h22   #6
Membre Expert
 
Avatar de pmithrandir
 
Homme Pierre Bonneau
Développeur Web
Inscription : mai 2004
Messages : 873
Détails du profil
Informations personnelles :
Nom : Homme Pierre Bonneau
Âge : 28
Localisation : Roumanie

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2004
Messages : 873
Points : 1 593
Points : 1 593
Envoyer un message via MSN à pmithrandir Envoyer un message via Skype™ à pmithrandir
En fait, c'est dans le backend uniquement que ca arrive, donc les optimisation ne sont pas trop "vendable" alors qu'il y a une seule connection simultanée dessus en général.

En plus, c'est le baackend généré par symfony qui nous donne ce resultat.

Par ailleur, étant donné qu'il est impossible sous doctrine de libérer les objets créé en mémoire(j'ai testé toutes les méthodes soi disant efficace, qui en fait libère 1% au mieux de la mémoire), il n y a pas grand chose a faire quand on insère quelques millions d'objets dans un script... ou alors je n'en ai pas vu la couleur sur les sites que je connais sur symfony.

Aurais tu ce genre de site qui pourrait me fournir de l'aide ?

Enfin, en attendant, si quelqu'un se pose la question, ca permet d'avoir un bon nombre de connections simultanées sur le frontend, sans handicaper le backend ou surdimensionner le serveur.
pmithrandir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 20h05   #7
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
C'est sur que c'est plus dynamique comme solution...

Met un exemple de code, j'y jetterais un oeil.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h39.


 
 
 
 
Partenaires

Hébergement Web