Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Distcc - ccache] problème de configuration (résolu)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
boozo
Advocate
Advocate


Joined: 01 Jul 2004
Posts: 3193

PostPosted: Wed Feb 08, 2006 11:57 am    Post subject: [Distcc - ccache] problème de configuration (résolu) Reply with quote

'alute

bon là j'y suis depuis hier et... je craque :evil: impossible de faire tourner distcc correctement...
la configuration est simple pourtant mais j'ai trop la tête dans le guidon pour voir où je me plante alors si un regard neuf passe dans le coin... :)

details de la config : gcc-3.4 partout et pas de profile hardened sur ce coups-là d'autre part le client doit compiler avec le serveur et le serveur compilera tout seul comme un grand. disccd est au default runlevel pour les deux et un top -u distcc me montre bien les processus.

Client 192.168.1.1 :
/etc/conf.d/distccd
Code:
DISTCCD_OPTS="-j5"
DISTCCD_EXEC="/usr/bin/distccd"
DISTCCD_PIDFILE="/var/run/distccd/distccd.pid"
DISTCCD_OPTS="${DISTCCD_OPTS} --port 3632"
DISTCCD_OPTS="${DISTCCD_OPTS} --log-level critical"
DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.1.1 --allow 192.168.1.10"
DISTCCD_NICE="0"

/etc/distcc/hosts
Code:
192.168.1.1 192.168.1.10

/etc/make.conf
Code:
MAKEOPTS="-j5"
FEATURES="sandbox distcc ccache buildsyspkg"
DISTCC_DIR="/var/tmp/portage/.distcc"
CCACHE_DIR="/var/tmp/ccache"
CCACHE_SIZE="2G"


Serveur 192.168.1.10 : /etc/conf.d/distccd
Code:
DISTCCD_OPTS="-j5"
DISTCCD_EXEC="/usr/bin/distccd"
DISTCCD_PIDFILE="/var/run/distccd/distccd.pid"
DISTCCD_OPTS="${DISTCCD_OPTS} --port 3632"
DISTCCD_OPTS="${DISTCCD_OPTS} --log-level critical"
DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.1.1 --allow 192.168.1.10"
DISTCCD_OPTS="${DISTCCD_OPTS} --listen 192.168.1.1"
DISTCCD_NICE="15"

/etc/distcc/hosts
Code:
192.168.1.10

/etc/make.conf
Code:
MAKEOPTS="-j5"
FEATURES="sandbox distcc ccache buildsyspkg"
CCACHE_SIZE="2G"
CCACHE_DIR="/var/tmp/ccache"
DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"


voilà... distccmon-gui &|| -text ne me renvois rien du tout :cry: merci de vos lumières
_________________
" Un psychotique, c'est quelqu'un qui croit dur comme fer que 2 et 2 font 5, et qui en est pleinement satisfait.
Un névrosé, c'est quelqu'un qui sait pertinemment que 2 et 2 font 4, et ça le rend malade ! "


Last edited by boozo on Sat May 20, 2006 5:03 pm; edited 2 times in total
Back to top
View user's profile Send private message
anigel
Bodhisattva
Bodhisattva


Joined: 14 Apr 2003
Posts: 1894
Location: Un petit bled pas loin de Limoges ;-)

PostPosted: Wed Feb 08, 2006 1:05 pm    Post subject: Re: [Distcc - ccache] problème de configuration Reply with quote

Plop,

J'apporte 2 / 3 corrections à ta config :

Client 192.168.1.1 :
/etc/conf.d/distccd
Code:
DISTCCD_OPTS="-j5"
DISTCCD_EXEC="/usr/bin/distccd"
DISTCCD_PIDFILE="/var/run/distccd/distccd.pid"
DISTCCD_OPTS="${DISTCCD_OPTS} --port 3632"
DISTCCD_OPTS="${DISTCCD_OPTS} --log-level critical"
DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.1.0/24"
DISTCCD_OPTS="${DISTCCD_OPTS} --listen 192.168.1.1"
DISTCCD_NICE="0"


Serveur 192.168.1.10 :
/etc/conf.d/distccd
Code:
DISTCCD_OPTS="-j5"
DISTCCD_EXEC="/usr/bin/distccd"
DISTCCD_PIDFILE="/var/run/distccd/distccd.pid"
DISTCCD_OPTS="${DISTCCD_OPTS} --port 3632"
DISTCCD_OPTS="${DISTCCD_OPTS} --log-level critical"
DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.1./24"
DISTCCD_OPTS="${DISTCCD_OPTS} --listen 192.168.1.10"
DISTCCD_NICE="15"


Explications : les directives de configuration de distcc sont sommaires (très sommaires même, à mon goût, cf le problème de sécurité connu à cause de ses limitations il y a presque 1 an maintenant).

--listen sert à spécifier sur quelle ip vont être reçues les demandes de compilation : tu dois donc utiliser l'une des ip de la machine sur laquelle tu es.
--allow prend en argument un netblock : tu autorises les requêtes venant des machines du sous-réseau spécifié (tu peux limiter en ajustant le /24 selon tes besoins, et en adaptant ta numérotation ip en même temps).
_________________
Il y a 10 sortes d'individus en ce bas-monde : ceux qui causent binaire, et les autres.
Back to top
View user's profile Send private message
anigel
Bodhisattva
Bodhisattva


Joined: 14 Apr 2003
Posts: 1894
Location: Un petit bled pas loin de Limoges ;-)

PostPosted: Wed Feb 08, 2006 1:07 pm    Post subject: Reply with quote

Ah, j'oubliais : le MAKEOPTS="-j5" doit être un peu surévalué sur ton serveur : car si lui ne doit pas demander au client de compiler pour lui, alors tu devrais lui demander de compiler moins de trucs en même temps. Donnes-nous les types de CPU que tu utilises pour chacune de tes machines stp, avec leurs spécificités (bi-core ? hyperthreading ? etc...).
_________________
Il y a 10 sortes d'individus en ce bas-monde : ceux qui causent binaire, et les autres.
Back to top
View user's profile Send private message
-KuRGaN-
Veteran
Veteran


Joined: 05 Dec 2004
Posts: 1142
Location: Besançon (25) [FRANCE]

PostPosted: Wed Feb 08, 2006 1:30 pm    Post subject: Reply with quote

Excuse moi boozo mais je profite de ton thread sur distcc pour poser une petite question qui me turlupine:

voilà, j'ai un serveur avec un xen dessus et trois serveurs virtuels qui tournent dessus en plus de mon dom0.
Est-ce que ça vaut le coup que j'installe un serveur distcc sur chaque serveur virtuel en sachant que ces domaines virtuels sont limités en RAM mais pas en CPU, (un serveur virtuel peut prendre 99% du CPU si besoin et si les autres n'en n'ont pas besoin) ou plutôt en mettre juste un sur un serveur virtuel ???
_________________
Knight Gent00 Industries RiDeR !!!!
Back to top
View user's profile Send private message
boozo
Advocate
Advocate


Joined: 01 Jul 2004
Posts: 3193

PostPosted: Wed Feb 08, 2006 1:37 pm    Post subject: Reply with quote

glop ! glop ! :)

pour le -j , j'ai trouvé de tout... 2*cpu +1 ; 2*cpu ; etc... mais je suis d'accord avec toi il faut tester pour voir ce qui va le mieux :wink: sur le client c'est un P4 2.8GHz classique et sur le serveur c'est un celeron D350 3.2GHz sans HT

voili voilà

ps: je sync là... je teste ensuite

[Edit] @ -KuRGaN- : t'inquiète ! va y squate... moi je suis largement largué sur xen alors ^^
_________________
" Un psychotique, c'est quelqu'un qui croit dur comme fer que 2 et 2 font 5, et qui en est pleinement satisfait.
Un névrosé, c'est quelqu'un qui sait pertinemment que 2 et 2 font 4, et ça le rend malade ! "


