Print

Print


Dear all,

we have a real slow performance of ccp4i, if:
- homedir is on NFS, here /nero is on a i586 Linux system
- actual system is 64 bit, here OpenSUSE 10.3 on core2quad with 8GB ram

from entering ccp4i to see the gui it takes ~2 minutes.
and any popup/dialogue take the same time
This is 6.1, was the same with 6.02

Same user, same system, home dir shifted to a local disk or
same home, user, but i586 (P4, 1GB) some seconds

I have done an strace to see what is going on and I see a lot of:

lstat("/nero/jre", {st_mode=S_IFDIR|0755, st_size=6336, ...}) = 0
lstat("/nero/jre/.CCP4", {st_mode=S_IFDIR|0755, st_size=248, ...}) = 0
access("/nero/jre/.CCP4/dbccp4i.LOCK", F_OK) = -1 ENOENT (No such file 
or directory)
select(0, NULL, NULL, NULL, {0, 10000}) = 0 (Timeout)
access("/nero/jre/.CCP4/dbccp4i.LOCK", F_OK) = -1 ENOENT (No such file 
or directory)
select(0, NULL, NULL, NULL, {0, 10000}) = 0 (Timeout)
access("/nero/jre/.CCP4/dbccp4i.LOCK", F_OK) = -1 ENOENT (No such file 
or directory)
select(0, NULL, NULL, NULL, {0, 10000}) = 0 (Timeout)
access("/nero/jre/.CCP4/dbccp4i.LOCK", F_OK) = -1 ENOENT (No such file 
or directory)
select(0, NULL, NULL, NULL, {0, 10000}) = 0 (Timeout)
access("/nero/jre/.CCP4/dbccp4i.LOCK", F_OK) = -1 ENOENT (No such file 
or directory)
select(0, NULL, NULL, NULL, {0, 10000}) = 0 (Timeout)
... (32 times repeated)

open("/nero/jre/.CCP4/dbclientapi.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = 4
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff1d624760) = -1 ENOTTY 
(Inappropriate ioctl for device)
lseek(4, 0, SEEK_END)                   = 351
write(4, "db_get_handler_port: opening loc"..., 38) = 38
close(4)                                = 0
open("/nero/jre/.CCP4/dbccp4i.LOCK", O_RDONLY) = 4
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff1d6250f0) = -1 ENOTTY 
(Inappropriate ioctl for device)
read(4, "port number is:4090", 4096)    = 19
read(4, "", 4077)                       = 0
lstat("/nero", {st_mode=S_IFDIR|0755, st_size=1992, ...}) = 0
lstat("/nero/jre", {st_mode=S_IFDIR|0755, st_size=6336, ...}) = 0
lstat("/nero/jre/.CCP4", {st_mode=S_IFDIR|0755, st_size=280, ...}) = 0
open("/nero/jre/.CCP4/dbclientapi.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = 5
fcntl(5, F_SETFD, FD_CLOEXEC)           = 0
ioctl(5, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff1d624760) = -1 ENOTTY 
(Inappropriate ioctl for device)
lseek(5, 0, SEEK_END)                   = 389
write(5, "db_get_handler_port: line from l"..., 63) = 63
...

lstat("/nero/jre/.CCP4", {st_mode=S_IFDIR|0755, st_size=280, ...}) = 0
open("/nero/jre/.CCP4/dbclientapi.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = 6
fcntl(6, F_SETFD, FD_CLOEXEC)           = 0
ioctl(6, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff1d624820) = -1 ENOTTY 
(Inappropriate ioctl for device)
lseek(6, 0, SEEK_END)                   = 8764
write(6, "db_handler_processResponse: invo"..., 54) = 54
close(6)                                = 0
lstat("/nero", {st_mode=S_IFDIR|0755, st_size=1992, ...}) = 0
lstat("/nero/jre", {st_mode=S_IFDIR|0755, st_size=6336, ...}) = 0
lstat("/nero/jre/.CCP4", {st_mode=S_IFDIR|0755, st_size=280, ...}) = 0
open("/nero/jre/.CCP4/dbclientapi.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = 6
fcntl(6, F_SETFD, FD_CLOEXEC)           = 0
ioctl(6, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff1d624820) = -1 ENOTTY 
(Inappropriate ioctl for device)
lseek(6, 0, SEEK_END)                   = 8818
write(6, "*** REQUEST_LIST: request#9\n", 28) = 28
close(6)                                = 0

and I see a lot of:

read(3, 0x61df94, 4096)                 = -1 EAGAIN (Resource 
temporarily unavailable)
read(3, 0x61df94, 4096)                 = -1 EAGAIN (Resource 
temporarily unavailable)
read(3, 0x61df94, 4096)                 = -1 EAGAIN (Resource 
temporarily unavailable)
read(3, 0x61df94, 4096)                 = -1 EAGAIN (Resource 
temporarily unavailable)
read(3, 0x61df94, 4096)                 = -1 EAGAIN (Resource 
temporarily unavailable)
read(3, 0x61df94, 4096)                 = -1 EAGAIN (Resource 
temporarily unavailable)
read(3, 0x61df94, 4096)                 = -1 EAGAIN (Resource 
temporarily unavailable)
read(3, 0x61df94, 4096)                 = -1 EAGAIN (Resource 
temporarily unavailable)
read(3, 0x61df94, 4096)                 = -1 EAGAIN (Resource 
temporarily unavailable)
read(3, 0x61df94, 4096)                 = -1 EAGAIN (Resource 
temporarily unavailable)
read(3, 0x61df94, 4096)                 = -1 EAGAIN (Resource 
temporarily unavailable)
read(3, 0x61df94, 4096)                 = -1 EAGAIN (Resource 
temporarily unavailable)
read(3, 0x61df94, 4096)                 = -1 EAGAIN (Resource 
temporarily unavailable)
read(3, 0x61df94, 4096)                 = -1 EAGAIN (Resource 
temporarily unavailable)
read(3, 0x61df94, 4096)                 = -1 EAGAIN (Resource 
temporarily unavailable)
read(3, 0x61df94, 4096)                 = -1 EAGAIN (Resource 
temporarily unavailable)
read(3, 0x61df94, 4096)                 = -1 EAGAIN (Resource 
temporarily unavailable)


-- 
Joachim