Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
786 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  idée de la consommation RAM d'un bon script PHP ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

idée de la consommation RAM d'un bon script PHP ?

n°1859118
the_bigboo
Posté le 09-03-2009 à 01:11:19  profilanswer
 

Salut :)
 
Voilà, je me pose une question, je fais du PHP depuis un bout de temps et maintenant que je touche a des sites à très forts trafics je m'intéresse de plus en plus aux performances du code.
donc je me suis penché sur la fonction memory_get_usage. Mais voilà je n'ai aucune idée de la façon dont interpréter les données.
 
j'ai constitué un framework avec une collection de l'ordre d'une trentaine d'objet, et j'obtiens des pages dont la consommation atteint 2.5Mo.
Après rien ne me permet d'évaluer si c'est bon ou pas, donc j'aurais besoin de vos lanternes, si vous avez un site à donner...
 
Merci par avance ;)


Message édité par the_bigboo le 09-03-2009 à 01:11:35
mood
Publicité
Posté le 09-03-2009 à 01:11:19  profilanswer
 

n°1859126
flo850
moi je
Posté le 09-03-2009 à 06:47:09  profilanswer
 

utilise plutot valgrind pour mesurer tes performances : http://osterman.com/wordpress/2006 [...] d-with-php
 
et sino , ben ca depend de tes objets


---------------

n°1860176
the_bigboo
Posté le 11-03-2009 à 10:03:31  profilanswer
 

oui, j'imagine... Après niveau optimisations il y avait bien des petits trucs tout cons auquels penser mais, apparemment rien ne semble vraiment efficaces vus que bien souvent c'est lié aux versions de PHP
 
Exemple avec foreach et le while/list qui est plus rapide en fonction des versions de PHP...
 
Y a t-il des petites choses toutes bêtes qui peuvent influencer les performances ? des sites spécialisés pour ca ?

n°1860196
Halike
Posté le 11-03-2009 à 10:51:24  profilanswer
 

Salut,
Peut-etre trouveras-tu des informations intéressantes dans cett conférence (en anglais) de Rasmus Lerdorf (le créateur de PHP).
Les "slides" sont dispos ici.

n°1860234
fluminis
Posté le 11-03-2009 à 11:23:52  profilanswer
 

Un site tres interessant sur les petits trucs a savoir pour booster un peu son code :
http://www.phpbench.com/
 
Apres c'est des micros optimisations, des fois changer un algo permet des optimisations bcp plus drastiques : exemple, rajouter un id dans une table pour eviter plusieurs jointures augmente la taille de la bdd mais peut accelerer les requetes sql (FROM t1 LEFT JOIN t2 ON t1.id1=t2.id1 LEFT JOIN t3 ON t2.id2=t3.id2 => rajouter id2 dans t1), etc...


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1860648
the_bigboo
Posté le 12-03-2009 à 11:05:37  profilanswer
 


 
Voilà, en fait c'est ça le délire, je travaille en agence web, et je fais des applications objets pour des clients dont généralement la logique c'est "On a des gros besoins, et on veut payer le moins possible , donc hébergé sur un serveur minable mutualisé"
Et là le souci c'est qu'on a beau avoir une application dont le dev est performant, sur un serveur pourri, le résultat sera pourri pour peu que l'application soit un tantinet gourmande... Après j'essaye d'arrondir les angles comme je peux avec du cache justement, mais j'ai dans l'idée qu'on peut faire toujours plus... sans pour autant coder comme un porc ;)

Message cité 1 fois
Message édité par the_bigboo le 12-03-2009 à 11:07:04
n°1860745
the_bigboo
Posté le 12-03-2009 à 14:22:17  profilanswer
 

Ben ouais mais bon ca fait mal au cul de faire un truc nikel et de foutre ca sur un environnement incapable de faire tourner le truc...
 
Pour en revenir au sujet, ou est-ce que je peux trouver un référentiel correct ?
 
Je veux dire une page qui se charge, normalement le temps de construction serveur de la page pour moi ne doit pas dépasser 200ms, mais ce n'est qu'une valeur arbitraire après laquelle on voit que le script est long a charger... Donc pas vraiment une valeur fiable !
 
Ca constitue une bonne valeur ? Sans faire intervenir le traffic (cad un seul thread)

n°1860829
grosbin
OR die;
Posté le 12-03-2009 à 17:32:07  profilanswer
 

the_bigboo a écrit :

Je veux dire une page qui se charge, normalement le temps de construction serveur de la page pour moi ne doit pas dépasser 200ms, mais ce n'est qu'une valeur arbitraire après laquelle on voit que le script est long a charger... Donc pas vraiment une valeur fiable !

Nous avons les mêmes critères, ne pas dépasser les 200ms ( si possible ), avec un serveur mutu ton sql doit souffrir ! restent sqlite si tes requetes sont trop handicapantes.
Pour Memory_get_usage, c'est pas vraiment ce qu'il manque en vérité .. à peu près 500ko en moyenne par page
Bon courage  :jap: (changez le de serveur)


---------------
Photos Panoramiques Montagnes Haute Savoie
n°1860862
rufo
Pas me confondre avec Lycos!
Posté le 12-03-2009 à 18:04:30  profilanswer
 

des fois, un tuning du SGBD peut largement améliorer les perfs, genre optimiser les index, augmenter la taille du cache des requêtes, augmenter la taille pour les tables ouvertes ou temporaires...! Sur du MySQL, pour une appli web, j'ai divisé par 5 le temps de chargement d'une page gourmande en requêtes en tunant MySQL ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1860914
grosbin
OR die;
Posté le 12-03-2009 à 20:44:28  profilanswer
 

tu as un exemple de conf que je teste ?
ils parlent souvent de mysql_pconnect .. le truc qui a tendance à bloquer quand le nombre de connexions maximales a été atteint ..


