Je suis dans une phase d'optimisation de mon site et je souhaite
paralléliser toutes les portions de code qui exécutent des requêtes sql
dont le résultat n'est pas nécessaire au déroulement du script
(insertion, suppression, mise à jour...).
Si une requête s'exécute en 2 ms ce sera toujours 2 ms de moins sur la
durée d'exécution totale du script php, la question c'est comment faire?
Pour l'affichage de mes vues j'utilise le moteur de template smarty et
j'ai remarqué que le simple chargement du module coute en moyenne 4 à 5
ms, ce module est appelé sur toutes les pages du site. Y aurait il un
moyen quelconque de le précharger dans php.ini d'une façon ou d'une
autre, vu que je déclare une instance de l'objet smarty y aurait peut
être un moyen de rendre cette instance persistante pour qu'elle soit
disponible à l'éxécution de chaque script?
Je suis dans une phase d'optimisation de mon site et je souhaite
paralléliser toutes les portions de code qui exécutent des requêtes sql
dont le résultat n'est pas nécessaire au déroulement du script
(insertion, suppression, mise à jour...).
Si une requête s'exécute en 2 ms ce sera toujours 2 ms de moins sur la
durée d'exécution totale du script php, la question c'est comment faire?
Pour l'affichage de mes vues j'utilise le moteur de template smarty et
j'ai remarqué que le simple chargement du module coute en moyenne 4 à 5
ms, ce module est appelé sur toutes les pages du site. Y aurait il un
moyen quelconque de le précharger dans php.ini d'une façon ou d'une
autre, vu que je déclare une instance de l'objet smarty y aurait peut
être un moyen de rendre cette instance persistante pour qu'elle soit
disponible à l'éxécution de chaque script?
Je suis dans une phase d'optimisation de mon site et je souhaite
paralléliser toutes les portions de code qui exécutent des requêtes sql
dont le résultat n'est pas nécessaire au déroulement du script
(insertion, suppression, mise à jour...).
Si une requête s'exécute en 2 ms ce sera toujours 2 ms de moins sur la
durée d'exécution totale du script php, la question c'est comment faire?
Pour l'affichage de mes vues j'utilise le moteur de template smarty et
j'ai remarqué que le simple chargement du module coute en moyenne 4 à 5
ms, ce module est appelé sur toutes les pages du site. Y aurait il un
moyen quelconque de le précharger dans php.ini d'une façon ou d'une
autre, vu que je déclare une instance de l'objet smarty y aurait peut
être un moyen de rendre cette instance persistante pour qu'elle soit
disponible à l'éxécution de chaque script?
Bonjour,
Je suis dans une phase d'optimisation de mon site et je souhaite
paralléliser toutes les portions de code qui exécutent des requêtes sql
dont le résultat n'est pas nécessaire au déroulement du script
(insertion, suppression, mise à jour...).
Pour l'affichage de mes vues j'utilise le moteur de template smarty et
j'ai remarqué que le simple chargement du module coute en moyenne 4 à 5
ms, ce module est appelé sur toutes les pages du site...
...Y aurait il un
moyen quelconque de le précharger dans php.ini d'une façon ou d'une
autre, vu que je déclare une instance de l'objet smarty y aurait peut
être un moyen de rendre cette instance persistante pour qu'elle soit
disponible à l'éxécution de chaque script?
Bonjour,
Je suis dans une phase d'optimisation de mon site et je souhaite
paralléliser toutes les portions de code qui exécutent des requêtes sql
dont le résultat n'est pas nécessaire au déroulement du script
(insertion, suppression, mise à jour...).
Pour l'affichage de mes vues j'utilise le moteur de template smarty et
j'ai remarqué que le simple chargement du module coute en moyenne 4 à 5
ms, ce module est appelé sur toutes les pages du site...
...Y aurait il un
moyen quelconque de le précharger dans php.ini d'une façon ou d'une
autre, vu que je déclare une instance de l'objet smarty y aurait peut
être un moyen de rendre cette instance persistante pour qu'elle soit
disponible à l'éxécution de chaque script?
Bonjour,
Je suis dans une phase d'optimisation de mon site et je souhaite
paralléliser toutes les portions de code qui exécutent des requêtes sql
dont le résultat n'est pas nécessaire au déroulement du script
(insertion, suppression, mise à jour...).
Pour l'affichage de mes vues j'utilise le moteur de template smarty et
j'ai remarqué que le simple chargement du module coute en moyenne 4 à 5
ms, ce module est appelé sur toutes les pages du site...
...Y aurait il un
moyen quelconque de le précharger dans php.ini d'une façon ou d'une
autre, vu que je déclare une instance de l'objet smarty y aurait peut
être un moyen de rendre cette instance persistante pour qu'elle soit
disponible à l'éxécution de chaque script?
Bonjour,
Je suis dans une phase d'optimisation de mon site et je souhaite
paralléliser toutes les portions de code qui exécutent des requêtes sql
dont le résultat n'est pas nécessaire au déroulement du script
(insertion, suppression, mise à jour...).
Si une requête s'exécute en 2 ms ce sera toujours 2 ms de moins sur la
durée d'exécution totale du script php, la question c'est comment faire?
Bonjour,
Je suis dans une phase d'optimisation de mon site et je souhaite
paralléliser toutes les portions de code qui exécutent des requêtes sql
dont le résultat n'est pas nécessaire au déroulement du script
(insertion, suppression, mise à jour...).
Si une requête s'exécute en 2 ms ce sera toujours 2 ms de moins sur la
durée d'exécution totale du script php, la question c'est comment faire?
Bonjour,
Je suis dans une phase d'optimisation de mon site et je souhaite
paralléliser toutes les portions de code qui exécutent des requêtes sql
dont le résultat n'est pas nécessaire au déroulement du script
(insertion, suppression, mise à jour...).
Si une requête s'exécute en 2 ms ce sera toujours 2 ms de moins sur la
durée d'exécution totale du script php, la question c'est comment faire?
Le temps sera malgré tout consommé. Pas au meme moment, mais consommé.
Ce qui n'optimisera pas as ton site. Tu devrais regarder s'il ne serait
pas pertinent d'utiliser un cache (fichier, memcache, mémoire partagée,
etc) pour les vues. Mais là encore il n'y a pas de solution miracle.
Le temps sera malgré tout consommé. Pas au meme moment, mais consommé.
Ce qui n'optimisera pas as ton site. Tu devrais regarder s'il ne serait
pas pertinent d'utiliser un cache (fichier, memcache, mémoire partagée,
etc) pour les vues. Mais là encore il n'y a pas de solution miracle.
Le temps sera malgré tout consommé. Pas au meme moment, mais consommé.
Ce qui n'optimisera pas as ton site. Tu devrais regarder s'il ne serait
pas pertinent d'utiliser un cache (fichier, memcache, mémoire partagée,
etc) pour les vues. Mais là encore il n'y a pas de solution miracle.
Nan.
la question est permtinante et reviens a dire:
comment lancer un thread deuips un script PHP?
Il n'y a malheureusement guère de solution.
J'ai eu un cas ou je devais faire un calcul assez complexe et qui était
facilement parallelisable.
Ben ca n'a pas été simple.
Nan.
la question est permtinante et reviens a dire:
comment lancer un thread deuips un script PHP?
Il n'y a malheureusement guère de solution.
J'ai eu un cas ou je devais faire un calcul assez complexe et qui était
facilement parallelisable.
Ben ca n'a pas été simple.
Nan.
la question est permtinante et reviens a dire:
comment lancer un thread deuips un script PHP?
Il n'y a malheureusement guère de solution.
J'ai eu un cas ou je devais faire un calcul assez complexe et qui était
facilement parallelisable.
Ben ca n'a pas été simple.
PHP n'est pas un langage de programmation, mais un outil de
templating. Le but de cet outil n'est pas de permettre les processus
persistant. Il n'y a donc pas de nécessité à l'usage des threads.
Si tu en as absolument besoin, c'est qu'il y a un problème de design de ton
application.
Et là, oui, on pourrait souhaiter que PHP dispose de threads.
PHP n'est pas un langage de programmation, mais un outil de
templating. Le but de cet outil n'est pas de permettre les processus
persistant. Il n'y a donc pas de nécessité à l'usage des threads.
Si tu en as absolument besoin, c'est qu'il y a un problème de design de ton
application.
Et là, oui, on pourrait souhaiter que PHP dispose de threads.
PHP n'est pas un langage de programmation, mais un outil de
templating. Le but de cet outil n'est pas de permettre les processus
persistant. Il n'y a donc pas de nécessité à l'usage des threads.
Si tu en as absolument besoin, c'est qu'il y a un problème de design de ton
application.
Et là, oui, on pourrait souhaiter que PHP dispose de threads.
C'est quand même un peu réducteur et partiellement faux.
Je te donne un exemple que j'ai eu récemment: interroger par XMLRPC des
machines distantes pour collecter des informations qu'elles ne sont pas
capables de remonter seules en push d'information.
Nous sommes d'accord, on peut faire un daemon qui va le faire
régulièrement, stocker l'information, et avoir un bout de webapp qui ne
fait que lire ce résultat. Pour diverses raisons, ce n'était pas
souhaitable.
> Et là, oui, on pourrait souhaiter que PHP dispose de threads.
On peut le faire en stand-alone:
http://fr2.php.net/manual/en/intro.pcntl.php
On peut aussi faire exec("monshell.sh") avec les risques que ça comporte
et avoir dans le shell un wget monurl.php & <- noter le background
Mais clairement si on a BESOIN de ce genre de comportement, ou il faut
le faire côté client, ou changer d'architecture (typiquement, dans mon
cas, c'est le boulot d'un deamon type Nagios ou Hobbit) ou changer de
techno.
C'est quand même un peu réducteur et partiellement faux.
Je te donne un exemple que j'ai eu récemment: interroger par XMLRPC des
machines distantes pour collecter des informations qu'elles ne sont pas
capables de remonter seules en push d'information.
Nous sommes d'accord, on peut faire un daemon qui va le faire
régulièrement, stocker l'information, et avoir un bout de webapp qui ne
fait que lire ce résultat. Pour diverses raisons, ce n'était pas
souhaitable.
> Et là, oui, on pourrait souhaiter que PHP dispose de threads.
On peut le faire en stand-alone:
http://fr2.php.net/manual/en/intro.pcntl.php
On peut aussi faire exec("monshell.sh") avec les risques que ça comporte
et avoir dans le shell un wget monurl.php & <- noter le background
Mais clairement si on a BESOIN de ce genre de comportement, ou il faut
le faire côté client, ou changer d'architecture (typiquement, dans mon
cas, c'est le boulot d'un deamon type Nagios ou Hobbit) ou changer de
techno.
C'est quand même un peu réducteur et partiellement faux.
Je te donne un exemple que j'ai eu récemment: interroger par XMLRPC des
machines distantes pour collecter des informations qu'elles ne sont pas
capables de remonter seules en push d'information.
Nous sommes d'accord, on peut faire un daemon qui va le faire
régulièrement, stocker l'information, et avoir un bout de webapp qui ne
fait que lire ce résultat. Pour diverses raisons, ce n'était pas
souhaitable.
> Et là, oui, on pourrait souhaiter que PHP dispose de threads.
On peut le faire en stand-alone:
http://fr2.php.net/manual/en/intro.pcntl.php
On peut aussi faire exec("monshell.sh") avec les risques que ça comporte
et avoir dans le shell un wget monurl.php & <- noter le background
Mais clairement si on a BESOIN de ce genre de comportement, ou il faut
le faire côté client, ou changer d'architecture (typiquement, dans mon
cas, c'est le boulot d'un deamon type Nagios ou Hobbit) ou changer de
techno.
PHP n'est pas un langage de programmation, mais un outil de
templating.
Le modèle de
fonctionnement qui vient avec le Web, c'est justement d'avoir des
processus à courte durée de vie qui meurent rapidement après avoir
généré la requete HTTP qui va bien.
PHP n'est pas un langage de programmation, mais un outil de
templating.
Le modèle de
fonctionnement qui vient avec le Web, c'est justement d'avoir des
processus à courte durée de vie qui meurent rapidement après avoir
généré la requete HTTP qui va bien.
PHP n'est pas un langage de programmation, mais un outil de
templating.
Le modèle de
fonctionnement qui vient avec le Web, c'est justement d'avoir des
processus à courte durée de vie qui meurent rapidement après avoir
généré la requete HTTP qui va bien.
Pourtant historiquement et techniquement, c'est un point de vu que je
considère valable.
Mais je suis ouvert à la discussion :) Qu'est-ce qui
t'amène à considérer ma description comme réductrice et fausse ?
Nous sommes d'accord, on peut faire un daemon qui va le faire
régulièrement, stocker l'information, et avoir un bout de webapp qui ne
fait que lire ce résultat. Pour diverses raisons, ce n'était pas
souhaitable.
C'est ce point là qui est intéressant, et qui justifie la
parallélisation : pourquoi n'était-ce pas souhaitable ?
Parce que dans l'absolu, l'architecture dans laquelle la responsabilité de consulter
les sources XMLRPC devrait effectivement être déléguée à un script en
cron (en PHP par exemple).
On peut aussi faire exec("monshell.sh") avec les risques que ça comporte
et avoir dans le shell un wget monurl.php & <- noter le background
Si tu savais combien de fois j'ai vu ça dans des systèmes pro :D
Personnellement je n'aurais pas confiance en PHP pour faire ça. Tant
que PHP reste simple et qu'il meurt vite, je suis ok. Mais ensuite, les
fuites mémoires et les problèmes liées aux performances me rendent nerveux.
Pourtant historiquement et techniquement, c'est un point de vu que je
considère valable.
Mais je suis ouvert à la discussion :) Qu'est-ce qui
t'amène à considérer ma description comme réductrice et fausse ?
Nous sommes d'accord, on peut faire un daemon qui va le faire
régulièrement, stocker l'information, et avoir un bout de webapp qui ne
fait que lire ce résultat. Pour diverses raisons, ce n'était pas
souhaitable.
C'est ce point là qui est intéressant, et qui justifie la
parallélisation : pourquoi n'était-ce pas souhaitable ?
Parce que dans l'absolu, l'architecture dans laquelle la responsabilité de consulter
les sources XMLRPC devrait effectivement être déléguée à un script en
cron (en PHP par exemple).
On peut aussi faire exec("monshell.sh") avec les risques que ça comporte
et avoir dans le shell un wget monurl.php & <- noter le background
Si tu savais combien de fois j'ai vu ça dans des systèmes pro :D
Personnellement je n'aurais pas confiance en PHP pour faire ça. Tant
que PHP reste simple et qu'il meurt vite, je suis ok. Mais ensuite, les
fuites mémoires et les problèmes liées aux performances me rendent nerveux.
Pourtant historiquement et techniquement, c'est un point de vu que je
considère valable.
Mais je suis ouvert à la discussion :) Qu'est-ce qui
t'amène à considérer ma description comme réductrice et fausse ?
Nous sommes d'accord, on peut faire un daemon qui va le faire
régulièrement, stocker l'information, et avoir un bout de webapp qui ne
fait que lire ce résultat. Pour diverses raisons, ce n'était pas
souhaitable.
C'est ce point là qui est intéressant, et qui justifie la
parallélisation : pourquoi n'était-ce pas souhaitable ?
Parce que dans l'absolu, l'architecture dans laquelle la responsabilité de consulter
les sources XMLRPC devrait effectivement être déléguée à un script en
cron (en PHP par exemple).
On peut aussi faire exec("monshell.sh") avec les risques que ça comporte
et avoir dans le shell un wget monurl.php & <- noter le background
Si tu savais combien de fois j'ai vu ça dans des systèmes pro :D
Personnellement je n'aurais pas confiance en PHP pour faire ça. Tant
que PHP reste simple et qu'il meurt vite, je suis ok. Mais ensuite, les
fuites mémoires et les problèmes liées aux performances me rendent nerveux.
Bonjour,
Je suis dans une phase d'optimisation de mon site et je souhaite
paralléliser toutes les portions de code qui exécutent des requêtes sql
dont le résultat n'est pas nécessaire au déroulement du script
(insertion, suppression, mise à jour...).
Si une requête s'exécute en 2 ms ce sera toujours 2 ms de moins sur la
durée d'exécution totale du script php, la question c'est comment faire?
Pour l'affichage de mes vues j'utilise le moteur de template smarty et
j'ai remarqué que le simple chargement du module coute en moyenne 4 à 5
ms, ce module est appelé sur toutes les pages du site. Y aurait il un
moyen quelconque de le précharger dans php.ini d'une façon ou d'une
autre, vu que je déclare une instance de l'objet smarty y aurait peut
être un moyen de rendre cette instance persistante pour qu'elle soit
disponible à l'éxécution de chaque script?
Bonjour,
Je suis dans une phase d'optimisation de mon site et je souhaite
paralléliser toutes les portions de code qui exécutent des requêtes sql
dont le résultat n'est pas nécessaire au déroulement du script
(insertion, suppression, mise à jour...).
Si une requête s'exécute en 2 ms ce sera toujours 2 ms de moins sur la
durée d'exécution totale du script php, la question c'est comment faire?
Pour l'affichage de mes vues j'utilise le moteur de template smarty et
j'ai remarqué que le simple chargement du module coute en moyenne 4 à 5
ms, ce module est appelé sur toutes les pages du site. Y aurait il un
moyen quelconque de le précharger dans php.ini d'une façon ou d'une
autre, vu que je déclare une instance de l'objet smarty y aurait peut
être un moyen de rendre cette instance persistante pour qu'elle soit
disponible à l'éxécution de chaque script?
Bonjour,
Je suis dans une phase d'optimisation de mon site et je souhaite
paralléliser toutes les portions de code qui exécutent des requêtes sql
dont le résultat n'est pas nécessaire au déroulement du script
(insertion, suppression, mise à jour...).
Si une requête s'exécute en 2 ms ce sera toujours 2 ms de moins sur la
durée d'exécution totale du script php, la question c'est comment faire?
Pour l'affichage de mes vues j'utilise le moteur de template smarty et
j'ai remarqué que le simple chargement du module coute en moyenne 4 à 5
ms, ce module est appelé sur toutes les pages du site. Y aurait il un
moyen quelconque de le précharger dans php.ini d'une façon ou d'une
autre, vu que je déclare une instance de l'objet smarty y aurait peut
être un moyen de rendre cette instance persistante pour qu'elle soit
disponible à l'éxécution de chaque script?