[php] nadzor porabe ram-a

Se da kako zmeriti maksimalno porabo rama med enkratnim zagonom neke skripte?

16 odgovorov

pri PHP:
http://www.php.net/manual/en/function.memory-get-usage.php
http://www.php.net/manual/en/function.memory-get-peak-usage.php

3

2mb. Je to veliko?
Ali to pomeni, da lahko strežnik z npr. 8GB rama zdrži cca 4000uporabnikov na enkrat?

blackmamba, problem je, da ti memorije ne kuri samo PHP :)

Ja, tega se zavedam zato sem napisal cca :)
Načeloma pa to nekako drži? Bi v teoriji to zdržalo 8000 userjev naenkrat če bi prvih 4000 vedno kliknilo sodo sekundo, drugih 4000 pa liho? Seveda upoštevano, da se aplikacija izvaja manj kot 1 sekundo :)

edit: v primeru, da procesor "zdrži"

Ne, če uporabljaš, recimo, Apache, ti bo en njegov proces pokuril mnogo več pomnilnika kot teh 2MB, ki ti ga pokuri PHP, ravno tako pomnilnik kuri tudi MySQL, če se omejimo le na servise, ki ti servirajo vsebino.

Me prav zanima, kolk internetmojster pokuri rama na 1 page load. (npr index)
Glede na to, da se naloži v 0.1 ~ 0.3s (od klika do kompletnega prikaza) sklepam da bolj malo, čeprav ni nujno.

A je kak način ali scripta za merjenje porabe vseh procesov?

Tako kot so ti že drugi predlagali ti tudi jaz, da se nehaš obremenjevat s tem koliko rama kaj porabi. Če delaš neko spletno stran/portal/app in znaš vsaj v osnovi programirat ne moreš tako zafukat, da bi res ful vplivalo na load. Uporabi cache, to z ramom pa pozabi.

1

SpinX, verjetno nisi opazil, vendar to vprašanje ne postavlja blackmamba ampak ernest1a :)

Odgovori ostalih so se nanašali na člana blackmamba. Mene pa zanima za portal ki bo imel v ozadju ogromno relacij med uporabniki in njihovimi prijatelji in je še kako pomembno da so stvari čimbolj optimizirane. Cache je pri tej strani samoumneven.

Naredil bom scripto ki bo vnesla v bazo 100.000 uporabnikov. Nato pa testiral različne načine za prikaz iskanj. In za to bi rabil neko orodje ali funkcijo, s katero bi testiral kje se najmanj porabi in najhitreje prikaže.

Moje vprašanje tako ostaja isto, kako zmeriti vse procese?