I don't know if this is relevant here, but we found that certain CCP4 6.0.2 tasks run under CCP4i suffered poor performance over NFS due to the frequent writing and reading of temporary files. Starting CCP4i from a local directory eliminated the problem. (It appeared that the temporary files were written to the origination directory instead of /home/user in this case.) We created a directory on our client workstations called /local-projects just for that purpose. As you, we have a common /home directory mounted on an NFS share so that all users will have a portable desktop.

Cheers,

--

Roger S. Rowlett
Professor
Colgate University Presidential Scholar
Department of Chemistry
Colgate University
13 Oak Drive
Hamilton, NY 13346

tel: (315)-228-7245
ofc: (315)-228-7395
fax: (315)-228-7935
email: [email protected]


Joachim Reichelt wrote:
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
  


Reply via email to