Last edited by boozo on Wed Feb 08, 2006 1:39 pm; edited 1 time in total
Back to top
View user's profile Send private message
anigel
Bodhisattva
Bodhisattva


Joined: 14 Apr 2003
Posts: 1894
Location: Un petit bled pas loin de Limoges ;-)

PostPosted: Wed Feb 08, 2006 1:37 pm    Post subject: Reply with quote

-KuRGaN- wrote:
Excuse moi boozo mais je profite de ton thread sur distcc pour poser une petite question qui me turlupine:

voilà, j'ai un serveur avec un xen dessus et trois serveurs virtuels qui tournent dessus en plus de mon dom0.
Est-ce que ça vaut le coup que j'installe un serveur distcc sur chaque serveur virtuel en sachant que ces domaines virtuels sont limités en RAM mais pas en CPU, (un serveur virtuel peut prendre 99% du CPU si besoin et si les autres n'en n'ont pas besoin) ou plutôt en mettre juste un sur un serveur virtuel ???


Je pense que ça dépend de ta config matérielle (1 ou plusieurs cpu ? logiques ou physiques ?). Si tu n'as qu'un seul CPU physique, à mon avis le gain d'une config en distcc sera négligeable, voire nul ou pire, le temps pris pour faire transiter les requêtes étant largement supérieur au temps pris par la compil elle-même (si tes machines virtuelles peuvent effectivement prendre 99% du cpu).

Mais je ne suis pas sûr de ça, n'ayant jamais testé. Reste à vérifier en pratique :wink: !
_________________
Il y a 10 sortes d'individus en ce bas-monde : ceux qui causent binaire, et les autres.
Back to top
View user's profile Send private message
anigel
Bodhisattva
Bodhisattva


Joined: 14 Apr 2003
Posts: 1894
Location: Un petit bled pas loin de Limoges ;-)

PostPosted: Wed Feb 08, 2006 1:46 pm    Post subject: Reply with quote

boozo wrote:
pour le -j , j'ai trouvé de tout... 2*cpu +1 ; 2*cpu ; etc... mais je suis d'accord avec toi il faut tester pour voir ce qui va le mieux :wink: sur le client c'est un P4 2.8GHz classique et sur le serveur c'est un celeron D350 3.2GHz sans HT


La théorie (qui semble confirmée par mon "ressenti"), dit que les meilleures perfs sont obtenues avec (2 x cpu) +1. Autrement dit, pour toi, nous avons 2 CPUs : le P4 et le celeron, et pas de division logique (HT). Donc : 2 CPUs.

Sur ton serveur : -j3
Sur ton client : -j5

Mes 2 cents ^^.
_________________
Il y a 10 sortes d'individus en ce bas-monde : ceux qui causent binaire, et les autres.
Back to top
View user's profile Send private message
boozo
Advocate
Advocate


Joined: 01 Jul 2004
Posts: 3193

PostPosted: Wed Feb 08, 2006 1:51 pm    Post subject: Reply with quote

haa... non... malgré tes corrections... j'ai toujours pas de distribution :( et distccmon ne m'affiche rien
_________________
" Un psychotique, c'est quelqu'un qui croit dur comme fer que 2 et 2 font 5, et qui en est pleinement satisfait.
Un névrosé, c'est quelqu'un qui sait pertinemment que 2 et 2 font 4, et ça le rend malade ! "
Back to top
View user's profile Send private message
-KuRGaN-
Veteran
Veteran


Joined: 05 Dec 2004
Posts: 1142
Location: Besançon (25) [FRANCE]

PostPosted: Wed Feb 08, 2006 2:17 pm    Post subject: Reply with quote

Dernière pollution promis !!! :wink:

En effet je n'ai qu'un CPU et je laisse Xen attribué les ressources CPU pour chaque domaines virtuels. Bon quand je dit qu'un domaine virtuel peut atteindre 99% c'est une image car il y a toujours au minimum 2 ou 3 % pour mon dom0 mais j'ai réussi a en faire monter un a plus de 85% et des bananes.
Merci pour ta réponse anigel, je vais faire un test et je posterai mes résultats si des gens sont intéressés!!
_________________
Knight Gent00 Industries RiDeR !!!!
Back to top
View user's profile Send private message
k-root
Guru
Guru


Joined: 08 Jan 2005
Posts: 428

PostPosted: Wed Feb 08, 2006 3:07 pm    Post subject: Re: [Distcc - ccache] problème de configuration Reply with quote

essaye avec cette conf, puis rajoute la directive listen... j'espere que ca vat fonctionner correctement avec tes machines.

Client 192.168.1.1 :
/etc/conf.d/distccd
Code:
DISTCCD_EXEC="/usr/bin/distccd"
DISTCCD_PIDFILE="/var/run/distccd/distccd.pid"
DISTCCD_OPTS="${DISTCCD_OPTS} --port 3632"
DISTCCD_OPTS="${DISTCCD_OPTS} --log-level critical"
DISTCCD_OPTS="${DISTCCD_OPTS} -a 192.168.1.1"
DISTCCD_NICE="0"
/etc/distcc/hosts
Code:
192.168.1.1 192.168.1.10
/etc/make.conf
Code:
MAKEOPTS="-j5"
FEATURES="sandbox distcc ccache buildsyspkg"
DISTCC_DIR="/var/tmp/portage/.distcc"
CCACHE_DIR="/var/tmp/ccache"
CCACHE_SIZE="2G"


Serveur 192.168.1.10 :
/etc/conf.d/distccd
Code:
DISTCCD_EXEC="/usr/bin/distccd"
DISTCCD_PIDFILE="/var/run/distccd/distccd.pid"
DISTCCD_OPTS="${DISTCCD_OPTS} --port 3632"
DISTCCD_OPTS="${DISTCCD_OPTS} --log-level critical"
DISTCCD_OPTS="${DISTCCD_OPTS} -a 192.168.1.1 -a 192.168.1.10"
DISTCCD_NICE="15"
/etc/distcc/hosts
Code:
192.168.1.10
/etc/make.conf
Code:
MAKEOPTS="-j5"
FEATURES="sandbox distcc ccache buildsyspkg"
CCACHE_SIZE="2G"
CCACHE_DIR="/var/tmp/ccache"
DISTCC_DIR="/var/tmp/portage/.distcc/.distcc" # l'erreur etait ici, je pense :)


Et dans les tes logs : distccd arrive a dispatcher ?

chez moi
Quote:
k-store treym # export DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
k-store treym # env | grep TCC
DISTCC_LOG=
DISTCC_DIR=/.distcc
DISTCC_VERBOSE=0

pt-etre que c'est pour cela que tu ne voit rien avec distccmon-gui lancer sur ton serveur ?
Quote:
distccmon-gnome[9480] (dcc_gnome_update_cb) Warning: poll failed
distccmon-gnome[9480] (dcc_mkdir) ERROR: mkdir /.distcc/state failed: Aucun fichier ou répertoire de ce type

_________________
boozo wrote:
Gentoo, ça mange des ours et baffe des buffles par 37°C avec un bob et des tongs
Back to top
View user's profile Send private message
boozo
Advocate
Advocate


Joined: 01 Jul 2004
Posts: 3193

PostPosted: Wed Feb 08, 2006 4:01 pm    Post subject: Re: [Distcc - ccache] problème de configuration Reply with quote

k-root wrote:

Client 192.168.1.1 :
/etc/conf.d/distccd
Code:

DISTCCD_OPTS="${DISTCCD_OPTS} -a 192.168.1.1"

pourquoi tu n'autorises pas le serveur ici ? et je ne comprends pas pourquoi tu supprimes --listen ? :?
k-root wrote:

Serveur 192.168.1.10 :
/etc/conf.d/distccd
Code:

DISTCCD_OPTS="${DISTCCD_OPTS} -a 192.168.1.1 -a 192.168.1.10"

là également... --listen ?!
k-root wrote:

/etc/make.conf
Code:
DISTCC_DIR="/var/tmp/portage/.distcc/.distcc" # l'erreur etait ici, je pense :)


Et dans les tes logs : distccd arrive a dispatcher ?

chez moi
Quote:
k-store treym # export DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
k-store treym # env | grep TCC
DISTCC_LOG=
DISTCC_DIR=/.distcc
DISTCC_VERBOSE=0

pt-etre que c'est pour cela que tu ne voit rien avec distccmon-gui lancer sur ton serveur ?
Quote:
distccmon-gnome[9480] (dcc_gnome_update_cb) Warning: poll failed
distccmon-gnome[9480] (dcc_mkdir) ERROR: mkdir /.distcc/state failed: Aucun fichier ou répertoire de ce type


alors là c'est bien vu 8) mais je ne sais pas quelle est la bonne configuration dans le /etc/make.conf du client et du serveur j'ai maintenant :
Code:
DISTCC_DIR="/var/tmp/portage/.distcc"

en revanche pourquoi tu rajoutes un repertoire .distcc en plus 8O ? d'autre part quelle est la bonne stratégie : le .distcc doit-être dans /var/tmp/portage ou dans /var/tmp comme l'est ccache/ ? :?

sinon je viens de tester tes modifs malheureusement rien ne change :(

mais merci de te pencher sur mon pb :)
_________________
" Un psychotique, c'est quelqu'un qui croit dur comme fer que 2 et 2 font 5, et qui en est pleinement satisfait.
Un névrosé, c'est quelqu'un qui sait pertinemment que 2 et 2 font 4, et ça le rend malade ! "
Back to top
View user's profile Send private message
boozo
Advocate
Advocate


Joined: 01 Jul 2004
Posts: 3193

PostPosted: Wed Feb 08, 2006 5:20 pm    Post subject: Reply with quote

bon j'avance... :)

un pb de variable d'environnement comme me l'a fait remarqué k-root tout à l'heure :wink: est semble-t-il à l'origine du pb : le fichier /etc/env.d/02distcc devant être renseigné par distcc-config normalement ne l'est pas :roll: j'ai bien essayé les différentes syntaxes mais même après le source rien ne changeait...

donc sur les deux machines j'ai rajouté dans leur /etc/env.d/02distcc respectif un petit :
Code:
DISTCC_DIR="/var/tmp/portage/.distcc"
et par la même occasion j'ai ajouté le log ;-p
DISTCC_LOG="/var/log/distccd.log"

nb : penser à modifier /etc/conf.d/distccd tq:
Code:
DISTCCD_OPTS="${DISTCCD_OPTS} --log-file /var/log/distccd.log --log-level critical"


puis qqes env-update && souce /etc/profile plus tard... (arf ! oui le pb du xterm en cours :lol:)
distccmon-gui et distccmon-text 1 sur le client fonctionne ! tatannn ! :D

reste que sur le serveur je ne vois toujours rien de monitoré :? mais bon... petit à petit...
_________________
" Un psychotique, c'est quelqu'un qui croit dur comme fer que 2 et 2 font 5, et qui en est pleinement satisfait.
Un névrosé, c'est quelqu'un qui sait pertinemment que 2 et 2 font 4, et ça le rend malade ! "


Last edited by boozo on Wed Feb 08, 2006 10:58 pm; edited 1 time in total
Back to top
View user's profile Send private message
anigel
Bodhisattva
Bodhisattva


Joined: 14 Apr 2003
Posts: 1894
Location: Un petit bled pas loin de Limoges ;-)

PostPosted: Wed Feb 08, 2006 10:28 pm    Post subject: Reply with quote

boozo wrote:
reste que sur le serveur je vois toujours rien de monitoré :? mais bon... petit à petit...


