|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() ![]() |
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 : mais a priori sans succès. Est ce que vous voyez une autre solution ? Pierre |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() |
![]() 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 ! |
|
00
|
|
|
#3 |
|
Membre Expert
![]() ![]() |
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() |
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 : 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. |
|
|
00
|
|
|
#5 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
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).
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() |
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. |
|
|
00
|
|
|
#7 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
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).
|
|
00
|
Copyright © 2000-2012 - www.developpez.com