Sujet: PHP ... ca consomme énormément :petrus:
16/11/2006 @ 22:09:21: zion: PHP ... ca consomme énormément :petrus:

Petit ramage ce soir dû à un excité du bulbe ( :joce: ) qui aspirait le site... mais de manière générale, j'ai un petit soucis avec PHP donc.

Le serveur fonctionne comme suit:
lighttpd qui fait le frontend. Il gère le css, les images et fait proxy pour le php
apache + mod_php + kelare pour le reste

Apache est à l'ancienne (fork à gogo) parce que PHP en mode threadé c'est une catastrophe sans nom (je suis toujours à PHP4).

Apache avec PHP + les modules + quelques centaines de requêtes, il arrive facilement à 40MB de RAM. Si on calcule donc, 50 Apaches et mes 2gbs s'ont explosés, ce qui arrive parfois quand il y a beaucoup de trafic :sweat:

Passer à un autre langage est exclu pour le moment, passer à PHP 5.4 c'est un boulot non négligeable non plus (ils ont modifié beaucoup et j'ai eu quelques soucis avec la 5.0). Il n'en reste pas moins que cela consomme :sweat:
16/11/2006 @ 22:10:55: cauet: PHP ... ca consomme énormément :petrus:
5.2 tu veux dire? :oh:
16/11/2006 @ 22:11:37: zion: PHP ... ca consomme énormément :petrus:
Oui flute, 5.2 en effet :petrus:
16/11/2006 @ 22:20:30: philfr: PHP ... ca consomme énormément :petrus:
kelare n'est pas écrit en PHP ?
Apache fait donc juste proxy pour kelare ?
Tu fais quoi avec PHP ?
16/11/2006 @ 22:31:19: zion: PHP ... ca consomme énormément :petrus:
Kelare c'est un module compilé, c'est du Pascal (Delphi/Kylix).

En PHP j'invoque mon module tout simplement, je crée les classes, je lui passe quelques paramètres et je fais quelques petits tâches sans intérêt :joce:

Apache charge PHP en module. PHP charge Kelare en module. Le PHP ressemble à :

$document = new TXDocument();
$document->LoadTemplate("...");

Pour tout informaticien, on arrive à moins de 100k de PHP en fait.
...
16/11/2006 @ 22:35:39: zion: PHP ... ca consomme énormément :petrus:
Solution ultime... Me passer en effet de PHP totalement pour une version 3 (Kelare est en 2.x :petrus: ) et du simple coup je pourrais utiliser Apache en mode threadé vu que je ne serais plus limité par ce PHP.

Dans un sens c'est con, je pensais l'utiliser plus que cela encore PHP et je ne fais que créer des classes, passer des paramètres et afficher parfois un message, 100k c'est les mêmes 100k pour quasi tous les sites en plus à quelques exceptions près :kiki:

16/11/2006 @ 22:35:53: philfr: PHP ... ca consomme énormément :petrus:
:figti:

Kelare est en Delphi, ok. C'est un module apache à part entière ? C'est un exécutable "spawné" par php ? C'est un module PHP (ça je ne sais pas ce que c'est, mais tu dis que PHP invoque ton module...) ? C'est un serveur web ou FastCGI ?
16/11/2006 @ 22:40:12: zion: PHP ... ca consomme énormément :petrus:
Nan, PHP a des modules comme php_mysql et du coup tu peux utiliser les objets et les fonctions de tes modules en PHP, ce sont des extensions au langage.

C'est pas un module Apache, Kelare se raccroche uniquement à PHP et c'est PHP qui lui a son module Apache. (C'est une librairie, pas un exécutable, seul il ne sait rien faire :petrus: )
16/11/2006 @ 22:42:50: Altar: PHP ... ca consomme énormément :petrus:
On se le demande :oh:
16/11/2006 @ 22:54:41: philfr: PHP ... ca consomme énormément :petrus:
Donc Kelare est un module php ? Qui ajoute des fonctions Kelare à PHP ?
Et le "front-end" de Kelare sur lequel on tombe via apache est en PHP ?

(excuse-moi si j'ai l'air con avec mes questions, mais pour moi tant que tout n'est pas clair...)
16/11/2006 @ 22:58:52: zion: PHP ... ca consomme énormément :petrus:
Kelare est bien un module PHP, PHP loade la librairie et Kelare doit définir à PHP via une API la liste des fonctions et objets disponibles. Après tu peux du coup l'utiliser en PHP.

Le front-end de Kelare est en effet en PHP, ce qui fait du coup que tout le monde pense que Kelare est en PHP alors qu'il ne représente que 1% du code source (et encore :oh: ).
16/11/2006 @ 23:00:55: zion: PHP ... ca consomme énormément :petrus:
En gros, quand tu fais un appel forum_topic.html, il y a:

lightttpd qui accepte la requête et renvoie en proxy à Apache
Apache reçoit la requête et l'envoie au module PHP vu que c'est un .php (url rewriting toussa)
dans le script PHP j'invoque kelare ( magiiiie :oh: ) et Kelare s'occupe de tout y compris d'envoyer l'output final à PHP qui renvoie directement le tout à Apache, puis à lighttpd puis à l'user final :petrus:
16/11/2006 @ 23:02:13: Altar: PHP ... ca consomme énormément :petrus:
pourquoi faire simple quand on peut faire compliquer :dawaaa:
16/11/2006 @ 23:05:25: zion: PHP ... ca consomme énormément :petrus:
Parce qu'à la base, Kelare 1.0 était en full PHP et que cette daube sans nom ( ah si, PHP ) s'écroulait quand j'utilisais les quelques milliers d'objets dont j'ai besoin :oh:

J'ai résolu cela et amélioré de loin les performances en faisant ça... La prochaine version ce serait peut être pas idiot que je supprime complètement ce PHP de mon esprit :petrus:
16/11/2006 @ 23:09:00: Altar: PHP ... ca consomme énormément :petrus:
zion > Vivement la version 3 alors :oh: Si tu pouvais retirer apache de l'équation aussi :petrus:
16/11/2006 @ 23:10:05: philfr: PHP ... ca consomme énormément :petrus:
Et est-il imaginable que ton programme Delphi, en plus d'être un module PHP devienne un module autre chose ? Ou utilises-tu dans le code Delphi des fonctions de glue spécifiques à PHP ?

Parce que s'il faut juste réécrire le front-end et le glue...
16/11/2006 @ 23:11:09: zion: PHP ... ca consomme énormément :petrus:
Difficilement... Mais dans l'absolu c'est jouable je suppose :petrus:

Ce sera donc du LAMP LM :petrus:
16/11/2006 @ 23:12:41: philfr: PHP ... ca consomme énormément :petrus:
Oué enfin, si tu peux virer MySQL c'est encore mieux... :whistle:
16/11/2006 @ 23:13:04: zion: PHP ... ca consomme énormément :petrus:
phil> J'ai un module de base qui s'occupe justement de faire le lien entre PHP et mes objets Delphi... Il n'y a que ce module (300k) à réécrire plus quelques fonctions à adapter.

Mon seul soucis restera de trouver un moyen de faire les petites tâches spécifiques à chaque site de manière scriptable mais sans PHP. Je dois pouvoir me démerder :petrus:

Bon je fork la 2.x en branche 3.x unstable et 2.x :ddr555:
16/11/2006 @ 23:13:18: Altar: PHP ... ca consomme énormément :petrus:
Vive le roy :prosterne:
Retour