[distcc] Improved ssh connection versus tcp/ip (C++ test)
Marcelo Matus
mmatus at dinha.acms.arizona.edu
Tue Jul 8 03:49:49 GMT 2003
Hello:
Martin did some fixes in the ssh connection
(see the ["Busy" waiting when using distcc/ssh ] thread)
and here are some tests with large and ugly C++ code,
which tends to produce very large preprocessed files.
In all the cases, only the remote machine is in the DISTCC_HOSTS
list and I ran the compilation with make -j2:
1.- export DISTCC_HOSTS="remotemachine" ==> tcp/ip
real 1m48.889s
user 0m6.380s
sys 0m1.640s
2.-export DISTCC_HOSTS="@remotemachine" ==> ssh
real 1m43.114s
user 0m7.380s
sys 0m1.760s
3.- export DISTCC_HOSTS="@remotemachine" ==> ssh+compression
real 0m39.167s
user 0m10.150s
sys 0m1.700s
Note: this case was ran after adding the following lines to
the .ssh/config file.
Host *
Compression yes
Again, this test is for C++ code over a 100Mb connection
(cross cable connection, no hub, no switch).
Marcelo
Marcelo Matus wrote:
> Martin Pool wrote:
>
>> On 7 Jul 2003, Marcelo Matus <mmatus at dinha.acms.arizona.edu> wrote:
>>
>>
>>> it seems the timeout is comming from the io.c file:
>>>
>>>
>>> ....
>>> const int timeout = 15; /* seconds */
>>>
>>>
>>> /**
>>> * @todo Perhaps only apply the timeout for initial connections, not
>>> when
>>> * doing regular IO.
>>> **/
>>> .........
>>>
>>>
>>> the current timeout is too short for large compilations. If I use
>>> 150s, then
>>> I have no problems. But, as the @todo says, maybe it is better
>>> to have different timeouts for the initial connection
>>> and the compilation.
>>>
>>
>>
>> OK, this is done in CVS. Incidentally, removing the silly busyloop
>> bug has greatly improved the efficiency of SSH connections! (Amazing
>> eh? :-)
>>
>> My standard linux-2.5.68 kernel benchmark build over three machines on
>> 100Mbps now takes 237s over SSH and 161s over TCP, so it's still quite
>> a lot slower.
>>
>>
>>
>
> Well, get more amazed, add the following lines to your .ssh/config
> file (if you don't
> have them):
>
>
> Host *
> Compression yes
>
> In my case, compiling only against a remote host, the two cases gave me:
>
> 1.- export DISTCC_HOSTS="remotemachine" ==> tcp/ip
>
> real 1m48.889s
> user 0m6.380s
> sys 0m1.640s
>
> 2.- export DISTCC_HOSTS="@remotemachine" ==> ssh+compression
>
> real 0m39.167s
> user 0m10.150s
> sys 0m1.700s
>
>
>
> Cool!, isn't?
>
> Note: I use make -j2, in both cases. I ran both cases with the
> distccmon-gnome
> and you can see that the "Sending file" with tcp/ip takes forever.
>
> Maybe my files are too large (ugly C++ with a lot of includes and
> templates),
> and/or the network is too slow (direct 100Mb, using cross cable, no
> hub or switch),
> but here ssh is winning.
>
> Marcelo
>
>
> __ distcc mailing list http://distcc.samba.org/
> To unsubscribe or change options:
> http://lists.samba.org/cgi-bin/mailman/listinfo/distcc
More information about the distcc
mailing list