Page 1 sur 1

Mémoire utilisée ?

Posté : 03 juil. 2012, 19:37
par jonjojo007
Bonjour,

J'aurai une question au sujet de la mémoire utilisée sur un site.

J'ai un fichier commun à tout le site /includes/fonctions.php qui rajoute 1 200 000 octets (1.2mo quoi) de mémoire .

Code : Tout sélectionner

<?php echo memory_get_usage() . "\n"; => 118 000 require_once('includes/fonctions.php'); echo memory_get_usage() . "\n"; => 1 318 000 (soit 120 000 octets rajoutés par fonctions.php).
En bas de mes pages (echo memory_get_usage() avant ma balise </body>) après avoir echo le html et fait des traitement php je tourne autour des 1.7mo.
Est ce que c'est beaucoup comme taille de mémoire utilisée ? ça me parait énorme. Après faudrait voir avec un CMS ou autre pour se faire une idée ?

Merci.

Re: Mémoire utilisée ?

Posté : 03 juil. 2012, 22:42
par juliette
j'ai peur de te dire une bêtise mais il me semble qu'il ne faudrait pas dépasser 1.5 mo...
il y a une fonction pour tester le temps d'affichage:
        <?php

// calcul du temps d'affichage
        function getmicrotime() {
            list($usec, $sec) = explode(" ", microtime());
            return ((float) $usec + (float) $sec);
        }

// lancement du chrono pour le temps d'affichage
        $debut = getmicrotime();
// ici tu met ton code

// fin du chrono 
        $fin = getmicrotime();
        echo '<center>Page générée en ' . round($fin - $debut, 3) . ' secondes.<br /><br /></center>';
        ?>
déjà tu auras une base pour chercher et optimiser !!!

Re: Mémoire utilisée ?

Posté : 03 juil. 2012, 23:23
par jonjojo007
En terme de génération de page, j'ai déjà un code du même genre :)
Je tourne autour de 200ms donc niveau rapidité c'est pas un problème, c'est plus au niveau d'espace mémoire allouée.

J'ai beaucoup de variables de configurations et de fonctions (affichage date, format texte bbcode en html etc.) qui font ci ou ça. J'essaye de regrouper les choses que j'utilise un peu partout dans un même fichier histoire de pas avoir 50milles require différents sur mes pages, j'ai beau l'avoir épuré, ça fait au final plus d'1mo de fonctions allouent par ce fichier qui lui sur le disque fait 80ko.

J'aimerai bien savoir ce que ça donne genre un forum phpBB ou autre, ce genre d'usines à gaz. Ou des framework (cakePhp, Symphony etc.)

Re: Mémoire utilisée ?

Posté : 04 juil. 2012, 10:53
par jonjojo007
mmm, j'ai trouvé ça comme info sur le net : "Un processus Apache avec PHP c’est généralement 5 à 10 Mo de mémoire vive."

J'ai vu des gens avec cakephp qui avait 12 voir 15mo en bas de leur page o_O

Soit j'ai de la marge, soit c'est des cas extrêmes.

Re: Mémoire utilisée ?

Posté : 05 juil. 2012, 11:12
par moogli
salut,

ce ne sont pas les "require" qui vont faire monter l'utilisation mémoire (si tu essai d'inclure deux fois le même fichier tu risque d'avoir des soucis de redéclaration, sauf s'il n'y a que du traitement séquentiel mais ça devrait être une fonction ou une classe ;) ).


Plus tu aura un niveau d'abstraction elevé plus ton code va prendre du poids en mémoire. Simplement parce que cela ce paie en terme de code utilisé, de classe en mémoire etc.

ce n'est pas forcément un problème d'avoir un 1Mo de RAM de bouffé par ton script, par contre savoir si c'est réellement utile peu être. Par exemple tu n'a pas besoin de charger en mémoire toute ta base de données si tu n'utilise qu'un seul tuple (ha le bon vieux select* ....).

Imagine un framework web (ZF, symphony etc etc) + un orm (abstraction de la base donnée comme Doctrine (environ 3 - 4 Mo de fichiers) ça prend plus de mémoire que ça sans aucun problème.


@+