性能问题案例01——sybase数据库内存问题
版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/xuepiaohan2006/article/details/30064399
近期现场反馈问题。全部电子签章页面打不开文书(pdf格式),后台日志没报不论什么错误,效果就是空白:
1、首先想到是签章的ocx控件问题,检查ocx控件安装,发现其它电脑也打不开文书,測试页面能够直接打开pdf文档,排除控件的问题。
2、怀疑是文书下载出问题了,检查文书下载功能,我们是把pdf文书下载到本地“我的文档”文件夹中,然后使用ocx控件打开文书,检查发现有的文书能正常下载到本地,有的干脆不下载,能下载到本地的文书能够正常打开。检查ftp发现文书都没问题,定位问题就出在从ftp下载这块。
3、ftp下载有2步。先去数据库中查询到ccbh,再依据ccbh从ftp下载。检查发现下载没问题,查询ccbh很慢。最快也要50s才干查询出来,慢的要4、5分钟。有耐心的话。等待几分钟,文书是能够展示,已经定位到问题原因了,查询ccbh的sql运行很慢。
4、分析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
第一次运行结果:
第二次运行结果:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHVlcGlhb2hhbjIwMDY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
能够看到第一次从磁盘和内存都读取了内容。第二次physical reads是0。全然从内存读取当然查询快了。内存较小的话,其它查询数据读进内存后。把旧的数据从内存中清除,再查询旧数据还须要从磁盘读取到内存。所以经常出现第一次较慢。兴许较快情况。最好办法就是加大内存,把经常使用的数据都读取到内存中缓存起来。
解决的方法建议现场升级sybase到15.7。由于sybase12.5.3没有64位版本号。32位最多使用内存2G,好多表都是上百万的数据,确实查询较慢。
性能问题案例01——sybase数据库内存问题的更多相关文章
- 性能问题解决案例01——sybase数据库内存问题
最近湖南现场反馈问题,所有电子签章页面打不开文书(pdf格式),后台日志没报任何错误. 1.首先想到是签章的ocx控件问题,检查ocx控件安装,发现其他电脑也打不开文书,测试页面可以直接打开pdf文档 ...
- 性能问题案例02——sybase连接堵塞问题
现象:近期现场反馈一个问题.系统在审批的时候,常常卡死.整个系统全然用不了,浏览器訪问处于loading的状态. 排查: 1.一般系统挂了首先想到内存问题,可是现象是loading,也就是说没有挂,线 ...
- android 性能分析案例
本章以实际案例分析在android开发中,性能方面的优化和处理.设计到知识点有弱引用,memory monitor,Allocation Tracker和leakcanary插件. 1.测试demo ...
- 老李案例分享:Weblogic性能优化案例
老李案例分享:Weblogic性能优化案例 POPTEST的测试技术交流qq群:450192312 网站应用首页大小在130K左右,在之前的测试过程中,其百用户并发的平均响应能力在6.5秒,性能优化后 ...
- Sybase数据库应用系统调优的五大领域
Sybase数据库应用系统调优的五大领域 2011/3/14/13:49来源:慧聪it网 本 文以“某大型商业银行的网上银行系统”这一很具有典型意义的企业级大型Sybase数据库应用系统为例,涉及了数 ...
- MySQL性能优化(二):优化数据库的设计
原文:MySQL性能优化(二):优化数据库的设计 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.n ...
- SSRS Reports 2008性能优化案例
我们的一个Reporting Service服务上部署了比较多的SSRS报表,其中有一个系统的SSRS报表部署后,执行时间相对较长,加之供应商又在ASP.NET页面里面嵌套了Reporting Ser ...
- windows下启动/关闭Sybase数据库服务器
启动.关闭Sybase数据库服务器 一.启动Sybase服务器 在windows下介绍两种方法启动Sybase数据库服务器. 1.通过服务器管理器 依次打开控制面板>管理工具>服务 管理窗 ...
- 性能超越 Redis 的 NoSQL 数据库 SSDB
idea's blog - 性能超越 Redis 的 NoSQL 数据库 SSDB 性能超越 Redis 的 NoSQL 数据库 SSDB C/C++语言编程, SSDB Views: 8091 | ...
随机推荐
- Eclipse中使用printf报错 提示参数类型不对
报错信息: The method printf(String, Object[]) in the type PrintStream is not applicable for the argument ...
- AE开发
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- c# List< int>和List< string>互相转换
c# List< int>和List< string>互相转换 定义一个list< t> List<int> list = new List<in ...
- SpringBoot结合swagger2快速生成简单的接口文档
1. pom.xml中加入依赖 <dependency> <groupId>com.spring4all</groupId> <artifactId>s ...
- c# IEnumerable和IEnumerator枚举器
一 : IEnumerable 公开枚举数,该枚举数支持在非泛型集合上进行简单迭代. IEnumerable是可以枚举的所有非泛型集合的基接口,IEnumerable包含单个方法GetEnumerat ...
- Java基础知识你知道多少?
Java虚拟机基础知识你知道多少? Java并发基础知识你知道多少? Java数据结构基础知识你知道多少? java序列化与反序列化 https://github.com/zhantong/inter ...
- Maven构建的Spring项目需要哪些依赖?
Maven构建的Spring项目需要哪些依赖? <!-- Spring依赖 --> <!-- 1.Spring核心依赖 --> <dependency> <g ...
- 华中农业大学第五届程序设计大赛网络同步赛-A
Problem A: Little Red Riding Hood Time Limit: 1 Sec Memory Limit: 1280 MBSubmit: 860 Solved: 133[S ...
- JS 作用域 p1
引用<你不知道的JavaScript>中的话,如下: 负责收集并维护由所有生命的标识符(变量)组成的一系列查询并实施一套非常严格的规则,确定当前执行的代码对这些标识符的访问权限. 那么作用 ...
- layui数据表格的td模板
1.常用操作模板 <script type="text/html" id="userbar"> <a class="layui-bt ...