Hmm j'y pense brutalement : le monitoring en "live" de distcc n'a jamais fonctionné sur mes machines. Cela fait tellement longtemps, et surtout, je m'en tape tellement, que je n'y ai pas pensé de prime abord :wink: , mais c'est effectivement un problème chez moi aussi. Par contre, distcc distribue bien ses compilations (suffit de voir le temps mis pour compiler l'éditeur "joe", c'est mon unité de mesure perso :lol: ).
_________________
Il y a 10 sortes d'individus en ce bas-monde : ceux qui causent binaire, et les autres.
Back to top
View user's profile Send private message
boozo
Advocate
Advocate


Joined: 01 Jul 2004
Posts: 3193

PostPosted: Wed Feb 08, 2006 10:57 pm    Post subject: Reply with quote

bon ben alors je vais faire de même et m'en taper le coquillard aussi :lol:

en fait j'étais parti pour faire des tests en mixte avec ssh car j'ai la possibilité de "detourner" qqes machines distantes à cet usage :twisted: et trouver la meilleure configuration à adopter entre les compils LAN et WAN

Bref je bidouille depuis mais les posts sur la question sont... comment dire... divergent :roll: l'ordre et la syntaxe des hosts sont ma bête noire depuis qqes heures et le man peu clair sur la question enfin c'est mon avis sans compter que je cherche un prog pas trop gros pour faire un benchmark (et il faut que je pense à vider ccache entre temps histoire d'y voir qq chose sinon c'est pas drôle :mrgreen:)

je tatonne... je tatonne... :P

mais au fait... toi avec toute tes machines là... tu as quoi comme config ? m'étonnerais que tu ne te sois pas pencher sur la question avec près de 200 machines ?! :twisted: çà laisse rêveur !

[Edit] pour le côté serveur je pense qu'il n'affiche rien car la commande provient du client et que seul le client qui lance la tache peu voir le W en cour celà dit si j'ai raison c'est pas terrible qd m^ :?

[Edit 2] bon çà tourne mais il semblerait bien que ce soit çà le pb c'est bien dommage
sinon je lache pour se soir avec la config en ssh mais n'hesitez pas me donner votre avis sur les optimisations
_________________
" Un psychotique, c'est quelqu'un qui croit dur comme fer que 2 et 2 font 5, et qui en est pleinement satisfait.
Un névrosé, c'est quelqu'un qui sait pertinemment que 2 et 2 font 4, et ça le rend malade ! "
Back to top
View user's profile Send private message
k-root
Guru
Guru


Joined: 08 Jan 2005
Posts: 428

PostPosted: Thu Feb 09, 2006 4:18 am    Post subject: Reply with quote

Sur les nodes tu ne peut monitorer que les processes ... px aux, xload.
les logs sont surement la solution (si qqun connaits un outils pour en extraire des stats :?: )

ouhaip , la syntaxe des hosts est un peu lourdes a gerer, il ne faut pas juste recopier les fichier, il faut aussi changer l'ordre des hosts. premier dans la liste == premier candidat.
Tu peut aussi jouer sur le nombre de jobs que vat acepter chaque machine ...

pour distcc over ssh ... je sais pas trops ce que ca peut donner niveau perf.

WAM = temps de latence si a un jobe met 0.5s a etre compiler mais 1.5s a etre envoyer et 1.5 second a etre recuper ... ne faut il pas le compiler localement ? le gain depend du nombre de node dispo sur le wan, mais je dirait qu'il devrait etre elever (10, 20, ?)

ssh hum, encore un peu de cpuload, d'autant plus que le traffic reseau devient important. la charge pour localhost est deja elever quand il a a dispatcher un nombre important de jobs. dans ce cas , j'enleverais localhost de /etc/distcc/hosts.

tout depend du nombre de machines que tu compte utiliser, des jobs envoye a distcc, de l'etat du reseau .
_________________
boozo wrote:
Gentoo, ça mange des ours et baffe des buffles par 37°C avec un bob et des tongs
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum