最近湖南现场反馈问题,所有电子签章页面打不开文书(pdf格式),后台日志没报任何错误。

1、首先想到是签章的ocx控件问题,检查ocx控件安装,发现其他电脑也打不开文书,测试页面可以直接打开pdf文档,排除控件的问题。

2、怀疑是文书下载出问题了,检查文书下载功能,我们是把pdf文书下载到本地“我的文档”目录中,然后使用ocx控件打开文书,检查发现有的文书能正常下载到本地,有的干脆不下载,能下载到本地的文书可以正常打开。检查ftp发现文书都没问题,定位问题就出在从ftp下载这块。

3、ftp下载有2步,先去数据库中查询到ccbh,再根据ccbh从ftp下载,检查发现下载没问题,查询ccbh非常慢,最快也要50s才能查询出来,慢的要4、5分钟,有耐心的话,等待几分钟,文书是可以展示,已经定位到问题原因了,查询ccbh的sql执行非常慢。

5、分析sql,简化后sql为:

SELECT * FROM T_ZXLD_SYYH_FJ

WHERE C_BH_SQ='76A1737D773BE344B7154AA479634FED'

AND C_FJLX='syyhcx.zz.cxs.gy'

查询条件中C_BH_SQ是有索引的,理论上不应该这么慢呀,查看执行计划发现:

竟然没有用到索引,执行时间是274s。有索引却没用到,而且C_BH_SQ这个字段是主表主键,被选中概率应该非常高,怀疑是统计信息出问题了,使用

UPDATE all STATISTICS T_ZXLD_SYYH_FJ

更新统计信息,更新后执行原始sql,用了0.12s,执行计划也显示出使用了索引

问题看似解决了,但是偶尔还会出现打开非常慢(快的10s左右,慢的几分钟)的情况,怎么回事呢?检查过程中发现不仅仅这个页面偶尔慢,很多页面都偶尔非常慢,第一次打开慢,后续就很快了,等一会再打开又慢了。

查看p6spy日志发现(深颜色列是sql执行时间,只记录了执行2s以上的sql),把执行时间长的sql拿出来单独执行,很多第一次执行几十秒,第二次执行不到1s,可以确定问题原因了,系统内存较小。

sybase数据可以使用下面命令查看io情况:SET STATISTICS io ON|OFF

第一次执行结果:

第二次执行结果:

可以看到第一次从磁盘和内存都读取了内容,第二次physical reads是0,完全从内存读取当然查询快了,内存较小的话,其他查询数据读进内存后,把旧的数据从内存中清除,再查询旧数据还需要从磁盘读取到内存,所以经常出现第一次较慢,后续较快情况。最好办法就是加大内存,把常用的数据都读取到内存中缓存起来。

解决办法建议现场升级sybase到15.7,因为sybase12.5.3没有64位版本,32位最多使用内存2G。

最新文章

  1. 利用SpannableString设置文本
  2. Android Material Design的FloatingActionButton,Snackbar和CoordinatorLayout
  3. win系统一键安装JDK和Tuxedo
  4. arm汇编(c内嵌汇编及c和汇编互调)
  5. [置顶] Asp.Net底层原理(二、写自己的Asp.Net框架)
  6. JTAG应该如何接线
  7. AU3脚本 记录
  8. windows下搭建GO开发环境
  9. XCode消除警告、错误
  10. idea构建spring源码阅读环境
  11. Python——日志模块(logging)
  12. 记录-eureka
  13. 数据库工具类 JdbcUtils
  14. Mac下编译android4.0.4遇到的问题
  15. 剑指offer(40)数组中只出现一次的数字
  16. Linux的相关概念
  17. [原]Jenkins(十二)---jenkins管理员用户无法登陆解决办法Access Denied
  18. Java中通过SimpleDateFormat格式化当前时间:/** 输出格式:20060101010101001**/
  19. Sharepoint 安装部署Project Server
  20. week2:个人博客作业

热门文章

  1. SQL第二节课
  2. 提高生产力:开源Java工具包Jodd(Java的”瑞士军刀”)
  3. GOF23设计模式之代理模式
  4. lucene_08_solr导入数据库数据
  5. elasticsearch 分析器阅读笔记(五)
  6. 教你高速高效接入SDK——Unity统一接入渠道SDK(Android篇)
  7. Android requires compiler compliance level 5.0 or 6.0. Found '1.4' instead的解决的方法
  8. vue组件的3种书写形式
  9. spark 决策树分类算法demo
  10. 【转】In ASP.NET using jQuery Uploadify upload attachment