知识库logo

interlib或者acs自助机借书慢如何处理?

日期:2019-08-16

情况一、interlib如果是本馆外借的书归还很快,但是已经归还的书或者图书馆没有这条码就慢

原因:肯定是配置了分布式集群而且有个集群是不通的。

因为借还书,是优先找本地的条码和流通表,如果找不到,那么就去找分布式集群的条码,如果网络节点不通,等待时间就久,反应就慢。


情况二、interlib本地有条码和借书记录都慢。

原因:top看下数据库服务器的负载和最好跟踪一下sql语句。

如何跟踪sql ?

第一步,先归还或借出一本书,例如条码是 123456

第二步,可以马上连接数据在 v$sql视图可以看到归还这本书oracle所有运行的sql语句,例如: select sql_text where v$sql where sql_text like '%123456%';

然后复制出这些sql,一条条的在下列方式(第三步)执行。

第三步:

进入sql环境,命令 set autotrace on 进入到执行计划模式

然后一条条运行那些摘出来的sql (如果有update记得不要提交,免得数据不完整),就可以看到执行计划,如果有那种执行很慢的sql注意仔细看执行计划有没有FULL全表扫描。

第四步:如果有FULL全表扫描,就请检查(1)是否有索引 (2)是否索引列有空值,如果有空值也会引起不走索引


情况三、自助机ACS慢,INTERLIB正常。

用我们的acs_client.jar 测试一下。 具体可以在CMD 界面CD到测试程序路径,然后 java -jar acs_client.jar ,可以出现测试界面,然后配合ACS的日志返回的时间或靠自己的感觉,如果在1000ms以下说明正常


其它相关知识

跳转到在线服务平台