PDA

Bekijk Volledige Versie : PHP memory_limit , indien meer gebruikers --> limit verhogen?



janton
06/01/10, 15:17
Beste Experts ;)

Ik heb onlangs een VPS genomen en bevind mij hier in nieuwe wateren. Erg leuk en leerzaam.. Nu vroeg ik mij af, wat doet php memory_limit eigenlijk?
Ik heb nog genoeg Geheugen over.. en mijn limit staat op standaard 128M, zal ik deze al mijn overige geheugen geven? Ik ga er vanuit dat mijn website op den duur een hoop bezoekers zal trekken, moet ik hem dan zo i zo meer geheugen geven? ik ga drupal draaien

Misschien sla ik de plank geheel mis hier en ik snap niet wat de deze instelling doet. Ik geef 128 M aan php en dat is zijn werk ruimte? Dus als ik een drukke site krijg moet ik deze toch verhogen? of zit dit anders in elkaar?

Groet

wdv
06/01/10, 15:32
http://lmgtfy.com/?q=php.net+memory_limit&l=1

Yourwebhoster
06/01/10, 17:28
Dit had je inderdaad gewoon kunnen googelen, kort gezegd is het geheugen wat je instelt het maximale geheugen dat een PHP script mag gebruiken als het uitgevoerd wordt.

Marinus
06/01/10, 18:56
Het gaat dus om wat een enkele instantie van je script gebruikt, niet wat alle php scripts die op dat moment uitgevoerd worden bij elkaar gebruiken.

Memory limit kan voornamelijk bij het resizen van afbeeldingen met gdlib een probleem vormen of als je erg grote datastructuren gebruikt. 128MB lijkt me voor de meeste toepassingen meer dan ruim voldoende.

janton
06/01/10, 19:28
ow google... ja daar heb gister avond zo'n 3 uur achter gezeten en kon mijn vraag nergens vinden..

Gelukkig geeft Marinus een wat duidelijk antwoord:
Dus het ligt niet aan de hoeveelheid gebruikers die de scripts gebruiken, maar aan het script zelf, dus als je een goed script heb kan het door miljoenen gelijk gebruikt worden zonder dat je de php memory_limit moet verhogen.

Het draait enkel om wat een (instantie) van je script verbruikt.. CHECK

Dat had mij gisteren 3 uur google bespaard..

(de rest ook bedankt voor de link, was mij alleen nog steeds niet duidelijk)

Marinus
06/01/10, 19:46
ow google... ja daar heb gister avond zo'n 3 uur achter gezeten en kon mijn vraag nergens vinden..

Gelukkig geeft Marinus een wat duidelijk antwoord:
Dus het ligt niet aan de hoeveelheid gebruikers die de scripts gebruiken, maar aan het script zelf, dus als je een goed script heb kan het door miljoenen gelijk gebruikt worden zonder dat je de php memory_limit moet verhogen.

Het draait enkel om wat een (instantie) van je script verbruikt.. CHECK

Dat had mij gisteren 3 uur google bespaard..

(de rest ook bedankt voor de link, was mij alleen nog steeds niet duidelijk)

Uiteraard als je miljoenen mensen hebt die tegelijkertijd een script gebruiken wat 1MB geheugen gebruikt, heb je nog een probleem ;)

Yourwebhoster
06/01/10, 20:17
ow google... ja daar heb gister avond zo'n 3 uur achter gezeten en kon mijn vraag nergens vinden..

Gelukkig geeft Marinus een wat duidelijk antwoord:
Dus het ligt niet aan de hoeveelheid gebruikers die de scripts gebruiken, maar aan het script zelf, dus als je een goed script heb kan het door miljoenen gelijk gebruikt worden zonder dat je de php memory_limit moet verhogen.

Het draait enkel om wat een (instantie) van je script verbruikt.. CHECK

Dat had mij gisteren 3 uur google bespaard..

(de rest ook bedankt voor de link, was mij alleen nog steeds niet duidelijk)
Dan vraag ik me toch af hoe je zoekt, en een Engelse pagina kan je anders vertalen via bijvb translate.google.com mocht dat het probleem zijn.

janton
06/01/10, 20:51
Uiteraard als je miljoenen mensen hebt die tegelijkertijd een script gebruiken wat 1MB geheugen gebruikt, heb je nog een probleem ;)

Oke dus dan heb ik het toch weer fout..
Dus voor een drukke site is het dus wel verstandig om de memory_limit te verhogen!

Stel ik heb een vps met maar 1 site erop zal ik dan mijn memory_limit op -1 zetten, waardoor deze alle geheugen kan gebruiken?