---------------
Photos Panoramiques Montagnes Haute Savoie
mood
Publicité
Posté le 12-03-2009 à 20:44:28  profilanswer
 

n°1860919
yellu
Posté le 12-03-2009 à 20:46:48  profilanswer
 

Recherche le script tuning-primer.sh, c'est un bon début pour apprendre a bien conf ton serveur mySQL

n°1861043
rufo
Pas me confondre avec Lycos!
Posté le 13-03-2009 à 10:00:34  profilanswer
 

J'ai, entre autre, augmenté (par rapport à la valeur par défaut) les valeurs de ces variables :  
max tmp tables
myisam max sort file size
myisam sort buffer size
query cache limit
query cache size
query cache type à ON
 
Après, faut adapter par rapport à ce qui est présenté comme stats par phpmyadmin, item "afficher l'état du serveur".


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1861277
grosbin
OR die;
Posté le 13-03-2009 à 16:35:08  profilanswer
 

le fichier est my.cnf ?? si c'est le cas il est très petit ..
faut il effectuer mysqld restart après son édition ?

Code :
  1. [mysqld]
  2. set-variable=local-infile=0
  3. datadir=/var/lib/mysql
  4. socket=/var/lib/mysql/mysql.sock
  5. user=mysql
  6. ..
  7. set-variable = innodb_log_buffer_size=500K
  8. set-variable = innodb_thread_concurrency=2


Je vois pas trop les variables citées ci dessus .. que je vois via phpadmin .. weird ..
Faut-il les rajouter ainsi ?

Code :
  1. set-variable=max_tmp_tables=32
  2. set-variable=max_user_connections=2


si tu as des indications plus précises, ce serait sympa :)


Message édité par grosbin le 13-03-2009 à 16:50:08

---------------
Photos Panoramiques Montagnes Haute Savoie
n°1861292
yellu
Posté le 13-03-2009 à 17:08:17  profilanswer
 

Le fichier est ben my.cnf
Tu ne trouvera pas TOUTES les variables dedans lol
Certaines sont par défauts et non présentes.
 
Je te répète : prend tuning-primer.sh, ça t'aidera à comprendre des choses.
 
Edit: http://www.day32.com/MySQL/


Message édité par yellu le 13-03-2009 à 17:10:04
n°1861342
grosbin
OR die;
Posté le 13-03-2009 à 18:53:23  profilanswer
 

je sais j'ai regardé le script mais .. access denied for root, alors j'ai zappé ..
Je préférais avoir un bon exemple de conf à éditer à la mano sans script exterieur :jap:


---------------
Photos Panoramiques Montagnes Haute Savoie
n°1861347
yellu
Posté le 13-03-2009 à 19:03:06  profilanswer
 

IL n'y a pas de bon script de conf car tout dépend de TON utilisation, ce que tuning-primer.sh va justement détecter en fonction des informations statistiques que mySQL stock.
Toutes les bases n'ont pas besoins de la même conf et ce même si elles sont sur des serveurs WEB de même architecture technique ...

n°1861377
grosbin
OR die;
Posté le 13-03-2009 à 21:39:51  profilanswer
 

moui ce sont que des stats d'utilisation .. cela n'aide pas à configurer le fichier au passage ..


---------------
Photos Panoramiques Montagnes Haute Savoie
n°1861440
yellu
Posté le 14-03-2009 à 09:49:48  profilanswer
 

Bah si, car si tu vois que ton max_connexion est atteint régulièrement, c'est un piste de réglage, si ton max_files_open est atteint aussi ... etc

n°1861445
grosbin
OR die;
Posté le 14-03-2009 à 10:11:20  profilanswer
 

c'est pas faux d'un côté .. on retrouve aussi dans "etat du serveur"
bref perso .. valeurs à modifier quand on a des soucis, sinon aucun gain véritable de rapidité  
:jap:


---------------
Photos Panoramiques Montagnes Haute Savoie
n°1951453
NewsletTux
<Insérez ici votre vie />
Posté le 18-12-2009 à 11:17:39  profilanswer
 

Bonjour
je remonte le sujet :)
 
Je m'intéresse également au sujet, j'ai trouvé un article parlant d'un garbage collector en PHP5.3 : http://blog.pascal-martin.fr/post/ [...] on-memoire
 
Le souci c'est que dans et article, l'auteur ne prned pour exemple que des classes avec des références cycliques, mais est-ce qu'il y a moyen de "dumper" la mémoire de PHP, pour voir toutes les variables utilisées et leur conso mémoire ?


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1951533
stealth35
Posté le 18-12-2009 à 14:14:55  profilanswer
 

tu pourrais utilisé get_defined_vars

n°1951821
NewsletTux
<Insérez ici votre vie />
Posté le 20-12-2009 à 11:48:13  profilanswer
 

sympa cette fonction !
Merci, j'ai de quoi décortiquer.


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1953289
stealth35
Posté le 27-12-2009 à 16:14:53  profilanswer
 

t'as eté voir du coté de xdebug ? t'as des fonctions intéressantes
 
http://xdebug.org/docs/

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  idée de la consommation RAM d'un bon script PHP ?

 

Sujets relatifs
Caracteres Joker en PHPPHP cURL : simuler un bouton "Submit" / méthode POST
Créer des fonctions interne à PHPPb débutant PHP Mysql (easy PHP 3.0)
Titre d'un script CGI Perlscript de configuration reseau linux
Php et expressions régulièresscript pour modifier un xsl:for-each
Faire correspondre du code PHP aux lignes d'un textareaPHP debutant pb avec la syntaxe d'affichage
Plus de sujets relatifs à : idée de la consommation RAM d'un bon script PHP ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR