两个登陆慢的问题与解决方法

问题1:plsql登陆数据库慢,大约30s左右

解决的简单过程如下

1,通过本地sqlplus"/as sysdba"登陆数据库速度快,而通过监听连接数据库30s左右,说明问题出在通过监听连接数据库上

2,通过tcpdump抓取1521端口的数据包,发现1521端口很少收到数据库连接请求,但是大约30s之后才有包回应,说明时间消耗在监听程序的处理上

3,通过tracelistener进程,时间花费在如下四次sleep等待,每次sleep之前都会打开/etc/resolv.conf文件,去解析地址

266760.000094open("/etc/resolv.conf", O_RDONLY) = 21 <0.000037>266760.000085 fstat(21, {st_mode=S_IFREG|0644,st_size=1267, …}) = 0 <0.000013>266760.000063 mmap(NULL, 4096,PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2ba737555000<0.000019>266760.000058 read(21, "### BEGININFO\n#\n# Modified_by: "…, 4096) = 1267 <0.000039>266760.000108 read(21, "",4096) = 0 <0.000016>266760.000046 close(21)= 0 <0.000017>266760.000045 munmap(0x2ba737555000, 4096) = 0<0.000024>266760.000080 socket(PF_FILE, SOCK_STREAM, 0)= 21 <0.000032>266760.000091 fcntl(21, F_GETFL) = 0x2 (flags O_RDWR) <0.000013>266760.000041 fcntl(21, F_SETFL,O_RDWR|O_NONBLOCK) = 0 <0.000041>266760.000080 connect(21, {sa_family=AF_FILE,path="/var/run/nscd/socket"}, 110) = 0 <0.000020>266760.000080 poll([{fd=21,events=POLLOUT|POLLERR|POLLHUP, revents=POLLOUT}], 1, 5000) = 1<0.000019>266760.000061 sendto(21,"\2\0\0\0\r\0\0\0\6\0\0\0hosts\0\0\0", 20, MSG_NOSIGNAL, NULL, 0) =20 <0.000016>266760.000048 poll([{fd=21,events=POLLIN|POLLERR|POLLHUP, revents=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1<0.000014>266760.000044 recvmsg(21, {msg_name(0)=NULL,msg_iov(1)=[{"hosts\0", 6}], msg_controllen=24, {cmsg_len=20,cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, {22}}, msg_flags=0}, 0) = 6<0.000018>266760.000069 fstat(22, {st_mode=S_IFREG|0600,st_size=217016, …}) = 0 <0.000017>266760.000061 pread(22,"\1\0\0\0h\0\0\0\2664\0\0\1\0\0\0\2623\272R\0\0\0\0\323"…, 104, 0)= 104 <0.000015>266760.000061 mmap(NULL, 217016, PROT_READ,MAP_SHARED, 22, 0) = 0x2ba737555000 <0.000020>266760.000074 close(22)= 0 <0.000016>266760.000073 close(21)= 0 <0.000021>266760.000076 socket(PF_FILE, SOCK_STREAM, 0)= 21 <0.000027>266760.000074 fcntl(21, F_GETFL) = 0x2 (flags O_RDWR) <0.000039>266760.000075 fcntl(21, F_SETFL,O_RDWR|O_NONBLOCK) = 0 <0.000017>266760.000093 connect(21, {sa_family=AF_FILE,path="/var/run/nscd/socket"}, 110) = 0 <0.000025>266760.000131 poll([{fd=21,events=POLLOUT|POLLERR|POLLHUP, revents=POLLOUT}], 1, 5000) = 1<0.000026>266760.000075 writev(21,[{"\2\0\0\0\5\0\0\0\20\0\0\0", 12}, {"YZPC-ZWRZDBMAIN\0",16}], 2) = 28 <0.000024>266760.000059 poll( <unfinished …>250014.385324 <… nanosleep resumed>{5, 0}) = 0 <5.001651>

4,注释掉nameserver,取消DNS解析,问题解决

/etc/resolv.conf

问题2:通过ssh登陆linux服务器慢,,大约1分钟左右

1,查看常见的/etc/resolv.conf,发现没有问题,说明问题不在地址解析上

2,使用who命令查看,发现当前用户登录的信息有问题,时间不是最新的

3,上网查看相关资料,可能因为登录相关的问题被异常锁定了

4,查看锁定/var/run/utmp的进程

YZPC-ZWRZAPP1:/var/run# lsof|grep /var/run/utmp

gnome-pty 447root 5uR REG 8,2 9216 68 /var/run/utmp

gnome-pty 3979root 5u REG 8,2 9216 68 /var/run/utmp

gnome-pty 10879 root5u REG 8,2 9216 68 /var/run/utmp

gnome-pty 16207 root5u REG 8,2 9216 68 /var/run/utmp

gnome-pty 16435 root5uR REG 8,2 9216 68 /var/run/utmp

的这一半更多地赢取上帝掌握的那一半。

两个登陆慢的问题与解决方法

相关文章:

你感兴趣的文章:

标签云: