Multiplexing ou Thread PHP sous Copix

16/09/2008

Après moult développement en tout genre avec tests et montée de tension nerveuse, j’ai enfin mis à jour mon système de multiplexage PHP sous Copix. A savoir que désormais vous pouvez spécifier des serveurs distants qui pourront gérer les threads.

Le système utilise désormais stream_select, bien plus performant que de simple fsockopen dans un tableau, je peux aujourd’hui utiliser les réponses serveurs de manière ordonnée par vitesse de réponse. L’exemple de retour ci-dessous utilise 2 serveurs, le distant a répondu plus vite que deux autres threads tournant sur mon poste local. Il est donc le premier à apparaître bien que ce soit le dernier de la liste des serveurs à être appelé.

array (
  0 => 
  CopixPPO::__set_state(array(
     'wait' => 1,
     'servename' => '192.168.0.13',
     'resp' => 'Test: ok j\'ai terminé après 1 secondes',
  )),
  1 => 
  CopixPPO::__set_state(array(
     'wait' => 4,
     'servename' => '127.0.0.1',
     'resp' => 'Test: ok j\'ai terminé après 4 secondes',
  )),
  2 => 
  CopixPPO::__set_state(array(
     'wait' => 5,
     'servename' => '127.0.0.1',
     'resp' => 'Test: ok j\'ai terminé après 5 secondes',
  )),
) 

Le temps de réponse total est bien de 5 secondes et non 10 (1+4+5), les 3 threads tournent donc bel et bien en parallèle.

Je vais bientôt commiter quelques autre modifications, comme l’utilisation de stream_socket_sendto au lieu de fwrite. Je peux donc annoncer que le module de thread sous Copix, passant très bien ses tests unitaires, est “stable”.

Voilà pour la bonne nouvelle du jour. Je vais donc dés ce soir commiter mes correction pour le module de blog, de thread, etc… sachant que de plus, le module de blog utilise les threads depuis quelques semaines sur ce blog que vous lisez en ce moment :)

Ça peut vous intéresser aussi


Thread PHP dans Copix via HTTP

Dans le précédent post Thread PHP dans Copix, j’ai présenté la ...


Thread PHP dans Copix

Alors qu’on discutait sur le canal #fedora-fr de langages,...


Optimisations Copix PHP et Apache

Les temps de réponse… Dieu sait à quel point cela ...


PHP vs Java

On vient de lever la polémique au taff et du ...

Merci de m'aider à financer mes services

Si vous avez apprécié cet article, je vous serai reconnaissant de m'aider à me payer une petite bière :)

Si vous voulez en savoir plus sur l'utilisation de flattr sur mon blog, lisez cette page: Ayez pitié de moi

Commentaires

Ajouter un commentaire

Ajouter un commentaire

(*) Votre e-mail ne sera ni revendu, ni rendu public, ni utilisé pour vous proposer des mails commerciaux. Il n'est utilisé que pour vous contacter en cas de souci avec le contenu du commentaire, ou pour vous prévenir d'un nouveau commentaire si vous avez coché la case prévue à cet effet.