Logstash + kibana+Elasticsearch 服务端部署文档(以上三个组件都是基于官网最新版)

Logstash  + kibana+Elasticsearch 服务端部署文档(以上三个组件都是基于官网最新版)
Logstash  + kibana+Elasticsearch 服务端部署文档(以上三个组件都是基于官网最新版)

Logstash + kibana+Elasticsearch 服务端部署文档(以上三个组件都是基于官网最新版)logstash服务端操作系统要求:Ubunutu 14.04

A.jdk安装步骤

1.连接上操作系统执行jdk 安装源,执行如下命令:

sudo add-apt-repository -y ppa:webupd8team/java

2.添加源成功以后如下命令执行命令

sudo apt-get update && sudo apt-get -y install oracle-java8-installer

即可进行jdk的安装,安装的是最新版jdk1.8u45

Jdk安装完成后我们安装ElasticSearch.

B.安装ElasticSearch

1.首先要导入elasticSerach的公共GPG 密匙到apt安装源中,执行如下命令:

o wget –qO – https://packages.elastic.co/GPG–KEY–elasticsearch | sudo apt–key add –

2.创建ElasticSearch 安装源,命令如下:

echo “deb http://packages.elastic.co/elasticsearch/1.7/debian stable main” | sudo tee –a/etc/apt/sources.list.d/elasticsearch–1.7.list

3.然后执行安装源更新和安装命令如下:

sudo apt–get update && sudo apt–get install elasticsearch

4.待步骤3完成后我们需要更改配置文件,执行如下命令:

sudo vi /etc/elasticsearch/elasticsearch.yml

然后修改network.host为localhost 即可如所示:

network.host: localhost

修改完成保存然后执行重启命令:

o sudo service elasticsearch restart

5.修改elasticsearch 操作系统启动时的优先级

sudo update-rc.d elasticsearch defaults 95 10

执行完以后,elasticsearch 完成启动,接下来我们安装kibana前端搜索界面.

C.安装kibana

1.首先下载kibana 到你的操作系统home目录下

cd ~; wget

https://https://www.360docs.net/doc/251515350.html,/kibana/kibana/kibana-4.0.1-linux-x64.tar.gz

2.解压文件并编辑配置文件命令如下:

解压命令如下:tar xvf kibana-*.tar.gz

解压完成后编辑配置文件命令如下:vi ~/kibana-4*/config/kibana.yml

只需要修改其中host即可修改为"localhost",如下所示:host: "localhost"

3.然后拷贝kibana4 到系统的opt目录下,操作步骤如下:

a.先创建对应文件夹命令如下:sudo mkdir -p /opt/kibana

b.执行拷贝命令:sudo cp -R ~/kibana-4*/* /opt/kibana/

c.需如果需要kibana 作为服务启动,执行以下步骤:

1).首先执行命令下载脚本命令如下:

cd /etc/init.d && sudo wget

https://https://www.360docs.net/doc/251515350.html,/thisismitch/8b15ac909aed21

4ad04a/raw/bce61d85643c2dcdfbc2728c55a41dab444dca20/kib

ana4

2)现在编辑文本下载的脚本,按顺序执行如下命令即可:

1. sudo chmod +x /etc/init.d/kibana4

2.sudo update-rc.d kibana4 defaults 96 9

3.sudo service kibana4 start

D.安装NGINX

1. 首先安装nginx,在命令行执行如下命令:

sudo apt-get install nginx apache2-utils

2.安装完成以后创建一个用户,用以基本保护访问的url。命令执行如下:

sudo htpasswd -c /etc/nginx/https://www.360docs.net/doc/251515350.html,ers kibanaadmin

然后输入密码即可建议设置密码Passwod-201506.

3.然后进入编辑nginx配置文件,编辑文件如下:

sudo vi /etc/nginx/sites-available/default

4.最后形成的配置文件如下:

server {

listen 80;

server_name https://www.360docs.net/doc/251515350.html,;

auth_basic “Restricted Access”;

auth_basic_user_file /etc/nginx/https://www.360docs.net/doc/251515350.html,ers;

location / {

proxy_pass http://localhost:5601;

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection ‘upgrade';

proxy_set_header Host $host;

proxy_cache_bypass $http_upgrade;

}

}

5.配置文件保存后,重启nginx,命令如下:

sudo service nginx restart

E.安装logstash

1.在操作系统加入logstash 安装源,命令如下:

echo “deb https://www.360docs.net/doc/251515350.html,/logstash/1.5/debian stable main” | sudo tee –a /etc/apt/sources.list

2.源加入后,执行安装命令。命令如下:

sudo apt-get update && sudo apt-get install logstash

3.配置Logstash服务端配置文件,命令如下:

sudo vi /etc/logstash/conf.d/central.conf

最后配置文件如下:

input {

redis {

host => "127.0.0.1"

port => "6379"

type => "redis-input"

data_type => "list"

key => "logstash"

codec =>"json"

}

}

output {

stdout { }

elasticsearch {

cluster => "elasticsearch"

protocol => "http"

host => "127.0.0.1"

index => "logstash-%{+YYYY.MM.dd}"

}

}

然后启动服务端命令如下:sudo service logstash restart,即可启动logstash

4.客户端配置文件,配置文件如下(可以是任何操作系统以及任何目录):

input {

file {

type => "tomcat"

path => ["本地日志文件路径" ]

codec => plain{

charset => "ISO-8859-1"

}

}

}

filter {

if [type] == "tomcat" {

multiline {

pattern =>

"(^%{TOMCAT_DATESTAMP})|(^%{CATALINA_DATESTAMP})"

negate => true

what => "previous"

}

if "_grokparsefailure" in [tags] {

drop { }

}

grok {

match => [ "message", "%{TOMCATLOG}", "message",

"%{CATALINALOG}" ]

}

date {

match => [ "timestamp", "yyyy-MM-dd HH:mm:ss,SSS Z", "MMM dd, yyyy HH:mm:ss a" ]

}

}

}

output {

stdout { codec=>rubydebug}

redis {

host => "redis服务器ip地址"

port =>"6379"

data_type => "list"

key => "logstash"

}

}

此配置文件只需要替换掉本地日志文件路径为tomcat路径以及其他日志文件路径type 也对应替换即可,这里以windows为例,进入logstash目录的bin目录然后执行如下命令:

logstash agent --verbose --config sniff.conf --log ../logs/stdout2.log 即可启动客户端

logstash程序

F.创建ssl证书

1.创建证书文件路径,命令如下:

a).sudo mkdir -p /etc/pki/tls/certs

b).sudo mkdir /etc/pki/tls/private

2.创建证书有两种方法,一种是通过Ip地址来设置证书。另外一种通过FQDN方式来

生成证书,下面开始介绍第一种方式:

a.Ip地址生成证书

1)编辑openssl配置文件,命令如下:

sudo vi /etc/ssl/https://www.360docs.net/doc/251515350.html,f

2) 然后找到[ v3_ca ] 这个选项,然后编辑配置

subjectAltName = IP: logstash服务端部署的IP地址

3) 编辑完成后保存退出编辑文件后进入/etc/pki/tls 目录,命令

如下: cd /etc/pki/tls,然后敲入生成证书命令命令如下:

sudo openssl req -config /etc/ssl/https://www.360docs.net/doc/251515350.html,f -x509 -days 3650

-batch -nodes -newkey rsa:2048 -keyout

private/logstash-forwarder.key -out

certs/logstash-forwarder.crt,即可生成通信SSL证书.

b.fqdn证书生成没有第二步骤直接进入第三步生成命令如下:

sudo openssl req -subj ‘/CN=logstash_server_fqdn/’ -x509 -days

3650 -batch -nodes -newkey rsa:2048 -keyout

private/logstash-forwarder.key -out certs/logstash-forwarder.crt G.配置kibana展现logstash采集的日志

在浏览器里输入nginx配置的kinana的ip地址,然后输入配置的用户名kibanaadmin 以及密码后会打开kinaba4的界面如下图:

在下拉列表框中选择对应的字段@timestamp字段

再点击CREATE按钮即可完成logstash与kibana的适配,然后就可以查看了,效果如下:

然后根据每隔一段时间即可在这看到采集的最新tomcat日志.

实验5 数据库监视与性能优化

实验项目名称:数据库监视与性能优化实验学时: 4 同组学生姓名:实验地点: 实验日期:实验成绩: 批改教师:批改时间: 一、实验目的和要求 1、利用索引优化查询性能、优化SQL语句。 2、了解通过对SQL profiler跟踪系统运行数据。 二、实验仪器和设备 设备:奔腾Ⅳ或奔腾Ⅳ以上计算机; 环境:WINDOWS 7 或WINDOWS XP、Microsoft SQL Server 2008。 三、实验过程 1、完成以下的实验。 1)使用对象资源管理器创建、管理索引 ①为员工表创建一个索引名为“emp_id”的唯一性非聚集索引,索引关键字是“员工号”,填充因子80 % 。 ②重命名索引,将索引“emp_id”重命名为“员工表_员工号”。 ③删除索引“员工表_员工号”。 2)使用T-SQL语句创建、管理索引 ①为员工表创建一个索引名为“emp_id”的唯一性非聚集索引,索引关键字是“员工号”,填充因子80 % 。 ②重命名索引,将索引“emp_id”重命名为“员工表_员工号”。 ③为员工参与项目表创建一个索引名为“员工_项目_index”的非聚集复合索引,索引关键字为“员工号”,升序,项目编号,降序,填充因子50%。 ④删除索引“员工表_员工号”和“员工_项目_index”。 3)索引前后的执行计划 ①删除员工表中员工号上的主键。按员工姓名和项目名称查询对应的职责,然后观察执行计划信息,计算总的I/O和CPU开销。(员工表和员工参与项目表中的员工号都没有索引)②为员工参与项目表创建一个索引名为“员工参与项目_员工号”的非聚集索引,索引关键字为“员工号”,升序;按员工姓名和项目名称查询对应的职责,然后观察执行计划信息,计算总的I/O和CPU开销。(员工表中员工号没索引,员工参与项目表中的员工号有非聚集

第3章 自动数据库性能监视器

第3章自动数据库性能监视器 自动数据库性能监视器(ADDM)自动检查和报告数据库的性能问题。结果作为ADDM调查报告显示在Oracle企业管理器的数据库主页中,审查ADDM调查结果让你可以快速找出性能问题。 每个ADDM调查结果都提供了一串有关减少性能问题影响的建议,审查ADDM调查结果并执行建议是你每天正常维护数据库应该要做的事情,即使数据库处于未最佳的性能状态,你也应该继续使用ADDM监视数据库性能。 3.1 自动数据库诊断监视器概述 ADDM是构建在Oracle数据库内部的自我诊断软件,ADDM检查并分析自动工作量仓库(AWR)捕获到的数据,确定Oracle数据库可能存在的性能问题,然后它定位性能问题的根本原因,为纠正这些性能问题提供建议,并量化预计的性能收益,ADDM也可以识别不需要行动的区域。 3.1.1 ADDM分析 每次AWR快照(默认每小时一次)后就会执行ADDM分析,分析报告保存在数据库中,你可以通过Oracle企业管理器来查看这些报告,在使用本指南描述的另一个性能调整方法之前,先审查一下ADDM分析报告。 ADDM分析是从上到下执行的,首先确定症状,然后完善分析报告,指出导致性能问题的根本原因,ADDM使用DB time统计信息确定性能问题,DB time是数据库除了用户请求花去的递增式时间,包括等待时间和所有非空闲会话的CPU时间。 数据库性能调整的目标是减少给定工作量的DB time,通过减少DB time,数据库使用相同数量的资源可以支持更多用户请求,ADDM报告使用了大量DB time的系统资源,将其显示在问题区域,并按消耗的DB time数量进行倒序排序,关于DB time统计信息的更多信息请参考"时间模型统计"小节的内容。 3.1.2 ADDM建议 除了诊断性能问题外,ADDM还会给出建议解决方案,并且有时会建议多个可选的解决方案让你选择,ADDM建议包括: 硬件改造 添加CPU或修改I/O子系统配置 数据库配置 修改初始化参数配置 方案修改 对表或索引进行哈希分区,或使用自动段空间管理(ASSM) 修改应用程序 为序列使用缓存选项或使用绑定变量 使用其它顾问 在高负载SQL语句上运行SQL调整顾问或在热点对象上运行分段顾问。 ADDM应用在生产系统上受益良多,即使在开发和测试系统上,ADDM也可以提前提供潜在的性能问题警报。 性能调整是一个反复的过程,修复一个问题可能会导致瓶颈转移到系统的其它部分,即使使用ADDM分析报告,也要经过多次反复的调整才能使性能达到理想的水平。 3.1.3 Oracle真正应用集群中的ADDM 在Oracle真正引用集群(Oracle RAC)环境中,你可以使用ADDM分析整个数据库集群的性能,Oracle RAC中的ADDM会认为DB time是所有数据库实例数据库时间的总和,它只会报告集群级别的重要分析结果,例如,考虑局部各个集群节点的I/O水平就没什么意义,但所有节点的I/O水平的总和对于判定集群问题就显得很重要了。 3.2 配置自动数据库诊断监视器 3.2.1 设置初始化参数启用ADDM 默认情况下自动数据库诊断监视功能是被启用的,由初始化参数CONTROL_MANAGEMENT_PACK_ACCESS和STATISTICS_LEVEL控制。 CONTROL_MANAGEMENT_PACK_ACCESS初始化参数应该被设置为DIAGNOSTIC+TUNING(默认)或DIAGNOSTIC以确保启用自动数据库诊断监视器,如果将CONTROL_MANAGEMENT_PACK_ACCESS设置为NONE,就会禁用掉许多Oracle数据库特性,包括ADDM,强烈建议不要这么做。

使用SpotLight监控数据库性能

使用SpotLight监控数据库性能 8.1.4 使用SpotLight监控数据库性能(1) SpotLight On Oracle是由Quest公司出品的一款针对Oracle进行监控的软件。SpotLight监控Oracle的基本原理与LoadRunner监控类似,通过获取Oracle的数据字典和动态性能视图,然后把性能数据按直观的方式展现出来,如图8.11所示。 (点击查看大图)图8.11 SpotLight On Oracle监控数据库下面简要介绍使用SpotLight对Oracle进行监控的过程。 1.建立Oracle连接 第一步要建立Connection,如图8.12所示,这样才能够使用SpotLight连接到要监测的数据库。

新建连接,然后输入Oracle连接用户账号,确定之后即可进入监控主页面。 2.查看系统主界面进行Oracle监控 系统主界面反映了系统的整体运行情况,如果系统哪方面出现问题,会报相应的警告,最严重为红色警告。然后根据警告可转到相应的子窗口,查看相应的情况。下面介绍各子窗口。 1)Sessions面板 Response:系统的响应时间。 Total Users:总的用户Session数量。 Active Users:当前正在执行的用户Session数量。 2)Host面板 Host面板主要显示CPU利用率和内存使用情况。 3)Server Processes面板 Server Processes面板主要显示服务器进程的信息。主要关注以下几点。 PGA Target/Used:PGA目标总数及当前使用数。 Dedicated:专用服务器进程的个数。 Shared:共享服务器进程的个数。 Job Queue:作业进程的个数。 4)SGA面板 SGA面板主要显示SGA中各组件的内存使用情况,主要关注以下几点。

DB2数据库-性能测试监控

DB2数据库-性能测试监控 一.DB2数据库介绍 1. DB2架构介绍 概要介绍 DB2是IBM公司研发的关系数据库产品,目前广泛应用于金融、通信、交通等行业,在IBM随需应变的战略体系中扮演着重要角色。因为川农信属于金融行业,因此也在使用DB2,其版本为v9.7,所以在这里介绍一些9.7版本的新特性。 ●支持索引压缩、临时表数据压缩和xml压缩,更加降低了存储空间成本。 ●支持内联大对象。 ●在线表迁移功能。 ●支持实时表字段更改。 ●在性能监控方面DB29.7有了极大增强,新的监控模型不仅可以快速找出问题瓶颈,而且对系统的影响非常小。特别是对锁的监控,通过新的Locking Event Monitor可同时监控死锁、锁等待和锁超时。 ●移植性增强。 ●HADR备机可读。 三种常用架构简介 当前的应用系统主要分为两类:联机事务处理(OLTP)和联机分析处理(OLAP)。 OLTP主要执行日常的事务处理,比如银行存取款、商场购物等,它的主要特点是对响应时间要求高,数据量一般较小,并发多,面向应用。OLAP主要指数据仓库、决策分析类系统,主要特点是数据量大,对实时性要求不高,面向主题。 针对这两种典型的系统,DB2提供了很好的支持。对于OLTP系统和数据量较小的OLAP系统,可以采用单分区架构。 但是有一些OLAP系统,比如国内一些通信公司和电力公司的经营分析系统,包含的数据超过几十TB,一台机器的处理性能根本无法满足要求。这时,可考虑DB2的多

分区架构,即Shared Nothing架构。这种架构的优点就是能够充分利用系统资源,将一个大型的查询分解成若干个小查询并行运行在不同的系统中。由于每一个分区只能够访问自己分区的数据,当查询数据需要关联时。需要在分区中交换必要的数据,分区之间使用一种叫做FCM(Fast Communication Manager)的通信机制。这种架构对系统设计人员要求较高,一定要充分理解优化器与系统访问数据的规则,并且设计很好的分区键,才能够尽可能避免分区间大量的数据交换。 与Share-Nothing相对的另外一种常见的架构是Share-Disk。Share-Disk架构允许所有机器都可以访问全部的数据,好处是管理起来相对方便,而且任意一台机器宕机后,只要存储部分不出问题,其他机器上的系统可以照样访问数据。Share-Disk的设计目标主要是提供高可用性,一般用于OLTP系统。 2. 主要模块介绍 上图描述了DB2的进程模型,长方形代表处理进程,椭圆形代表处理线程,DB2的主进程是db2sysc,在这个处理进程下有许多线程,最主要的线程也是叫db2sysc,这个主要的线程派生了其他子线程。当一个远程的应用程序比如采用sql connect语句链接服务器时,通讯协议的远程监听器将接收这个请求,并联系db2agent,agent是一个代表DB2实现一些小操作的处理程序,当发出请求的应用程序是本地的,也就是和DB2服务器在同一服务器上,如果不在同一个服务器上,那么采用db2tcpcm处理本地请求,如果在一台服务器上采

数据库性能问题处理及监控

`数据库性能问题处理及监控 思想重视 掌握方法 主动学习 善于协调 一、培训背景 系统性能是功能的延伸和深化。从某种程度上说,性能问题比单一的功能问题对客户造成的影响更大、更深、更恶劣,没有人愿意使用功能完备却性能糟糕的系统。改善和提升客户的系统操作体验,提高产品及客户服务满意度,系统的优异性能必不可少。从技术层面来说,这需要通过良好的数据库结构设计及应用程序架构设计来保证。 然而实际上,无论前期做多么的周密设计,都无法保证系统在客户实际使用过程中持续优良的性能。随着业务的提升,功能和数据也随之膨胀,性能稳定的挑战越来越大。此时,就需要现场系统维护人员迅速跟进并做有效的问题处理。 二、培训目的 明确系统维护人员性能问题处理的职责分工 明晰数据库性能问题的处理流程 性能调整需要团队协作,涉及DBA、操作系统管理人员、网络管理人员、应用程序设计及开发人员、应用系统现场维护人员等岗位 性能调整方法:调整业务功能、调整数据设计、调整过程设计、调整SQL语句、调整内存分配、调整IO、调整资源争用、调整OS 现场人员性能调整工作的角色分配:调整业务功能、调整SQL语句 明确、清晰的问题处理流程,可以规范问题处理步骤,缩短问题处理时间最小化性能问题的影响,有利于缓解后期解决问题的压力,进而促进问题的最终解决!

三、数据库性能故障处理流程 所谓数据库故障,简单讲就是数据库响应缓慢甚至不能响应客户端发起的请求。例如,客户端提交一个SQL请求后,会话处于等待数据库实例返回结果的状态。很多现场情况下,用户有7*24的运行需求。在系统突然遭遇性能问题时,我们并没有时间去收集数据,对比统计数据,进行索引分析和调整操作。 此时,需要几分钟或者几十分钟内解决这样的突发性能问题,我们工作重点应该是迅速确定发生了什么问题,并尽可能快速的恢复正常服务,严谨的优化方式并不现实。因此,应该先处理问题,再研究问题。 如何处理问题?没有简单答案!性能调整的普遍规则并不存在,但制定一个规范的工作流程和实施步骤是切实可行的。性能问题千差万别,需要有一个符合实际情况的性能问题处理的流程图,作为性能问题搜寻的方法指导。否则,由于性能问题分布在系统的各个层面,性能调整就会变成大海捞针。

数据库性能监控分析系统的设计与实现

—105— 数据库性能监控分析系统的设计与实现 王 娜,宿红毅,白 琳,王 鑫,郝子昭 (北京理工大学计算机科学与工程系,北京 100081) 摘 要:在讨论Oracle 体系结构和性能优化的基础上介绍了一个基于J2EE 的数据库性能监控和分析系统(DMI)的总体设计思想及其部分实现。 关键词:性能优化;Oracle ;实时监控;JMS ;RMI Design and Realization of Database Performance Monitoring and Analyzing System WANG Na, SU Hongyi, BAI Lin, WANG Xin, HAO Zizhao (Dept. of Computer Science and Engineering, Beijing Institute of Technology, Beijing 100081) 【Abstract 】This paper presents the design and part of implementation of a database performance monitoring and analyzing system (DMI) based on J2EE with discussing the architecture and performance optimizing of Oracle. 【Key words 】Performance optimizing; Oracle; Real-time monitoring; JMS; RMI 计 算 机 工 程Computer Engineering 第31卷 第24期 Vol.31 № 24 2005年12月 December 2005 ·软件技术与数据库· 文章编号:1000—3428(2005)24—0105—03 文献标识码:A 中图分类号:TP311.13 随着数据库应用的不断深入和扩大,数据库中的数据量迅速增长,数据操作也越来越复杂,数据库工作效率逐渐下降。因此,实施对数据库的管理维护、性能调优越来越受到广大数据库管理员(DBA)的关注和重视。虽然目前各种数据库产品本身也提供了大量功能强大的性能监控和调试工具,如Oracle 的OEM 、Performance Manager 、Capacity Planer 等,来帮助数据库管理人员对数据库性能进行调整、优化,但遗憾的是,精通掌握这些工具并能通过它们来有效地分析数据库性能状态,进而合理配置数据库以调整其性能也十分困难。因此开发一个简单高效的数据库性能监控管理工具来辅助DBA 对数据库进行性能分析调优成为数据库应用不断扩展的需要。 针对这种情况,本文结合业界先进的数据库管理经验,开发了Database Management Insight(DMI)——一个简单、实用、方便、安全的数据库监控管理平台。它可以有效地辅助数据库管理人员对数据库进行性能优化,确保数据库正常、平滑、高效地运转。DMI 可以监控Oracle 、Sybase 、DB2等数据库,本文以Oracle 为例来对该系统进行阐述。 1 总体设计 1.1 Oracle 的结构和性能优化 数据库优化的目的是更改系统的一个或多个组件,使其满足一个或多个目标的过程。对Oracle 数据库来说,优化是进行合理的资源配置,达到组件之间的均衡以改善其性能,即增加吞吐量、提高响应时间。数据库性能优化要考虑到系统的各个组成部分,由图1可以看出,Oracle 应用系统主要包含以下几个部分[1]: (1)用户进程和服务器进程 用户进程是SQL 语句的提出者,服务器进程则负责执行由用户进程传递过来的SQL 语句,与SGA 区交互。用户进程和服务器进程是数据库性能调整的一个重要方面,尤其是当用户的数量随着时间的推移而 不断增大时,建立与数据库的重复性临时连接的Web 应用系统会导致性能下降[2]。 (2)Oracle 实例 一个Oracle 实例是存储结构和后台进程的组合体。其中,SGA 是用来存放所有数据库进程共享的数据和控制信息的存储区域,当数据库一启动,SGA 就立即占有服务器的内存空间。SGA 中的库高速缓存、字典高速缓存、数据高速缓存、日志缓冲区以及大缓冲池和Java 池等组件的大小对系统性能有极大的影响,它们直接影响磁盘I/O 的频率,从而影响数据库效率[3]。实施性能优化时应注意DB_CACHE_SIZE 、SHARED_POOL_SIZE 、LOG_BUFFER 、LARGE_POOL_SIZE 和JAVA_POOL_SIZE 这几个参数的值,如果配置不合理会造成系统资源的极大浪费。 图 1 Oracle 体系结构 基金项目:武器装备预研项目 作者简介:王 娜(1981—),女,硕士生,主研方向:计算机网络与分布式处理;宿红毅,副教授;白 琳、王 鑫、郝子昭,硕士生 收稿日期:2004-10-28 E-mail :sdbzwn@https://www.360docs.net/doc/251515350.html,

数据库性能监测指标

数据库性能监测指标(如Oracle、SqlServer)、LoadRunner 性能测试指标 1.%Disk Time(PhysicalDisk_Total) 2.%Processor Time(Processor_Total) 3.File Data Operations/sec(System) 4.Interrupts/sec(Processor_Total) 5.Page Faults/sec(Memory) 6.Pages/sec(Memory) 7.PoolNonpaged Bytes(Memory) 8.Private Bytes(Process_Total) 9.Processor Queue Length(System) 10.Threads(Objects) dbm: rem_cons_in 到正在被监视的数据库管理器实例的当前连接数,从远程客户端启动 agents_from_pool 代理程序池中已分配的代理程序数 agents_stolen 从应用程序中盗用代理程序的次数。重新分配与应用程序相关联的空闲代理程序,以便对其他应用程序执行操作,称作“盗用” sort_heap_allocated 拍快照时,以所选择的级别为所有排序分配的排序堆空间的总页数post_threshold_sorts 达到排序堆阈值后,已请求的堆的排序数 db: appls_cur_cons 当前已连接到数据库的应用程序数 appls_in_db2 当前已连接到数据库并且数据库管理器当前正在处理其请求的应用程序数sort_heap_allocated 拍快照时,以所选择的级别为所有排序分配的排序堆空间的总页数total_sorts 已经执行的排序总数 total_sort_time 所有已执行排序的总已用时间(以毫秒为单位) sort_overflows 用完排序堆并且可能需要临时磁盘存储空间的排序总数 hash_join_small_overflows 哈希联接数据大小超过可用排序堆空间,但超出比率小于10% 的次数 pool_data_l_reads 已经通过缓冲池的数据页逻辑读取请求数 pool_data_p_reads 要求I/O 将数据页放入缓冲池的读取请求数 pool_index_l_reads 已经通过缓冲池的索引页逻辑读取请求数 pool_index_p_reads 需要将索引页放入缓冲池的物理读取请求数 files_closed 已关闭的数据库文件的总数 pkg_cache_lookups 应用程序在程序包缓存中查找一个节或程序包的次数。在数据库级,它表示自从启动数据库或重置监视器数据以来的引用总数 pkg_cache_inserts 请求的一个节不可用,因而必须加载到程序包缓存中的总次数。此计数包括由系统执行的任何隐式准备

数据库性能监控

数据库性能监控 1.纲要: 数据库性能监控是一个常非大范围。 包含:表空间、段、索引、主键、数据缓冲区、库缓冲、用户锁、等待事件、回滚段、I/O、共享池等等。(空间、索引、等待事件) 2.概述: 在日常生产系统中,我们的系统都使用相当长的时间,SGA 中重做日志缓存区的命中率,应该小于1%、高速缓存命中>=90%率等等一般都是正常的,当然一个非常低的命中率的确意味着系统配置或应用存在严重问题;非常高的缓存命中率存在严重低效率的SQL语句(极差的SQL造成%99以上的命中率), 但命中率的多少义意不是很大,主要是查看系统的等待事件,系统的反应时间,吞吐率(I/O)。 在系统的配置都没有问题情况下,影响性能的主要方面集中在: 1、索引 2、oracle、操作系统某些资源利用的不合理 3、系统的等待事件 3.索引 要开始监控一个索引的使用,使用这个命令: ALTER INDEX pk_addr MONITORING USAGE;

要停止监控一个索引,输入: ALTER INDEX pk_addr NOMONITORING USAGE; 开始监控索引的使用之后,就可以在sys.v$object_usage视图中查到你所监控的索引的使用情况。 所有被使用过至少一次的索引都可以被监控并显示到这个视图中。不过,一个用户只可以接收它自己schema中的索引使用。Oracle并没有提供一个视图来接收所有模式中的索引。 4.oracle、操作系统某些资源利用的不合理 内存分配不合理 内存的利用率多于80%时,这时说明内存方面应该调节一下。方法大体有以下几项: 划给Oracle使用的内存不要超过系统内存的1/2,一般保在系统内存的40%为益。 为系统增加内存; 如果你的连接特别多,可以使用MTS的方式;(MTS(Multi-Threaded Server)是ORACLE SERVER的一个可选的配置选择,是相对DEDICATE方式而言,它最大的优点是在以不用增加物理资源(内存)的前提下支持更多的并发的连接。) 打全补丁,防止内存漏洞。 表空间分配的不合理 表空间不足的时候,系统前台根本无法使用。 回滚段空间的不足,持行脚本就回失败。 --监控表空间使用率与剩余空间大小的语句 SELECT D.TABLESPACE_NAME,SPACE "空间(M)", BLOCKS ,SPACE-NVL(FREE_SPACE,0) "使用空间(M)", ROUND((1-NVL(FREE_SPACE,0)/SPACE)*100,2) "使用率(%)", FREE_SPACE "空闲空间(M)" FROM (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES)/(1024*1024),2) SPACE, SUM(BLOCKS) BLOCKS FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) D,

DB2性能指标及监控

DB2数据库性能优化 第2课
-DB2性能指标及监控
DATAGURU专业数据分析社区

本课目标
完成本课后,你应该能够

理解OLTP系统关键性能指标是指什么

性能与哪些因素相关

如何监控SQL语句性能

了解数据库层面关键性能指标及获取方法
DATAGURU专业数据分析社区

OLTP系统关键指标:事务吞吐量,平均响应时间
事务吞吐量:指单位时间内数据库所能完成的事务处理或查询的笔数 平均响应时间:平均完成每笔事务或查询需要的时间 这两项指标通常作为系统的非功能需求被提出;基准性能测试指标:TPC-C
DATAGURU专业数据分析社区

性能与哪些因素相关?
数据库服务器硬件配置及应用部署架构
– – 硬件配置:CPU,Memory, Storage(IOPS, Throughput),Network 数据库与应用服务器距离
事务/查询本身复杂度 数据量大小及数据库相关设计
– – – 表及索引 表空间 数据库参数
代码质量
– – 处理逻辑 SQL语句
DATAGURU专业数据分析社区

如何获取TPS, Response Time
性能测试工具如Load Runner, 但仅在模拟性能测试时用 应用层如有日志,可从中统计出来 数据库层
– 下面命令可获取到当前时间为止, 数据库总的TPS及Response Time; 如需要了解TPS及Response Time 在不同时段的变化,需要按一定时间间隔获取数据,然后计算出来 db2 “SELECT current time as CURRENT_TIME, TOTAL_APP_COMMITS, TOTAL_ACT_TIME, TOTAL_APP_COMMITS/TIMESTAMPDIFF(2,CURRENT TIMESTAMP - DB_CONN_TIME) as TPS, TOTAL_ACT_TIME/TOTAL_APP_COMMITS as RESPONSE_TIME FROM TABLE (MON_GET_DATABASE(-2))“ CURRENT_TIME TOTAL_APP_COMMITS TOTAL_ACT_TIME TPS RESPONSE_TIME ------------ -------------------- -------------------- -------------------- -------------------17:46:30 276817 2168651 56 7 … 17:49:00 281127 2202164 55 7
DATAGURU专业数据分析社区
17:46:30 至 17:49:00之间 TPS=(281127-276817)/150 =28

监控数据库性能的SQL语句

监控数据库性能的SQL语句 1. 监控事例的等待 select event, sum(decode(wait_Time,0,0,1)) "Prev", sum(decode(wait_Time,0,1,0)) "Curr", count(*) "Tot" from v$session_Wait group by event order by 4; 2. 回滚段的争用情况 select name, waits, gets, waits/gets "Ratio" from v$rollstat a, v$rollname b where https://www.360docs.net/doc/251515350.html,n = https://www.360docs.net/doc/251515350.html,n; 3. 监控表空间的 I/O 比例 select df.tablespace_name name,df.file_name "file",f.phyrds pyr, f.phyblkrd pbr,f.phywrts pyw, f.phyblkwrt pbw from v$filestat f, dba_data_files df where f.file# = df.file_id order by df.tablespace_name; 4. 监控文件系统的 I/O 比例 select substr(a.file#,1,2) "#", substr(https://www.360docs.net/doc/251515350.html,,1,30) "Name", a.status, a.bytes, b.phyrds, b.phywrts from v$datafile a, v$filestat b where a.file# = b.file#; 5.在某个用户下找所有的索引 select user_indexes.table_name, user_indexes.index_name, uniqueness, column_name from user_ind_columns, user_indexes where user_ind_columns.index_name =

数据库日常巡检报告

1.日常巡检手册 监控所有关键业务系统的数据库系统,以ORACLE数据库为例。主要的监控指标应包括配置信息、故障监控和性能监控。主要工作包括: 1、配置信息管理:数据库配置信息包括数据库名,数据库实例名,版本信息,数据库位数,归档方式,文件目录,表空间信息,内存信息,其他SID.ORA的相关参数信息。 2、故障监控:监控数据库关键的运行状态和进程等进行有效的管理,具体的管理功能应包含:(1)服务器实例的可用性,监控数据库实例的状态;(2)空间监控:监控表空间、Redo 日志、Archive日志的使用情况;(3)显示和过滤Alert Log中的报警等;(4)数据库空间、表空间、数据文件占用或空闲的空间;磁盘的使用;表和索引的使用;重做日志Redo logs;内存的使用Memory usage;交换区的使用Swap usage。 3、性能监控:监控数据库的性能,鉴别和消除瓶颈以提高数据库系统的整体性能,包括:(1)由内存容量引起的数据库响应缓慢; (2)由于请求Redo日志空间引起的延迟; (3)锁资源监控,对阻塞了其它会话的锁进行告警,以及可用的锁; (4)等待某回滚段完成的事务百分比; (5)监控SGA、Buffer Cache、I/O等相关的性能数据;(6)监控数据库会话的状况。 应及时变更配置信息并定期(每月)编制数据库监控报告并提交相关部门和人员。 检查实例 1.常规检查 编号参数名称描述参数说明 1文件自动扩展正确数据文件使用裸设备时,文件不可自动扩展(使用文件系统的数据文件也建议不设成自动扩展): Sql>select file_name,tablespace_name,status,autoextensible from dba_data_files where autoextensible<>'NO'; Sql>alter database datafile '****' autoextend off;; 2默认表空间正确不要使用system表空间作为应用用户的默认表空间: Sql>Select username,account_status,default_tablespace,temporary_tablespace from dba_Users; Sql>alter user ctais2bb default tablespace ctais2_dat;

实验5 数据库性能监视与优化实验

实验5 数据库性能监视与优化实验 1.实验目的 理解数据库性能概念,练习数据库性能监视命令方法,能够对数据库性能进行优化。 2.实验内容 【实验5-1】使用SHOW 语句查询设备吞吐量Questions>Com_SelectComJnsertCom_update> Com_delete儿个指标值。 【实验 5-2]访问 Performance_schema 中的 events_statements_summary_by_digest 表,获取有关的延迟、错误和查询量信息的性能指标。 【实验5-3】使用SHOW语句查询连接检查指标Threads_connected > Threads_running> Connection_errors_internal、Aborted_connects 和 Connection_errors_max_connections G 【实验5-4]使用SHOW 语句查询Innodb 缓冲区指标lnnodb_buffer_pool_pages_total、Innodb buffer pool read requests> Innodb buffer pool readSo 【实验5-5 ]使用SHOW语句获取与查询缓冲相关的指标:Qcache_free_blocks、Qcache_free_memory、Qcache_hits、Qcachejnserts、Qcache_lowmem_prunes、Qcache_not_cached> Qcache_queries_in_cache、Qcache_total_blocks。、 【实验5-6 ]使用SHOW语句获取关于临时表的指标Created_tmp_disk_tables、Created_tmp_files、Created_tmp_tables。 【实验5-7]使用SHOW语句获取访问表的数量指标Open_tables和Opened_tables。 【实验5-8】使用SHOW PROCESSLIST命令查询用户正在运行的线程信息协助进行故障诊断。【实验5-9】调出慢查询日志并利用mysqldumpslow来进行日志分析° 【实验5-10]使用EXPLAIN EXTENDED命令查看带有UNION子句的SELECT的执行计划。 【实验5-11]使用EXPLAIN EXTENDED命令查看如下语句的执行计划: SELECT * FROM tl WHERE al<10 AND ( EXISTS (SELECT a2 FROM t2 WHERE t2.a2<5 AND t2.b2=l) OR EXISTS (SELECT a2 FROM t2 WHERE t2.a2<5 AND t2.b2=2)); 【实验5-12】使用EXPLAIN EXTENDED命令查看如下语句的执行计划: SELECT * FROM tl, (SELECT * FROM t2 WHERE t2.a2 >10) v_t2 WHERE tl.al<10 AND v_t2.a2<20; 【实验5-13】创建一个表,并在适当字段上创建索引,对比在大数据量情形下使用索引与不 使用索引的性能c 【实验5-14]使用PROCEDURE ANALYSE检查表列。 【实验5-15】使用lnet_ATON将IP地址192.128.1.1转换为数字,再将2130706433转换为 IP地址。 【实验5-16]进行简单的关联查询代替子查询的重写操作,并验证其正确性和执行效率的变化。 【实验5-17]查询SQL的最大连接数并修改其至合适的数值。 3.实验结果 【实验 5-1】使用 SHOW 语句查询设备吞吐量 Questions、Com_Select、Com_insert、 Com_update、 Com delete儿个指标值。

数据库监控和管理解决方案

Foglight ? 数据库监控和管理解决方案 “借助Performance Analysis ,我们在企业应用程序上获得了一个新的优势 — 它向我们展示了可能形成瓶颈的细小错误。” —Jürgen Becker 应用程序开发人员, Adecco “Foglight 为我们提供了无与伦比的应用程序可见性。这种可见性正是我们查找遇到的每个性能问题的根源所需要的。对于 Foglight ,我最喜欢的是它没有引入任何明显的开销,这可能影响我们的业绩考核。” —Stephen Feldman 性能工程和架构高级主管 Blackboard “Dell-Quest 是顶级的开发和数据库管理解决方案独立供应商,它服务于分布式系统和其他非大型机系统。” —“2009年度全球数据库开发和管理工 具供应商和市场领域分析” IDC#226364(2010年12月) “对于希望管理越来越复杂的异构数据库环境、抑制数据库增长和管理数据库管理成本的用户而言,数据库开发和管理工具市场继续为他们带来了重要价值。对于用户,专注于一家DBMS 供应商提供的工具可能是一个重大的禁锢。用户正在考虑不仅提供了灵活性,还能以一致的方式管理异构环境中多个数据库的第三方解决方案。” —“2009 年度全球数据库开发和管理工具 供应商和市场领域分析”IDC#226364(2010年12月) 为跨平台的数据库环境提供一致的服务水平不是一项容易的工作。而且如果您使用每个平台的本机工具或来自多个供应商的第三方解决方案,那么您想要获得可靠的性能数据是几乎不可能的。 借助我们行业领先的数据库监控和管理解决方案,您可轻松地跨多个平台地对数据库进行整合,对数据库性能进行标准化管理。我们提供了针对Oracle 、SQL Server 、DB2和Sybase 的Foglight?解决方案。 我们的软件显著简化了数据库性能监控和管理,提供跨平台数据库环境的一致可见性。此外,Foglight 还显著改善了服务水平,并大大降低了成本。 超出您预期的功能强大的解决方案 数据库性能监控和管理正在快速发展,而我们的解决方案也在不断随之发展。我们的创新产品提供了多个内置的集成点。我们顶级的数据库性能管理产品(Foglight? for Databases 和 Foglight? Performance Analysis )提供了丰富且富有吸引力的功能集,它们既可单独使用,也可作为一个完整的端到端监控、诊断、分析和优化解决方案的一部分。无论您有怎样的业务和基础架构需求,我们的解决方案都可帮助您轻松实现它们。 哪款产品适合您? 我们提供了行业领先的软件将原始数据转换为有用的信息,并优化您的数据库基础架构。此外,我们最优秀的客户经理、技术顾问、架构师和高层管理人员将紧密协作来确保我们的解决方案满足您的独特业务和IT 需求。 无论您需要监控数据库资源还是分析单个项目的工作负载,我们的革命性解决方案都可提供帮助。请更多了解我们可靠的跨平台数据库监控产品,找到最适合您的产品。 跨异构环境的统一数据库监控

oracle数据库性能监控

oracle数据库性能监控的SQL 1. 监控事例的等待 SQL> SELECT EVENT,SUM(DECODE(WAIT_TIME,0,0,1)) "PREV",SUM(DECODE(WAIT_TIME,0,1,0)) "CURR",COUNT(*) "TOT" FROM V$SESSION_WAIT GROUP BY EVENT ORDER BY 4; 2. 回滚段的争用情况 SQL> SELECT NAME, WAITS, GETS, WAITS/GETS "RATIO" FROM V$ROLLSTAT A, V$ROLLNAME B WHERE https://www.360docs.net/doc/251515350.html,N = https://www.360docs.net/doc/251515350.html,N; 3. 监控表空间的 I/O 比例 SQL> SELECT DF.TABLESPACE_NAME NAME,DF.FILE_NAME "FILE",F.PHYRDS PYR, F.PHYBLKRD PBR,F.PHYWRTS PYW, F.PHYBLKWRT PBW FROM V$FILESTAT F, DBA_DATA_FILES DF WHERE F.FILE# = DF.FILE_ID ORDER BY DF.TABLESPACE_NAME; 4. 监控文件系统的 I/O 比例 SQL> SELECT SUBSTR(A.FILE#,1,2) "#", SUBSTR(https://www.360docs.net/doc/251515350.html,,1,30) "NAME", A.STATUS,A.BYTES, B.PHYRDS,B.PHYWRTS FROM V$DATAFILE A, V$FILESTAT B WHERE A.FILE# = B.FILE#; 5.在某个用户下找所有的索引 SQL> SELECT USER_INDEXES.TABLE_NAME, USER_INDEXES.INDEX_NAME,UNIQUENESS, COLUMN_NAME FROM USER_IND_COLUMNS, USER_INDEXES WHERE USER_IND_COLUMNS.INDEX_NAME = USER_INDEXES.INDEX_NAME AND USER_IND_COLUMNS.TABLE_NAME = USER_INDEXES.TABLE_NAME ORDER BY USER_INDEXES.TABLE_TYPE, USER_INDEXES.TABLE_NAME, USER_INDEXES.INDEX_NAME, COLUMN_POSITION; 6. 监控 SGA 的命中率 SQL> SELECT A.VALUE + B.VALUE "LOGICAL_READS", C.VALUE "PHYS_READS", ROUND(100 * ((A.VALUE+B.VALUE)-C.VALUE) / (A.VALUE+B.VALUE)) "BUFFER HIT RATIO" FROM V$SYSSTAT A, V$SYSSTAT B, V$SYSSTAT C WHERE A.STATISTIC# = 38 AND B.STATISTIC# = 39 AND C.STATISTIC# = 40; 7. 监控 SGA 中字典缓冲区的命中率 SQL> SELECT PARAMETER, GETS,GETMISSES , GETMISSES/(GETS+GETMISSES)*100 "MISS RATIO",(1-(SUM(GETMISSES)/ (SUM(GETS)+SUM(GETMISSES))))*100 "HIT RATIO" FROM V$ROWCACHE WHERE GETS+GETMISSES <>0 GROUP BY PARAMETER, GETS, GETMISSES; 8. 监控 SGA 中共享缓存区的命中率,应该小于1%

数据库监测指标

数据库监测指标 数据库监测器监测参数 Oracle数据库 Oracle数据库性能 游标数 Session数 每秒事务数 数据库锁数量 死锁数量 缓冲池命中率 Cache命中率 进程内存利用率 Largest Chunk Listener状态 交易量 Block Changes Per Transaction Block Get Rate Block Visits Per Transaction Calls Per Transaction Changed Block Ratio Consistent Change Ratio Continued Row Ratio Redo Log Space Wait Ratio Row Source Ratio Sort Overflow Ratio Library Cache Miss Ratio Oracle数据库表空间 表空间状态 使用率 已用空间 剩余率 剩余空间 总容量 Oracle数据库连接数 User Call Rate User Calls Per Parse Ratio User Rollback Ratio Connections Utilization Current Connections

Reserved Connections Oracle数据库进程内存使用率 SQL Server数据库SQL Server 数据库性 能 数据库容量 数据库状态 交易量 Unallocated Space Reserved Space Data Space Index Space Unused Space Transaction Log Size Database Space Utilization Table Space Utilization Transaction Log Space Utilization Page Read Rate Page Write Rate Batch/Lazy/Log Write Rate Pending Reads/Writes Rate Free Data Cache Buffers Network Read Rate Network Write Rate Read Ahead Rate Process Blocking Locks Ratio User Connections Users Blocked SQL Buffer Manager Buffer Cache 击中率 每秒Lazy_writes数 每秒发出的物理数据库页读取数 所发出的物理数据库页写入的数目 由要求刷新所有脏也的检查点或者其它操作每秒刷新到磁盘的页数 页若不被引用将在缓冲区中停留的秒数 SQL Memory Manager SQL Server 使用的内存总量 维护连接的动态内存 每秒成功获得一个工作空间内存授权的进程总数 查询优化的内存总数 动态SQL高速缓存的动态内存总数 页若不被引用将在缓存区池中停留的秒数

相关主题
相关文档
最新文档