Re: Slow OS calls on one chip type
Posted in 2010
Topics: Server Administration
"Bartlomiej Lidke" <ohggurnq@rcs.cy.rot13.invalid> wrote in message
news:hrsh37$v2i$1@news.onet.pl...
> Art Kagel <art.kagel@gmail.com> wrote:
>> The BIG problem are the 6.7MILLION failed calls to the OS close()
>> system call!
>
> they propably come from a post fork/clone loop that is clearing
> the file descriptors before a new shell is being called using execve
> (something like for (i=3; i<65536; i++) close(i))
>
> each '!echo "something"' line produces extra 65536-3 failed (EBADF)
> 'close' calls
>
> 'close' on non-valid file desciptors can be easily benchmarked on
> both systems just to be sure that it is not a kernel issue
>
> also the strace can show what happens between execve and write(1,..)
> call (from "echo") on both systems (like scanning NFS directories
> that are on the PATH or LD_LIBRARY_PATH or something like that)
Art's reply is nowhere present on comp.databases.informix. I STILL think
there's a problem with the feed ....
Anyway, could somcseone else with RHEL 5.3 on AMD procs try it?
Thanks!!!!:
$ time dbaccess sysmaster < crap5.sql
Database selected.
Hello World
Hello World
Hello World
...
Hello World
Hello World
Database closed.
real 0m6.714s
user 0m0.017s
sys 0m0.041s
$ cat crap5.sql!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
!echo "Hello World"
Closest I have quick access to is Ubuntu 9 on AMD Athlon 64 X2 4200+:
$ uname -a
Linux galadriel-ii 2.6.31-21-generic #59-Ubuntu SMP Wed Mar 24 07:28:27 UTC2010 x86_64 GNU/Linux
$
$ time dbaccess sysmaster - <crap5.sql
Database selected.
Hello World
Hello World
...
Hello World
Hello World
Database closed.
real 0m0.570s
user 0m0.000s
sys 0m0.050s
$
$ cat /proc/cpuinfoprocessor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 43
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
stepping : 1
cpu MHz : 1000.000
cache size : 512 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm
3dnowext 3dnow rep_good pni la
hf_lm cmp_legacy
bogomips : 1990.15
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp
processor : 1
vendor_id : AuthenticAMD
cpu family : 15
model : 43
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
stepping : 1
cpu MHz : 1000.000
cache size : 512 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm
3dnowext 3dnow rep_good pni la
hf_lm cmp_legacy
bogomips : 1990.15
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp
Art
Art S. Kagel
Advanced DataTools (www.advancedatatools.com)
IIUG Board of Directors (art@iiug.org)
See you at the 2010 IIUG Informix Conference
April 25-28, 2010
Overland Park (Kansas City), KS
www.iiug.org/conf
Disclaimer: Please keep in mind that my own opinions are my own opinions and
do not reflect on my employer, Advanced DataTools, the IIUG, nor any other
organization with which I am associated either explicitly, implicitly, or by
inference. Neither do those opinions reflect those of other individuals
affiliated with any entity with which I am affiliated nor those of the
entities themselves.
On Wed, May 5, 2010 at 6:38 PM, Neil Truby <neil.truby@ardenta.com> wrote:
> "Bartlomiej Lidke" <ohggurnq@rcs.cy.rot13.invalid> wrote in message
> news:hrsh37$v2i$1@news.onet.pl...
> > Art Kagel <art.kagel@gmail.com> wrote:
> >> The BIG problem are the 6.7MILLION failed calls to the OS close()
> >> system call!
> >
> > they propably come from a post fork/clone loop that is clearing
> > the file descriptors before a new shell is being called using execve
> > (something like for (i=3; i<65536; i++) close(i))
> >
> > each '!echo "something"' line produces extra 65536-3 failed (EBADF)
> > 'close' calls
> >
> > 'close' on non-valid file desciptors can be easily benchmarked on
> > both systems just to be sure that it is not a kernel issue
> >
> > also the strace can show what happens between execve and write(1,..)
> > call (from "echo") on both systems (like scanning NFS directories
> > that are on the PATH or LD_LIBRARY_PATH or something like that)
>
> Art's reply is nowhere present on comp.databases.informix. I STILL think
> there's a problem with the feed ....
>
> Anyway, could somcseone else with RHEL 5.3 on AMD procs try it?
> Thanks!!!!:
> $ time dbaccess sysmaster < crap5.sql>
> Database selected.
>
> Hello World
> Hello World
> Hello World
> ...
> Hello World
> Hello World
>
>
> Database closed.
>
>
> real 0m6.714s
> user 0m0.017s
> sys 0m0.041s
>
> $ cat crap5.sql> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
> !echo "Hello World"
>
>
>
>
>
>
> _______________________________________________
> Informix-list mailing list
> Informix-list@iiug.org
> http://www.iiug.org/mailman/listinfo/informix-list
>