- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 架构设计中关于配置项放在哪里?
近期看数据库吓了一跳,负载是以前的3倍。8点到12点有一条SQL执行了两千万次,占用数据库负载30%。我看了以前的数据库报告,次数也是上千万次,不过平均执行时间是0.00s,现在变成0.01s。就是这么一点点变化导致高峰期数据库CPU从50%上升到80%,这是一个巨大隐患,这条SQL正是系统读取配置项的操作。如果这条SQL从0.01s变为0.02s,完全有可能,因为配置表是不断在增加的。
2017-07-25 16:47:04 705
原创 Oracle 11g 分析出那些表缺失索引
在设计、开发阶段我们会加索引,不过难免保证在运维阶段索引加全了。此时就需要把执行计划中带有全表扫描的SQL都找出来。sqlplus TEST/TEST@10.10.15.25 --数据库的用户名和密码,每个实例上都要运行set serveroutput on size 100000spool d:/result.txt set pagesize 200set linesi
2017-07-25 15:35:55 1552
原创 ORA-30013: undo tablespace 'UNDOTBS1' is currently in use
有时候会因为超大的事务导致undo表空间太大,需要收缩一下。create undo tablespace UNDOTBS2 datafile 'F:\APP\ADMINISTRATOR\DATA\ORA11\UNDOTBS02.DBF' size 100m;alter system set undo_tablespace=UNDOTBS2;--下面报错ORA-30013: undo t
2017-07-19 18:32:21 6512
原创 Oracle 只对部分行建索引
有些业务会出现一些极端倾斜的情况,如有的流程状态,1表示新建,2表示流程中,14表示流程结束。系统允许几年,99%的数据流程状态是14。索引也是占空间的,且索引大了之后高度也会增加IO,此时可以对少量的数据建索引。SQL> select * from v$version;BANNER----------------------------------------------------
2017-07-19 16:09:43 770
原创 systemtap初探
Solaris上有Dtrace可以对如Oracle,MySQL进行调试,那Linux也有,那就是systemtap。内核引入了一种Kprobe机制,可以用来动态地收集调试和性能信息的工具,是一种非破坏性的工具,用户可以用它跟踪运行中内核任何函数或执行的指令等。systemtap 是利用Kprobe 提供的API来实现动态地监控和跟踪运行中的Linux内核的工具,相比Kprobe,systemtap
2017-07-10 11:19:52 568
原创 Weblogic 12套接字无法下降的原因
线上偶尔会有节点访问很慢,从console上看状态又完全没有告警,状态健康,但套接字很高,多次观察超过200就不行了。这里排除weblogic 12的套接字泄露的bug。 其实套接字这个问题困扰我很多年了,以前的理解是IE跟weblogic之间的连接。凡是都要测试,只有测试能验证真伪。做了测试,发现开了几个浏览器,访问系统的时候套接字会上升,只要不访问,套接字就将下来了。然后我想到,如果
2017-07-06 16:07:56 1717
原创 java 给线程池改名字的作用
近期weblogic会有很多线程,有时候能达到250个,其中有一类很有30-40个,就是如下所示,初一看多线程池,有很多个线程池,然后是生产者消费者模式。现在面临的问题是,如何定位是哪些功能?从目前情况来看无法定位,解决方法是把线程池的名字修改了,借此找到功能。"pool-21-thread-2" prio=10 tid=0x00007f41c00f9800 nid=0xc23d waitin
2017-07-06 15:06:16 6560
原创 MySQL5.6半同步复制配置及实验
MySQL5.5之前是异步复制,主库上写入事务并成功提交之后就返回给用户成功。如果主库的binlog还没有来得及传给从库,这样会造成主从数据不一致。MySQL5.5引入了半同步复制机制,主库上commit之后,b并不及时反馈给前端用户,而是等待其中的一个从库接收到binlog并成功写入中继日志后,主库才返回commit操作成功给客户端。半同步复制保证了事务成功提交后,至少有两份日志记录,一份在主库
2017-07-04 15:25:19 2107
原创 weblogic内部线程协作
WebLogic Server的核心组件由监听线程,套接字复用器和可执行线程的执行队列组成。1.当服务器由监听线程接收到连接请求。2.将对它的连接控制权交给等待接收请求的套接字复用器。3.然后套接字复用器读取离开套接字的请求,并将此请求及相关安全信息或事务处理环境一起置入适当的执行队列中(一般为默认的执行队列)。4.当有一个请求出现在执行队列中时,就会有一个空闲的执行线程从该队列中
2017-07-01 11:06:12 2718
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人