Symfony2 & Memory limit

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Ijstheefles
  • Registratie: December 2011
  • Laatst online: 25-08 22:56
Hoi allen,

Na zon week te hebben geprogrammeert wilde ik even de cache:clear testen binnen symfony2.

Nu heb ik mijn /etc/php5/php.ini (als ik in de commandline php --ini uitvoer krijg ik iig die te zien) al op 700M gezet, en nog steeds nekt 'ie em.

Ik zie het ook in htop voorbij komen, dat ie het geheel 700MB verder probeert te trekken.

Alle vragen die ik heb gezien gaan maar tot de ~256/512.

Ik heb zowel cache:clear als cache:clear --no-debug geprobeerd, zelf de inhoud van app/cache verwijderd en toen nog een keer gedraait. ik heb in app_dev.php de debug op false gezet bij instantiatie.

Ben nu de weg toch echt kwijt. Als de cache verwijderen al meer als 700 MB gebruikt wil ik niet weten hoeveel geheugen het gebruikt met 1000/2000 gebruikers op een website.

Vraag me dus af wat b.v. een site als tweakers anders doet.

Ideeen zijn welkom :)

Acties:
  • 0 Henk 'm!

Verwijderd

Heeft de user waarin php draait wel rechten op die map? Bij mij(mac) is het namelijk binnen een seconde klaar.
Daarnaast is het volgens mij alleen php wat uitgevoerd wordt. Dus je zou kunnen nagaan wat er geladen wordt in app/console wanneer je dit commando gebruikt.

Acties:
  • 0 Henk 'm!

  • Ijstheefles
  • Registratie: December 2011
  • Laatst online: 25-08 22:56
Heeft de user waarin php draait wel rechten op die map? Bij mij(mac) is het namelijk binnen een seconde klaar.
Daarnaast is het volgens mij alleen php wat uitgevoerd wordt. Dus je zou kunnen nagaan wat er geladen wordt in app/console wanneer je dit commando gebruikt.
- Rechten kloppen.

Hoe zou ik kunnen nagaan wat er geladen wordt als ik 'et commando gebruik?

Acties:
  • 0 Henk 'm!

  • IceM
  • Registratie: Juni 2003
  • Laatst online: 11-09 20:35
Dat er iets niet goed gaat is duidelijk, 700MB is extreem veel (zeker na 1 week ontwikkeling :)). Wat je kan doen is de cache zelf leeg gooien door de map app/cache/dev/ (en app/cache/prod) leeg te gooien.

Je kunt daarna even checken of de volgende commando's correct werken:
code:
1
2
3
4
php app/console cache:warmup --env=dev
php app/console cache:warmup --env=prod
php app/console cache:clear --env=prod
php app/console cache:clear --env=dev


Weet je echt zeker dat je rechten goed staan, zoals hier staat uitgelegd: http://symfony.com/doc/cu...l#configuration-and-setup ?

...


Acties:
  • 0 Henk 'm!

  • Ijstheefles
  • Registratie: December 2011
  • Laatst online: 25-08 22:56
IceM schreef op donderdag 25 oktober 2012 @ 10:13:
Dat er iets niet goed gaat is duidelijk, 700MB is extreem veel (zeker na 1 week ontwikkeling :)). Wat je kan doen is de cache zelf leeg gooien door de map app/cache/dev/ (en app/cache/prod) leeg te gooien.

Je kunt daarna even checken of de volgende commando's correct werken:
code:
1
2
3
4
php app/console cache:warmup --env=dev
php app/console cache:warmup --env=prod
php app/console cache:clear --env=prod
php app/console cache:clear --env=dev


Weet je echt zeker dat je rechten goed staan, zoals hier staat uitgelegd: http://symfony.com/doc/cu...l#configuration-and-setup ?
Rechten heb ik met setfacl inderdaad gedaan.

Bij zowel warmup als clear krijg ik nog steeds > 700MB errors.

