[Unix/C/Knowledge:)] Demon en general, et mysql en particulier;)

Demon en general, et mysql en particulier;) [Unix/C/Knowledge:)] - Divers - Programmation

Marsh Posté le 07-11-2002 à 19:23:06    

A propos des demons unix et de mysql,  
 
comment la communication apache/php -> mysql se fait :
pas socket je crois, udp il me semble, j'aimerais comfirmation.
 
 
le multiconnection est il géré par des thread ou par des fork ? quel est sont les avantages / inconvénient ?!

Reply

Marsh Posté le 07-11-2002 à 19:23:06   

Reply

Marsh Posté le 07-11-2002 à 20:46:14    


Bon, je vais tenter de résumer ce que j'avais découvert (cad je me plante peut être :p).
 
PHP utilise la libmysql (sauf si tu compiles avec le support built-in limité, mais bon, passons sur ce point). Pour chaque connection, PHP recoit un joli record, et il est fort probable que la connection au serveur MySQL soit un socket, mais plutot du TCP, de l'UDP pour une base de donnée ce serait du suicide (rapelle toi la principale caractéristique de l'UDP, on s'en fout si ca arrive ou pas!).
 
Par MultiConnection je suppose que tu veux dire le PConnect. Et bien PHP partage juste son record via sa librairie de gestion mysql (php_mysql ou un truc comme ca), evidemment ca pose des problèmes vu que 2 clients connectés via un PConnect sont considérés comme les mêmes personnes et si tu veux utiliser des transactions ca risque d'être bonbon, enfin bon, c'est rarement le cas, je vois pas pourquoi j'en parle  :ange:  
 
Au niveau de Apache 1.x/PHP lui même, ce sont des fork (cfr mon topic ou je demande le status pour le 2.x).


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 07-11-2002 à 20:47:33    

ouais, la communication se fait soit par TCP soit par sockets unix il me semble.

Reply

Marsh Posté le 07-11-2002 à 20:48:28    

soit TCP, soit Socket
si tu mets --skip-networking, ca sera par socket uniquement.
Pour mysql, c'est des threads.


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 07-11-2002 à 20:50:58    

joce a écrit a écrit :

 
Pour mysql, c'est des threads.
 




 
Ah, enfin ca c'etait pas clair ca question, si c'etait du côté Apache ou MySQL que ca l'intéressait  :D


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 07-11-2002 à 21:02:33    

socket et pas TCP -> surment socket UDP alors mais pas RAW
 
enfait, ce que je voulais savoir c'est si a chaque nouvelle connection a gerer, mysql faisait un fork ou bien un thread:)
bon je crois que j'ai ma réponse:)
 
je vais dév ma base de données donc je me renseigne :)

Reply

Marsh Posté le 07-11-2002 à 21:13:32    

"soit TCP, soit Socket", ça veut pas dire grand chose. Une socket c'est un point d'entrée à un protocole de communication. On utilise TCP via une socket.
 
Si tu accède à ta base de données de manière distante, l'accès se fait via une socket TCP (PF_INET). Par contre je pense que les accès locaux se font via une socket Unix (PF_UNIX). Si tu spécifie "skip-networking" dans le fichier de conf de MySQL, l'accès ne pourra se faire qu'en local.
 
Update : j'en suis même sûr : "Clients may connect to the MySQL server using TCP/IP Sockets, Unix Sockets (Unix), or Named Pipes (NT)". A noter que mysqladmin t'indique comment est accédée ta base de données (eg. "Localhost via Unix socket" ).


Message édité par matafan le 07-11-2002 à 21:19:34
Reply

Marsh Posté le 07-11-2002 à 21:46:11    

slvn a écrit a écrit :

socket et pas TCP -> surment socket UDP alors mais pas RAW
 




 
Mais bon sang, surement pas de l'UDP, tu sais ce que c'est de l'UDP? Tu peux te permettre de perdre 50% des paquets? Pas vraiment pour une base de donnée hein  :pt1cable:


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 07-11-2002 à 21:57:44    

c toi qu' a pas capté mon Msg ;)
je me demandais ce qu'entendait joce pas  
 
UDP xor socket:d
UPD, je sais ce que c, donc je me demandais ce qu il voulait dire pas socket tout courd, udp ou raw...
mais en fait, Matafan a surment raison, ca reste du udp, mais restriction a la machine seule! (pas de connection depuis l exterieur!)

Reply

Marsh Posté le 07-11-2002 à 21:59:52    

slvn a écrit a écrit :

mais en fait, Matafan a surment raison, ca reste du udp, mais restriction a la machine seule! (pas de connection depuis l exterieur!)




 
Un socket Unix c'est de l'UDP  :heink:


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 07-11-2002 à 21:59:52   

Reply

Marsh Posté le 07-11-2002 à 22:03:32    

zion a écrit a écrit :

 
Un socket Unix c'est de l'UDP  :heink:  




 
non, je te rassure.

Reply

Marsh Posté le 07-11-2002 à 22:17:12    

oups, j'ai pas relu mon msg et j'ai dit l'inverse de ce que je voulais dire, c pas udp mais tcp qu'il faut lire,  
 
et ce qu'il faut comprendre c'est que mysql communique par socket tcp : soit en mode : PF_INET, soit PF_UNIX.

Reply

Marsh Posté le 07-11-2002 à 22:32:10    

Ouais enfin une socket Unix c'est pas trop du TCP, pas plus que de l'UDP... Une socket unix c'est pour faire de la communication inter-process. Rien à voir avec les protocoles reseaux.

Reply

Marsh Posté le 08-11-2002 à 00:01:10    

mais qu'est ce qu'on vous apprends à l'ISEP :D (c'est ton projet de fin d'étude ? :D)


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed