大蟒蛇肚子的"风暴"
遇到了数据库连接数不足的问题,一般情况下会预留一些会话增加的情况,但在一些特殊情况下如连接风暴(logon storm), 如果在监听中没有做rate限流,对数据库来说巨大的冲击可能会导致数据库Hang 或 ora-20 或ora-18 错误。 对于Hang并伴有进程数不足的情况,AWR、ASH 都可能无法升成,甚至数据库都无法登录或做SSD 都不成功, 这时候LISTENER.LOG 就成了关键的“破案”线索。"05-AUG-2016 12:02:12 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=bomcdb)(CID=(PROGRAM=perl)(HOST=NMC-PREDEAL1)(USER=nmcuser))) * (ADDRESS=(PROTOCOL=tcp)(HOST=172.16.2.18)(PORT=57862)) * establish * bomcdb * 0"
数据条目:
05-AUG-2016 13:25:06 * ping * 0
在数据处理时,特意把包含以下字符service_update、ping、status的数据过滤掉,进行统计。
if str.__contains__("service_update") or str.__contains__("ping") or str.__contains__("status") == 1:
当获取到的数据都是有效后,我们要对数据进行拆分,继续获取我们想获取的数据,由于只做统计,那么只要日期即可:
x = str.split('*')[0]
发现数据结尾包含一个空间,将空格进行去除
temp = x.strip()
监听日志的数据拆分完毕,把这些数据存放至一个数组 lsn_data中(这里可能大家有点疑惑,为啥不建二维数组呢?python不存在多维数组)。
因为监听日志有一个很特别的地方,数据本来就是有序的,无需排序,只需去重,把数据放到数据lsn_time中,在处理过程中,可以统计时间的个数并放到数组lsn_count中
# 去重
for l_time in lsn_data:
if l_time not in lsn_time:
lsn_time.append(l_time)
lsn_count.append(lsn_data.count(l_time))
数据已经有了,我们只要把数据画图,即可出现上述的图表。
可以把这些数据用图展示,也可以用表展示。这里用图进行展示
s = Series(lsn_count,index=lsn_time)
s1 = Series(16,index=lsn_time)
plt.ylim(0,80)
s.plot()
s1.plot(color='red', linestyle='--')
plt.show()
用series()函数进行画图,lsn_count为纵坐标,index作为横坐标。在这里我加了1条红色的先s1,用虚线展示。在2013年,广东ngboss上线之初,某库经常出现tnsping缓慢问题。后来经美国实验室测试,每秒的连接数达到16个监听连接就会缓慢。若生成的图表长时间超过红色虚线,那就应该对应用进行拆分整理,避免监听风暴的产生。
大蟒蛇肚子的"风暴"的更多相关文章
- [转]大数据时代,python竟是最好的语言?
随着大数据疯狂的浪潮,新生代的工具Python得到了前所未有的爆发.简洁.开源是这款工具吸引了众多粉丝的原因.目前Python最热的领域,非数据分析和挖掘莫属了.从以Pandas为代表的数据分析领 ...
- 大数据时代,Python是最好的语言!
随着大数据疯狂的浪潮,新生代的工具Python得到了前所未有的爆发.简洁.开源是这款工具吸引了众多粉丝的原因.目前Python最热的领域,非数据分析和挖掘莫属了.从以Pandas为代表的数据分析领域开 ...
- 大数据萌新的Python学习之路(一)
笔记开始简介 从2018年9月份正式进入大学的时代,大数据和人工智能的崛起让我选择了计算机专业学习数据科学与大数据技术专业,接触的第一门语言就是C语言,后来因为同学推荐的原因进入了学校的人工智能研究协 ...
- A 最熟悉的陌生人 (纪念当年就读的梅州市江南高级中学)
最熟悉的陌生人 作者:张慧桥 “枪与玫瑰” 就象瘟98有时会死机天有时会下雨枪有时会走火美国战机有时会掉下来那样,我上网聊天也只是个偶然. 都是栀子那死丫头惹的祸.让每天都觉得是情人节的我那天我自己都 ...
- Python对象的空间边界:独善其身与开放包容
导读:Python猫是一只喵星来客,它爱地球的一切,特别爱优雅而无所不能的 Python.我是它的人类朋友豌豆花下猫,被授权润色与发表它的文章.如果你是第一次看到这个系列文章,那我强烈建议,请先看看它 ...
- bing的简单英文字典工具
今天看到园友心白水撰写的<简单翻译工具--必应字典第三方API使用方法>,感觉很不错,所以用Python也写了一个.源码如下: import urllib.request import j ...
- Python【第一章】:简介和入门
ython简介 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承.之 ...
- [Python] 学习资料汇总
Python是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大且完善的通用型语言,已经有十多年的发展历史,成熟且稳定.Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用 ...
- 进击的Python【第一章】:Python背景初探与Python基础(一)
Python背景初探 一.Python起源 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做 ...
随机推荐
- BZOJ1816(二分)
反思 由于受我第一次遇到的构造最多三角形的题的影响,这种几个分成一组最多多少组的题我老是往贪心上想. 事实上一般贪心也能贪,但这道题,还有突然想起的前些天做的cf140C,都是用二分可以更简单地解决, ...
- 16-----client、offset、scroll 系列
1.client 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- 四则运算 calc()
它的出现还真的蛮令人惊喜的,很适用于百分比宽度.之前我们有box-sizng,而今又多了一个它,并且,calc的实用性更高.我们可以在border.margin.pading.font-size和wi ...
- CentOS6.5安装配置详解
1. 环境要求 VMWare软件: CentOS6.5对应的iso镜像文件(位数对应个人计算机位数). 2. 安装步骤 打开VMWare,文件->新建虚拟机(以下几步默认跳过即可) 命名和选择安 ...
- Asp.NetCore WebApi 引入Swagger
一.创建一个Asp.NetCore WebApi 项目 二.引入NuGet包 SwashBuckle.AspNetCore 三.在项目属性配置中设置 四.修改项目的启动文件Startup.cs 1). ...
- ASP.NET Web.Config连接数据库(测试)
事先说明,我是看着http://jingyan.baidu.com/article/ff411625bc461712e5823775.html做的. web.Config代码(vs2010): 使用的 ...
- webpack.config.js====CSS相关:插件optimize-css-assets-webpack-plugin
1. 安装:主要是用来压缩css文件 cnpm install --save-dev optimize-css-assets-webpack-plugin cssnano 2. webpack.con ...
- echarts使用中的那些事儿(一)
近来由于有几个小项目要用到echarts里的一些图,不得不使用,可是要完全按照自己的意愿来,要对它有些了解,要翻阅资料,遂有以下小结: 1.最开始第一步是把数据调出来就行,能在图上显示就成,以下是最开 ...
- angularjs嵌套路由
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- Winform 读取 指定\另一个\其他\任意 配置文件
ExeConfigurationFileMap map = new ExeConfigurationFileMap(); map.ExeConfigFilename = @&qu ...