Overigens zit daar wel progressie in af en toe. Dan krijg ik nl een andere file/directory die de error produceert. (b.v. app/cache, of symfony in vendors of twig in vendors.. als enkele voorbeelden

[edit] Hoe zou een permissie probleem voor een hogere memory consumptie leiden? Dan krijg je toch gewoon premission denied in de cli?

[ Voor 6% gewijzigd door Ijstheefles op 25-10-2012 10:32 ]


Acties:
  • 0 Henk 'm!

  • IceM
  • Registratie: Juni 2003
  • Laatst online: 11-09 20:35
Je zou de memory limit van PHP CLI uit kunnen zetten (-1) en kijken of het command in ieder geval wel correct werkt.

Heb je zelf bundels toegevoegd die mogelijk kunnen zorgen voor veel extra geheugen? De standaard bundels die Symfony standard gebruikt zouden in iedergeval niet voor zoveel geheugengebruik moeten zorgen. Ik heb het geheugen van cache:clear gemonitord bij mijn eigen applicatie (geen extreem grote applicatie overigens) en die kwam niet boven de 130MiB uit.

...


Acties:
  • 0 Henk 'm!

  • Ijstheefles
  • Registratie: December 2011
  • Laatst online: 25-08 22:56
IceM schreef op donderdag 25 oktober 2012 @ 11:00:
Je zou de memory limit van PHP CLI uit kunnen zetten (-1) en kijken of het command in ieder geval wel correct werkt.

Heb je zelf bundels toegevoegd die mogelijk kunnen zorgen voor veel extra geheugen? De standaard bundels die Symfony standard gebruikt zouden in iedergeval niet voor zoveel geheugengebruik moeten zorgen. Ik heb het geheugen van cache:clear gemonitord bij mijn eigen applicatie (geen extreem grote applicatie overigens) en die kwam niet boven de 130MiB uit.
-1 zorgt ervoor dat het proces gekilled wordt. in htop krijg ik te zien dat mijn cpu 100% en mijn memory er zon 2.5 GB extra bij verbruikt.

Volgens mij is er hier meer aan de hand.

Bundels heb ik wel extra toegevoegd; o.a. fosuserbundle, formbundle, comment bundle, tinymce bundle, pagerfanta, herultz forum bundle (die nu weg kan realiseer ik me net)

Acties:
  • 0 Henk 'm!

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 02-06 12:29
Probleem is ws niet het clearen van de cache, maar de warmup erna. Ik gok dat je een aantal bundles hebt die veel data pre-cachen. Of heel veel assets hebt waar wat mee gedaan moet worden.

De truuk is dan meestal om een cache:clear --no-warmup uit te voeren en de applicatie de cache aan laat maken op het moment dat deze nodig is.

Driving a cadillac in a fool's parade.


Acties:
  • 0 Henk 'm!

  • Ijstheefles
  • Registratie: December 2011
  • Laatst online: 25-08 22:56
kwaakvaak_v2 schreef op donderdag 25 oktober 2012 @ 11:24:
Probleem is ws niet het clearen van de cache, maar de warmup erna. Ik gok dat je een aantal bundles hebt die veel data pre-cachen. Of heel veel assets hebt waar wat mee gedaan moet worden.

De truuk is dan meestal om een cache:clear --no-warmup uit te voeren en de applicatie de cache aan laat maken op het moment dat deze nodig is.
cache:clear --no-warmup werkt wel. Ik kan alleen nergens vinden wat het functionele verschil is tussen cache:clear en cache:clear --no-warmup. Wat doet --no-warmup precies? google vind me niet aardig en php app/console help cache:clear geeft ook weinig extra informatie.

Op het gebied van assets:
du -sch web/bundles geeft 11M van bundles, 4.1M images en 336k van css. Dus ~15 MB, dat kan toch bijna niet voor een load van meer dan 700MB zorgen ? ;o

Acties:
  • 0 Henk 'm!

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 02-06 12:29
google maar eens op CacheWarmerInterface :) De fysieke hoeveelheid assets zegt niets over de bewerkingen die er op gedaan worden. Het zijn overigens niet alleen assets die opgewarmt worden. Ook de DIC en aanverwante zaken worden opgewarmt.

Driving a cadillac in a fool's parade.


Acties:
  • 0 Henk 'm!

  • Ijstheefles
  • Registratie: December 2011
  • Laatst online: 25-08 22:56
kwaakvaak_v2 schreef op donderdag 25 oktober 2012 @ 20:52:
google maar eens op CacheWarmerInterface :) De fysieke hoeveelheid assets zegt niets over de bewerkingen die er op gedaan worden. Het zijn overigens niet alleen assets die opgewarmt worden. Ook de DIC en aanverwante zaken worden opgewarmt.
Oke, dat is duidelijk.

cache:clear --no-warmup (dus gooi de cache weg en creeer geen nieuwe) doet het ook binnen een seconde.

Ik vraag me alleen af hoe ik erachter kom wat er allemaal gedaan wordt zonder de --no-warmup, want dan killed het zichzelf lijkt het wel. Gebruikt ook 3.5 GB geheugen (alles wat ik nog over heb) en cpu tilt em naar 100%

Acties:
  • 0 Henk 'm!

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 02-06 12:29
door te debuggen :)

Driving a cadillac in a fool's parade.


Acties:
  • 0 Henk 'm!

  • Ijstheefles
  • Registratie: December 2011
  • Laatst online: 25-08 22:56
Spuit 11 =P

Vraag meer hoe ik aan dat debuggen begin.

Er moet toch een betere manier zijn als simpelweg de sourcecode door gaan zitten ctrl+f'en om zo te kijken of er rare dingen staan.

Ik zoek eigenlijk een log, een rijtje met alles waar 'ie doorheen loopt, een overzicht met aantal ms per actie.. dan is de conclusie namelijk snel getrokken.

Acties:
  • 0 Henk 'm!

  • IceM
  • Registratie: Juni 2003
  • Laatst online: 11-09 20:35
In eerste instantie zou ik er vanuit gaan dat het veroorzaakt wordt door 1 van de bundels die je toegevoegd hebt aan je applicatie, 3.5GB is echt idioot veel en wordt niet door de standaard symfony applicatie veroorzaakt. Ik zou beginnen om die 1 voor 1 uit te zetten, grote kans dat je dan vrij snel ziet welk onderdeel de problemen veroorzaakt.

Je kunt een profiler, bijvoorbeeld xdebug of xhprof, gebruiken om een log te maken om te zien wat je applicatie allemaal aan het doen is, en hoeveel resources het vreet.

[ Voor 11% gewijzigd door IceM op 26-10-2012 07:58 ]

...


Acties:
  • 0 Henk 'm!

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 02-06 12:29
daar heb je monolog voor in symfony2, wat zegt app/dev.log?

Oh en soms leer je idd het meeste door idd de source door te spitten en te begrijpen waar, wat wanneer gebeurt.

Driving a cadillac in a fool's parade.


Acties:
  • 0 Henk 'm!

  • Ijstheefles
  • Registratie: December 2011
  • Laatst online: 25-08 22:56
kwaakvaak_v2 schreef op vrijdag 26 oktober 2012 @ 20:05:
daar heb je monolog voor in symfony2, wat zegt app/dev.log?

Oh en soms leer je idd het meeste door idd de source door te spitten en te begrijpen waar, wat wanneer gebeurt.
In app/logs/dev.log komt er niet 1 regel bij.

Acties:
  • 0 Henk 'm!

  • Ijstheefles
  • Registratie: December 2011
  • Laatst online: 25-08 22:56
Ijstheefles schreef op zaterdag 27 oktober 2012 @ 13:17:
[...]


In app/logs/dev.log komt er niet 1 regel bij.
Zeg, ik vraag me af eh. In hoeverre is het eigenlijk een probleem?

Voor zover ik begrijp doet de --no-warmup de cache wel clearen, hij maakt alleen geen nieuwe aan. Dat gaat per page-request toch wel gebeuren, dus het 1e keer dat de betreffende inhoud wordt opgevraagd dat ik ietsjes meer load krijg.

Of ben ik nu compleet idioot aan het denken? :P :+

Acties:
  • 0 Henk 'm!

  • Ijstheefles
  • Registratie: December 2011
  • Laatst online: 25-08 22:56
Ijstheefles schreef op zaterdag 27 oktober 2012 @ 16:22:
[...]

Of ben ik nu compleet idioot aan het denken? :P :+
Am i? (Meer als 24 uur geleden, ik mag bumpen :) )
Pagina: 1