#!/usr/bin/perl use strict; use Time::HiRes qw'usleep'; use DBI; for my $child (1..20) { my $pid = fork(); if ($pid) { ## parent, let it go } else { ## child, do stuff my $dbh = DBI->connect("dbi:mysql:testing;10.0.0.10", "foo", "bar") or die; for my $i (1..500) { my $r = int rand(1000000000); my $d = int rand(100); my @q = ( qq|select * from testing a left join testing2 b on (a.soort_id=b.id) where datum_start > now() - interval $d day|, qq|select * from testing2 b left join testing a on (a.soort_id=b.id) where datum_eind > now() - interval $d day|, qq|select * from testing where datum_start > now() - interval $d day|, qq|insert into testing (soort_id,datum_start,datum_eind,comment) select soort_id,datum_start,datum_eind,comment from testing where id=$r| ); $dbh->do($q[int rand(@q)]); ## Zzz my $t = rand(500000); usleep $t; } exit; exit; exit; # Toying with forks, can't be too certain } }