janton
06/01/10, 20:54
Dan vraag ik me toch af hoe je zoekt, en een Engelse pagina kan je anders vertalen via bijvb translate.google.com mocht dat het probleem zijn.

Ik zocht op php memory_limit en kreeg voornamelijk artikelen over HOE je het moet verhogen.. en commentaar over sharedhostings etc... excuus als ik als lui overkom, dat is totaal niet mijn bedoeling!

Yourwebhoster
06/01/10, 20:56
Oke dus dan heb ik het toch weer fout..
Dus voor een drukke site is het dus wel verstandig om de memory_limit te verhogen!

Stel ik heb een vps met maar 1 site erop zal ik dan mijn memory_limit op -1 zetten, waardoor deze alle geheugen kan gebruiken?
Nee, laten staan zo. 128MB is meer dan genoeg voor een script. De reden waarom een limiet gesteld is, is omdat een fout geprogrammeerd script al het geheugen kan opvreten wat dus niet de bedoeling is. Let er op als je de waarde te laag zet dat PHP scripts kunnen stuklopen, 64MB of 128MB is voldoende en geheugen vretende scripts zullen geblokkeerd worden.

Yourwebhoster
06/01/10, 20:57
Ik zocht op php memory_limit en kreeg voornamelijk artikelen over HOE je het moet verhogen.. en commentaar over sharedhostings etc... excuus als ik als lui overkom, dat is totaal niet mijn bedoeling!


memory_limit integer (http://www.php.net/manual/en/language.types.integer.php) This sets the maximum amount of memory in bytes that a script is allowed to allocate. This helps prevent poorly written scripts for eating up all available memory on a server. Note that to have no memory limit, set this directive to -1.
Prior to PHP 5.2.1, in order to use this directive it had to be enabled at compile time by using --enable-memory-limit in the configure line. This was also required to define the functions memory_get_usage() (http://www.php.net/manual/en/function.memory-get-usage.php) and memory_get_peak_usage() (http://www.php.net/manual/en/function.memory-get-peak-usage.php).
When an integer (http://www.php.net/manual/en/language.types.integer.php) is used, the value is measured in bytes. Shorthand notation, as described in this FAQ (http://www.php.net/manual/en/faq.using.php#faq.using.shorthandbytes), may also be used.Het staat er duidelijk op, zoals ik al zei gooi het door een translater heen als je Engels niet zo goed beheerd (als, ik weet niet hoe goed je Engels is maar voor mij vrij duidelijk).

janton
06/01/10, 20:59
Het staat er duidelijk op, zoals ik al zei gooi het door een translater heen als je Engels niet zo goed beheerd (als, ik weet niet hoe goed je Engels is maar voor mij vrij duidelijk).

Mijn engels is wel oké, alleen mijn technische kant heeft nog zijn mankementen.. vandaar.. voortaan vraag ik dan wel om Jip en Janneke taal van de definitie ;)

Yourwebhoster
06/01/10, 21:01
Mijn engels is wel oké, alleen mijn technische kant heeft nog zijn mankementen.. vandaar.. voortaan vraag ik dan wel om Jip en Janneke taal van de definitie ;)
Dit heeft niets met technisch te maken, wat ik quote verteld gewoon dat het gebruikte geheugen voor een uitvoerend PHP script gelimiteerd wordt.

Marinus
06/01/10, 21:10
Oke dus dan heb ik het toch weer fout..
Dus voor een drukke site is het dus wel verstandig om de memory_limit te verhogen!

Stel ik heb een vps met maar 1 site erop zal ik dan mijn memory_limit op -1 zetten, waardoor deze alle geheugen kan gebruiken?

Je begreep het wel goed hoor. Wat ik bedoelde: stel je script gebruikt maar 1MB per instantie. Je loopt dan dus nooit tegen de PHP memory limit aan.

Als 1000 mensen echter dat script gelijk opvragen, dan moet je wel 1000x 1MB geheugen vrij hebben. Je limiet is dan het fysieke geheugen in je server (of VPS). Heb je een VPS met maar 512MB geheugen, dan heb je dus niet genoeg geheugen in de server om alle instanties van het script uit te voeren. Dat is dus een andere limiet dan de memory limit van PHP, die zeker nuttig is zoals Yourwebhoster al uitlegd.

janton
06/01/10, 21:38
Marinus dank!
Goed dat maakt alles compleet duidelijk..

Nu ga ik even rond zoeken hoe ik er achter kom hoeveel ram op een dag zowel gebruik. of een soort monitor waarna ik het verloop kan terug zien.. zodat ik wellicht meer ram nodig heb.. mocht het groeie

Gebruik directadmin.. heb wel gezien dat je het huidige gebruik kan zien, maar niet van de dag, week of maand

marsipulami
06/01/10, 22:08
dat kan ook met serverdensity

marsipulami
06/01/10, 23:00
Ik zie dat ik in het verkeerde topic reageerde :p maar goed, serverdensity is hier ook wel van toepassing voor geheugen stats ;)

The-BosS
06/01/10, 23:45
Marinus dank!
Goed dat maakt alles compleet duidelijk..

Nu ga ik even rond zoeken hoe ik er achter kom hoeveel ram op een dag zowel gebruik. of een soort monitor waarna ik het verloop kan terug zien.. zodat ik wellicht meer ram nodig heb.. mocht het groeie

Gebruik directadmin.. heb wel gezien dat je het huidige gebruik kan zien, maar niet van de dag, week of maand

Hou er wel even rekening mee dat je free memory eigenlijk je free memory + je cached memory is. In jouw geval kan het dus zijn dat bvb je php scripts eenmaal opgeroepen worden en dan in je memory gecached worden zelf al worden deze niet frequent gebruikt. Als je swap begint te gebruiken (+10MB of snelle stijging) dan zou ik wel eens uitkijken om memory upgrade uit te voeren.

janton
07/01/10, 13:53
Marsipulami en The-Boss Bedankt voor het advies en uitleg.

Ik zal kijken of ik een gratis programma soortgelijke aan serverdensity kan vinden.. en anders probeer ik gewoon een commerciële versie..
Het advies om dan mijn swap+memory in de gaten te houden zal ik doen! thx nogmaals

Yourwebhoster
07/01/10, 13:58
Marsipulami en The-Boss Bedankt voor het advies en uitleg.

Ik zal kijken of ik een gratis programma soortgelijke aan serverdensity kan vinden.. en anders probeer ik gewoon een commerciële versie..
Het advies om dan mijn swap+memory in de gaten te houden zal ik doen! thx nogmaals
Afhankelijk van de virtualisatie software heb je soms geen swap maar burst RAM. De virtualisatie software die gebruikt is in zo'n geval is OpenVZ. Handig om rekening mee te houden;)

cwf
07/01/10, 14:03
Je kan hiervoor ook cacti gebruiken (cacti.net).

Waarom altijd die commotie als iemand om advies vraagt? Is dit forum toch voor... Als je niks anders te zeggen hebt dan 'zie google' reageer dan ook niet... *zucht*

Yourwebhoster
07/01/10, 14:13
Je kan hiervoor ook cacti gebruiken (cacti.net).

Waarom altijd die commotie als iemand om advies vraagt? Is dit forum toch voor... Als je niks anders te zeggen hebt dan 'zie google' reageer dan ook niet... *zucht*
Omdat je zodoende leert. Eerst zelf zoeken (ging blijkbaar verkeerd, eerste reply in dit topic gaf een link met het antwoord) en dan pas posten. Omdat het zoiets simpels is wat makkelijk te vinden is krijg je zo'n linkje;)

janton
07/01/10, 18:22
Omdat je zodoende leert. Eerst zelf zoeken (ging blijkbaar verkeerd, eerste reply in dit topic gaf een link met het antwoord) en dan pas posten. Omdat het zoiets simpels is wat makkelijk te vinden is krijg je zo'n linkje;)

Goed, maar ik snapte de definitie gewoon niet goed... Maar daar hebben we het nu wel genoeg over gehad:sweatdrop:

Yourwebhoster
07/01/10, 18:24
Goed, maar ik snapte de definitie gewoon niet goed... Maar daar hebben we het nu wel genoeg over gehad:sweatdrop:
Was als antwoord @ cwf bedoeld, punt was inmiddels duidelijk bij je lijkt me:)

janton
07/01/10, 18:25
Je kan hiervoor ook cacti gebruiken (cacti.net).

Waarom altijd die commotie als iemand om advies vraagt? Is dit forum toch voor... Als je niks anders te zeggen hebt dan 'zie google' reageer dan ook niet... *zucht*

Ok thx..:) heb er net even naar gekeken ziet er goed uit!
Toch ga ik nog even zoeken naar iets wat gelijk in DA zichtbaar is... als dat bestaat. Anders denk ik dat ik eerst voor Cacti ga en wellicht daarna een betaalde software!

Yourwebhoster
07/01/10, 18:26
Ok thx..:) heb er net even naar gekeken ziet er goed uit!
Toch ga ik nog even zoeken naar iets wat gelijk in DA zichtbaar is... als dat bestaat. Anders denk ik dat ik eerst voor Cacti ga en wellicht daarna een betaalde software!
zoiets bestaat nog niet voor DA, je kan wellicht zelf wat maken.