2003-02-15 22:57:35

by Con Kolivas

[permalink] [raw]
Subject: tbench as a load - DDOS attack?


Zwane M suggested using tbench as a load to test one of his recent patches and
gave me the idea to try using tbench_load in contest. Here are the first set
of results I got while running tbench 4 continuously (uniprocessor machine):

tbench_load:
Kernel [runs] Time CPU%
test2420 1 180 38.9
test2561 1 970 7.7

This is a massive difference. Sure tbench was giving better numbers on 2.5.61
but it caused a massive slowdown. I wondered whether this translates into
being more susceptible to ping floods or DDOS attacks? You should have seen
tbench 16 - 3546 seconds!

comments?
Con


2003-02-15 23:15:55

by Zwane Mwaikambo

[permalink] [raw]
Subject: Re: tbench as a load - DDOS attack?

On Sun, 16 Feb 2003, Con Kolivas wrote:

>
> Zwane M suggested using tbench as a load to test one of his recent patches and
> gave me the idea to try using tbench_load in contest. Here are the first set
> of results I got while running tbench 4 continuously (uniprocessor machine):
>
> tbench_load:
> Kernel [runs] Time CPU%
> test2420 1 180 38.9
> test2561 1 970 7.7
>
> This is a massive difference. Sure tbench was giving better numbers on 2.5.61
> but it caused a massive slowdown. I wondered whether this translates into
> being more susceptible to ping floods or DDOS attacks? You should have seen
> tbench 16 - 3546 seconds!
>
> comments?

Are you running this via loopback? Can you send a profile during the
2.4.20 run?

Thanks,
Zwane

--
function.linuxpower.ca

2003-02-16 00:38:09

by Con Kolivas

[permalink] [raw]
Subject: Re: tbench as a load - DDOS attack?

On Sun, 16 Feb 2003 10:24 am, Zwane Mwaikambo wrote:
> On Sun, 16 Feb 2003, Con Kolivas wrote:
> > Zwane M suggested using tbench as a load to test one of his recent
> > patches and gave me the idea to try using tbench_load in contest. Here
> > are the first set of results I got while running tbench 4 continuously
> > (uniprocessor machine):
> >
> > tbench_load:
> > Kernel [runs] Time CPU%
> > test2420 1 180 38.9
> > test2561 1 970 7.7
> >
> > This is a massive difference. Sure tbench was giving better numbers on
> > 2.5.61 but it caused a massive slowdown. I wondered whether this
> > translates into being more susceptible to ping floods or DDOS attacks?
> > You should have seen tbench 16 - 3546 seconds!
> >
> > comments?
>
> Are you running this via loopback? Can you send a profile during the
> 2.4.20 run?

Loopback.

Con

2003-02-16 09:19:56

by Andrew Morton

[permalink] [raw]
Subject: Re: tbench as a load - DDOS attack?

Con Kolivas <[email protected]> wrote:
>
>
> Zwane M suggested using tbench as a load to test one of his recent patches and
> gave me the idea to try using tbench_load in contest. Here are the first set
> of results I got while running tbench 4 continuously (uniprocessor machine):
>
> tbench_load:
> Kernel [runs] Time CPU%
> test2420 1 180 38.9
> test2561 1 970 7.7
>
> This is a massive difference. Sure tbench was giving better numbers on 2.5.61
> but it caused a massive slowdown. I wondered whether this translates into
> being more susceptible to ping floods or DDOS attacks? You should have seen
> tbench 16 - 3546 seconds!
>

Yes, something is wrong with the CPU scheduler. Simple test case:

./tbench_srv &
while true
do
./tbench 4
done &
cd /usr/src/util-linux
time make -j4

The tbench activity takes the time to compile util-linux from 13 second to
133 seconds.

But that is not the whole story. The compilation appeared to make no
progress at all while tbench was running - it was only in the gaps between
ending one tbench run and starting another that the compilation did anything.

When I changed the load to one instance of

while true
do
./tbench 2
done

and one instance of

while true
do
./tbench 3
done

the compilation made no progress except for those rare instances when the two
shell scripts were restarting the tbench run at the same time. After a while
the scripts fell itno synchronism, and the compilation took 260 seconds.

Conclusion: tbench completely starves the `make'.

It mainly seems to affect uniprocessor builds. SMP was much better behaved.

Adding the sched-f3 patch basicaly fixed it all up. The 133 second build
came down to 55 seconds, and the compilation was visibly making progress
during the tbench runs.