lee wrote: > <[email protected]> writes: > >> lee <[email protected]> wrote: >> >>> Hi, >>> >>> what's taking so long when emerging packages despite distcc is used? >>> >>> I have disallowed compiling on the local machine (which is the one >>> emerge is running on) through distcc settings because the local >>> machine is relatively slow. Yet I can see some gcc processes running >>> on the local machine, and emerging goes painfully slow. Using distcc >>> doesn't seem to make it any faster, though disabling local compiling >>> seems to help a bit. >>> >>> Some compilations are being run on the remote machine, so distcc does >>> work. The log file on the remote machine shows compilation times of a >>> few milliseconds up to about 1.5 seconds at most. The distcc server >>> would be finished with the emerging within maybe 15 minutes, and the >>> client takes several hours already. >>> >>> Is there something going wrong? Is there a way to speed things up as >>> much as I would expect from using distcc? >> You can try pump mode. Preprocessing is then done on the remote server. >> Depending on your hardware, this could be faster. >> >> But read carefully the manpages of pump and distcc before you use it. >> There are some restrictions you should be aware of. > I followed the instructions on the wiki which suggest to have > 'FEATURES="distcc distcc-pump"' in make.conf and give instructions how > to set the CPUs. > >> You can also try to optimize the number of concurrent compile processes >> (-j). Watching the load counts of your client and server(s) will help >> you to find out the best value. > Using -j doesn't really help. The server is pretty much idling --- or > you could say waiting for stuff to compile --- while the client > progresses awfully slowly and isn't overloaded with compilation > processes. If the server would get more load, emerging could be much > much faster. > > Can it be that the client is simply too slow compared to the server to > give it any significant load? (The client isn't exactly slow; it's slow > compared to the server.) > >
Once a really long time ago I tried doing this sort of thing. What I found is that the network speed between the two systems was what was slowing it down. It just couldn't transfer the data back and forth fast enough. I had a network card that really didn't have any good drivers for it. Anyway, it may not be your problem but it may be worth looking at to be sure. Using iftop or some similar tool should tell you something. One way to test it, just find a really large tarball and copy it over. Even if it only takes a few seconds, it should be long enough to give you a idea if something network wise is getting in the way. Just throwing a idea out there. Dale :-) :-)

