DB2数据库-性能测试监控
DB2数据库巡检报告
DB2数据库巡检报告
DB2数据库巡检报告主要包括以下内容:
1.引言:介绍DB2数据库巡检的目的、背景和重要性。
2.巡检范围和方法:说明巡检所涵盖的数据库系统、版本和
环境,以及采用的巡检方法和工具。
3.数据库服务器硬件:对数据库服务器硬件进行检测和分析,
包括CPU、内存、存储、网络等硬件资源的使用情况和性
能表现。
4.数据库软件:对DB2数据库软件的版本、补丁和配置进行
检查和分析,包括数据库实例、表空间、索引、日志等关
键对象的属性和状态。
5.数据安全性和完整性:对数据库的数据安全性和完整性进
行检查,包括用户访问权限、数据备份恢复、加密解密等
安全控制措施的配置和运行情况。
6.性能监控和优化:对DB2数据库的性能进行监控和优化,
包括CPU利用率、I/O性能、内存分配等关键指标的监控
和分析,以及针对性能瓶颈的优化建议。
7.故障排除和恢复:对DB2数据库可能出现的故障进行排查
和恢复,包括系统崩溃、数据损坏等故障类型和相应的恢
复流程和方法。
8.建议和改进:根据巡检结果和分析,提出针对DB2数据库
系统的建议和改进措施,包括硬件升级、软件配置调整、
安全策略改进等。
9.结论:总结巡检报告的主要发现和建议,强调DB2数据库
系统的健康状况和需要关注的方面,以及对未来的改进方向的建议。
需要注意的是,DB2数据库巡检报告的具体内容可能因实际情况而异,上述内容仅供参考。
在实际操作中,需要根据具体的环境和需求进行调整和定制。
数据库性能监控与调优方法
数据库性能监控与调优方法数据库作为企业信息系统的重要组成部分,承担着数据存储与管理的任务,因此数据库的性能对于企业的正常运行至关重要。
本文将介绍数据库性能监控与调优的方法,旨在帮助企业保障数据库的稳定高效运行。
首先,数据库性能监控是保障数据库正常运行的基础。
具体而言,数据库管理员需要对数据库进行持续监控,并及时发现和解决可能存在的性能问题。
以下是一些常用的数据库性能监控方法:1. 监控关键指标:数据库管理员可以通过监控关键指标来评估和监测数据库的性能。
这些指标包括数据库连接数、查询响应时间、磁盘使用率、CPU利用率等。
通过实时监控这些指标,可以及时发现性能问题,并采取相应措施进行调优。
2. 使用性能监控工具:市场上有许多性能监控工具可供选择,如Oracle的Enterprise Manager、MySQL的Percona Monitoring and Management等。
这些工具能够提供可视化的监控界面,帮助管理员实时了解数据库的运行状态,并提供详细的性能分析和建议。
3. 设置告警机制:在性能监控过程中,管理员可以设置告警机制,当数据库出现性能问题时,及时发送警报,以便能够尽早发现和解决问题。
告警机制可以通过邮件、短信等方式进行通知,确保管理员能够第一时间采取措施。
其次,数据库调优是提升数据库性能的有效方法。
通过对数据库的调优,可以优化查询性能、提高数据库的并发处理能力、减少资源消耗等。
以下是一些常用的数据库调优方法:1. 设计优化的数据库结构:合理的数据库结构设计是数据库性能调优的基础。
数据库管理员需要根据应用需求和数据特点,考虑表的索引、关系模式设计、数据类型等因素,以降低查询复杂度,提高查询效率。
2. 优化查询语句:查询语句的优化对于提升数据库性能非常重要。
管理员可以通过修改查询语句、优化查询条件、使用合适的索引等方式,减少查询的时间和资源消耗。
此外,也可以考虑使用数据库的查询优化器,对查询语句进行自动优化。
数据库监控与性能分析工具推荐
数据库监控与性能分析工具推荐目前,随着数据库技术的发展,数据库监控和性能分析工具也得到了越来越广泛的应用。
在众多的数据库监控和性能分析工具中,本文为大家推荐一些性能优良、功能全面的数据库监控和性能分析工具。
1. SolarWinds Database Performance Analyzer(DPA)这是一款专门为云端、物理和虚拟化的环境设计的数据库性能监控和分析工具。
DPA可以对多个数据库实例的性能、等待事件和存储性能进行实时监控和分析。
此外,它还提供了一个自适应基准库,在运行足够的跟踪之后,可以自动为你选择合适的基准值。
DPA还有一个非常强大的功能 - 对于具有低性能的SQL语句自动创建索引,这可以大幅提升整体性能。
2. Paessler PRTG Network MonitorPRTG Network Monitor可以监控网络系统和应用程序的可用性,并提供丰富的自定义报告。
它支持多种设备,包括Microsoft SQL、MySQL和Oracle数据库。
PRTG可以监控数据库的性能指标,如响应时间、查询次数和传输速率。
此外,还可以使用PRTG进行自定义警报和通知,以便快速解决潜在的问题。
3. Idera SQL Diagnostic ManagerSQL Diagnostic Manager是一款监控SQL Server性能的全面解决方案,提供实时性能、存储和服务器监控。
它可以自动诊断性能问题,并提供实时警报和建议来改善性能。
SQL Diagnostic Manager还提供了许多内置报告和仪表板,以及用户可以创建自定义报告和仪表板的选项。
4. dbForge Studio for SQL ServerdbForge Studio是一款功能强大的集成开发环境(IDE),专门为SQL Server设计。
它提供了一个广泛的工具箱,以实现SQL Server的性能监控和分析,包括查询性能分析、查询优化器、语法检查、单元测试等功能。
DB2性能工具简介
在数据库数据页损坏无法进行正常的数据操作时,可以通过db2dart进行数据恢复。当行,则可以在已损坏的表中用 db2dart命令进行数据导出,前提是数据库能连接上。 Db2dart dbname /ddel 然后按提示输入表id,表空间id,起始页,导出页数 Filename used for output data file is TS2T10.DEL. If existing file, data will be appended to it. Formatted data being dumped ... Dumping Page 0 .... Dumping Page 1 .... Table object data formatting end. 导出的数据就在TS2T10.DEL中,以文本形式保存。 由于db2dart命令不需要通过db2数据库管理器进行对数据库的访问,而是直接从磁盘 中读取数据的数据,因此,就算是数据表无法访问,也能进行数据的导出。不过当数 据量大时速度会十分慢。
db2dart 当数据库出现问题的时候,可以用db2dart进行检查,验证数据库以及相关数据库对象是 否正确 db2dart dbname /db Table inspection start: UCAR.TABLE4 Data inspection phase start. Data obj: 7 In pool: 2 Data inspection phase end. Index inspection phase start. Index obj: 7 In pool: 2 Scanning pages for unique index itoken(0) root page:385p. Scanning pages for unique index itoken(1) root page:386p. Index inspection phase end. Table inspection end. ......... Database inspection phase end. ______________________________________ The requested DB2DART processing has completed successfully! All operation completed without error; no problems were detected in the database. ______________________________________ Complete DB2DART report found in: PRODDB.RPT
DB2数据库优化策略
DB2数据库优化策略当涉及到DB2数据库优化时,具体的案例取决于数据库的具体情况和性能问题。
请注意,这些只是一些常见的DB2优化案例和步骤。
具体的优化策略取决于您的特定情况和需求。
在进行任何优化之前,建议先进行充分的需求分析和性能测试,以确保所选的优化策略能够真正解决您的问题并带来显著的性能提升。
一.索引优化:识别慢查询:首先,通过慢查询日志或性能监控工具识别慢查询。
分析查询:查看查询的执行计划,确定是否可以利用索引加速查询。
创建或优化索引:如果发现缺少必要的索引,创建索引;如果存在冗余或低效的索引,则进行优化或删除。
二.查询优化:重写复杂查询:将复杂的联接和子查询重写为更高效的查询方式,例如使用JOIN替代子查询。
使用合适的函数:避免在查询中使用复杂的函数,这可能会影响索引的使用和查询性能。
三.数据库设计优化:规范化:确保数据库表结构经过规范化,以减少数据冗余和潜在的更新、插入和删除异常。
反规范化:在适当的情况下,通过反规范化来提高查询性能,减少数据检索的复杂性。
四.硬件和配置优化:增加内存:提高数据库缓冲池的大小,以便数据库可以缓存更多的数据和索引。
使用更快的存储:选择高性能的硬盘或使用SSD来提高I/O性能。
调整数据库配置参数:根据数据库的工作负载和硬件资源,调整数据库的配置参数,如缓冲池大小、线程数等。
五.监控和调优:定期监控数据库性能:使用性能监控工具定期检查数据库的性能指标,如CPU利用率、磁盘I/O、查询响应时间等。
调整优化策略:根据监控结果,定期评估和调整优化策略,以保持数据库的最佳性能。
六.并发和负载管理:资源争用管理:分析并解决多个用户或应用程序之间的资源争用问题,确保数据库资源得到合理分配。
分区:使用分区技术将大型表和索引分成较小的、更易于管理的片段,以提高管理和查询性能。
七.定期维护:数据库维护:定期进行数据库维护,如重建索引、清理旧数据、更新统计信息等,以保持数据库性能和效率。
DB2数据库-性能测试监控
Index_hit_rate
数据库索引命中率
Total_Locks
数据库当前锁总数
Memory_Current_size
数据库当前内存使用大小
Memory_percent_total
数据库内存使用比例
Memory_hight_watermark
数据库内存高水位
Sort_Overflows
建议:根据业务需求,修改锁超时时间。
修改锁超时时间
Update db cfgLOCKTIMEOUTusing 1 ---表示锁等待超时时间为1秒
数据库最大应用数
Db2 get db cfg |grep–iapplications返回MAXAPPLS
建议:将此指标值设置为自动增长
最大应用数修改方法
Db2update db cfgMAXAPPLSusingAUTOMATIC
执行catalog database xir_trd at node node1为监控数据库分配节点,其中xir_trd为需要监控的数据库、node1为上一步创建的节点名
Spotlight客户端配置
完成DB2客户端的安装及配置
点击file选择connect ---spotlight on db2 LUN----new connection
DB2
一.
1.
概要介绍
DB2是IBM公司研发的关系数据库产品,目前广泛应用于金融、通信、交通等行业,在IBM随需应变的战略体系中扮演着重要角色。因为川农信属于金融行业,因此也在使用DB2,其版本为v9.7,所以在这里介绍一些9.7版本的新特性。
支持索引压缩、临时表数据压缩和xml压缩,更加降低了存储空间成本。
性能测试通常需要监控的指标
性能测试通常需要监控的指标在进行性能测试时,需要监控以下指标以评估系统的性能和效率:1.响应时间:响应时间是衡量系统响应请求的速度。
它是从发送请求到收到相应的时间间隔。
较短的响应时间表示系统运行速度快,用户获得结果的等待时间短。
2.吞吐量:吞吐量是单位时间内系统处理的请求数量。
它表示系统的处理能力,较高的吞吐量意味着系统能够同时处理更多的请求。
3.并发用户数:并发用户数指同时访问系统的用户数量。
它反映了系统能够同时支持的用户数量,较高的并发用户数表示系统能够处理更多的并发请求。
4.CPU使用率:CPU使用率表示当前系统的CPU利用率。
它反映了系统的负载情况,较高的CPU使用率可能导致系统性能下降。
5.内存使用率:内存使用率表示当前系统的内存利用率。
它反映了系统内存的负载情况,较高的内存使用率可能导致系统出现内存不足的情况。
6.网络延迟:网络延迟是从发送请求到接收到响应的时间间隔。
它反映了网络传输的速度和稳定性,较短的网络延迟表示网络传输速度快。
7.数据库响应时间:对于涉及数据库的系统,需要监控数据库的响应时间。
较短的数据库响应时间表示数据库访问效率高。
8.磁盘I/O:磁盘I/O是指磁盘的读写操作。
需要监控磁盘的读写速度和响应时间,较高的磁盘I/O可能影响系统的性能和效率。
9.错误率:错误率表示系统处理请求时出现错误的比率。
较低的错误率表示系统稳定性高,较高的错误率可能表示系统存在问题。
10.带宽利用率:带宽利用率表示当前网络带宽的利用率。
较高的带宽利用率可能导致网络拥堵和传输速度下降。
11.日志记录:性能测试还需要监控系统的日志记录,以便分析和诊断问题。
需要记录系统的运行日志、错误日志和性能日志等。
通过监控这些指标,可以评估系统的性能和效率,并及时发现和解决潜在的性能问题。
关于DB2常见性能问题的解决参考
关于DB2常见性能问题的解决参考最近一个项目在做性能测试时,在并发达到一定数后,DB2数据库资源占用很大,必须对数据库和应用进行优化。
该项目要求性能指标(CPU<70%,内存占用<70%,IO<60),按照网友介绍的经验,分别针对CPU、内存、IO进行问题排查和分析。
现将过程总结如下:一、CPU分析通过资源监视器查看一个或多个CPU 的使用率,确定确实存在CPU使用率一直居高不下的情况。
1、首先排除掉存在死循环的情况。
(并发下来后,CPU使用率会降下来)。
2、DB2占用CPU的主要行为有:语句编译、大量排序、DB2实用工具运行。
3、先查看是否有大量的语句编译:通过DB2的表函数MON_GET_WORKLOAD,可以查看到:select varchar(workload_name,30) as workload_name,sum(total_cpu_time),sum(total_compile_proc_time),sum(act_rqsts_total),um(total_compilations),sum(total_act_time), sum(pkg_cache_inserts), sum(pkg_cache_lookups) from TABLE(MON_GET_WORKLOAD('',-2)) as T group by workload_name如果compile_proc_time 高于5-10% 的total_cpu_time,并且pkg_cache_inserts/pkg_cache_lookups 高于4-5%,则数据库在语句编译上花费了太多的时间。
必须调大语句集中器STMT_CONC的大小。
采用逐步调大的方式来跟踪效果。
4、查看是否存在大量的SORT首先通过db2的快照,看是否存在大量的sort溢出✓Sort overflows/Total sorts * 100% 表示排序溢出百分比,通常情况下,该值应该小于3。
DB2常用视图(sysibmadm模式下),查看DB2性能视图
DB2常⽤视图(sysibmadm模式下),查看DB2性能视图--db2数据管理器配置参数*/select * from sysibmadm.DBCFG--db2数据库配置参数*/select * from sysibmadm.DBMCFG--表(⾏)压缩信息*/select * from sysibmadm.ADMINTABCOMPRESSINFO--db2表信息*/select * from sysibmadm.ADMINTABINFO--db2应⽤程序连接信息*/select * from sysibmadm.APPL_PERFORMANCE--db2表空间当前命中率信息*/select * from sysibmadm.BP_HITRATIO--db2表空间读io信息*/select * from sysibmadm.BP_READ_IO--db2表空间写io信息*/select * from sysibmadm.BP_WRITE_IO--db2数据路径信息*/select * from sysibmadm.DBPATHS--db2数据⽂件信息*/select * from sysibmadm.CONTAINER_UTILIZATION--db2服务器详细配置*/select * from sysibmadm.ENV_SYS_RESOURCES--db2系统版本信息及授权⽅式*/select * from sysibmadm.ENV_PROD_INFO--DB2系统操作⽇志(含⽇志(活动)归档记录)*/select * from sysibmadm.DB_HISTORY--db2锁信息*/select * from sysibmadm.LOCKS_HELD--db2锁内存分配情况*/select * from sysibmadm.LOG_UTILIZATION--db2当前执⾏sql与程序对应情况*/select * from sysibmadm.LONG_RUNNING_SQL--db2对象视图*/select * from sysibmadm.OBJECTOWNERS--db2近24⼩时的程序⽇志*/select * from sysibmadm.PDLOGMSGS_LAST24HOURS --db2对象与权限对应记录*/select * from sysibmadm.PRIVILEGES--db2 sql语句执⾏成本(plan)*/select * from sysibmadm.QUERY_PREP_COST--db2 代理程序id与锁时间对应视图*/select * from sysibmadm.SNAPAGENT--db2 代理程序id与内存使⽤分配情况*/select * from sysibmadm.SNAPAGENT_MEMORY_POOL --db2 监控应⽤程序内存使⽤情况*/select * from sysibmadm.SNAPAPPL--db2 监控应⽤程序内存使⽤详细信息*/select * from sysibmadm.SNAPAPPL_INFO--db2 监控表空间、数据⽂件、io、内存使⽤详细信息*/ select * from sysibmadm.SNAPBP--db2 监控数据库状态等详细信息*/select * from sysibmadm.SNAPDB--db2 监控内存池使⽤情况*/select * from sysibmadm.SNAPDBM_MEMORY_POOL --db2 活动⽇志⽂件使⽤情况*/select * from sysibmadm.SNAPDETAILLOG--db2 当前动态sql语句执⾏情况*/select * from sysibmadm.SNAPDYN_SQL--db2 当前表情况监控*/select * from sysibmadm.SNAPTAB--db2 当前表重组情况监控*/select * from sysibmadm.SNAPTAB_REORG--db2 当前表空间详细信息及使⽤情况监控*/select * from sysibmadm.SNAPTBSP。
DB2锁定超时、死锁检测步骤
--1)打开数据库监控开关
db2 update dbm cfg using DFT_MON_LOCK on DFT_MON_STMT on
db2 update monitor switches using lock ON sort ON bufferpool ON uow ON table ON statement ON
#connect to database
echo now,connecting to database: $dbname
db2 "connect to $dbname"
db2 "update dbm cfg using DFT_MON_LOCK on DFT_MON_STMT on"
where AGENT_ID in (
select AGENT_ID_HOLDING_LK
from table(SNAPSHOT_LOCKWAIT('SAMPLE',-1)) as A order by LOCK_WAIT_START_TIME ASC FETCH FIRST 20 ROWS ONLY )
需要重起DB2
2. 测试中
出现交易失败时,查看快照:
db2 get snapshot for locks on crmdb
3. 测试后
db2 connect reset
查看 实例目录下的 db2locktimeout.0.xxx 文件(db2diag.log所在的目录)
根据需要,可执行 db2 "SET EVENT MONITOR dlock STATE 0" 使dlock监控失效,否则将影响一些性能。
DB2数据库详细安装图解
如果您没有DB2的安装软件,那么您可以到IBM的官方网站上下载免费试用版,网址如下:/cn/software/db2/图1获得的安装文件是一个压缩包:图2DB2的安装1、解压DB2安装压缩包解压获得的DB2安装压缩包:图32、安装DB2 V8.2双击解压后安装文件目录中的“setup.exe”文件,开始安装。
图4第一步:首先进入安装界面:后续安装步骤请参见------>图解:IBM DB2 安装完整过程 ( 二 )将鼠标移动到安装界面不同项,会提示您不同的信息:Ø安装先决条件:显示安装DB2的软硬件需求,先决条件和安装说明。
图6Ø发行说明:显示本产品的最新信息,包括与本产品相关的书籍的自述文件。
图7Ø安装产品:展示可安装的产品列表,可以从列表中进行选择。
图8¨退出安装:关闭此窗口。
图9第二步:点击“安装产品”,进入选择安装产品界面。
图10我们的演示版本只有一个可选项,即:DB2 UDB企业服务器版。
选中此项。
点击“下一步”进入下一步安装。
图11第三步:安装程序进入“欢迎使用DB2安装向导”界面。
点击“下一步”。
图12第四步:安装进入“许可证协议”界面,选择“我接受许可证协议中的全部条款”,否则,安装程序将被终止。
点击“下一步”。
图2.13第五步:安装进入“选择安装类型”界面Ø典型安装:安装程序按照缺省的配置进行安装,您可以在附加功能一栏中添加如“数据仓库”或“卫星管理功能”的功能。
对于大多数的开发环境,选择“典型安装”就可以了。
Ø压缩安装:这个类型只是安装DB2最基本的功能部件和功能,执行最小的配置。
Ø定制安装:您可以自己决定安装什么功能和功能部件,但是,这个类型要求您对DB2的功能部件和设置都比较了解。
我们这里选择“典型安装”,点击“下一步”。
图14第六步:安装程序进入“选择安装操作”界面¨第一项:是否在计算机上安装DB2 企业服务器版本,这个必须被选中。
操作系统的数据库监控与性能测试
操作系统的数据库监控与性能测试数据库在现代信息系统中扮演着至关重要的角色。
为了确保数据库的正常运行和优化性能,数据库监控和性能测试成为不可或缺的环节。
本文将探讨操作系统下数据库的监控方法以及性能测试的重要性。
一、数据库监控数据库监控是指对数据库服务器的关键指标进行实时监测和记录,以便及时发现并解决潜在的问题。
操作系统为数据库监控提供了基础,通过对以下几个方面的监控,可以确保数据库系统的正常运行:1. 空间监控:监测数据库文件的大小、空间利用率等,以及表空间的增长趋势。
一旦发现空间不足的情况,及时采取扩容或优化措施,避免数据存储出现问题。
2. 连接监控:监测数据库连接数、并发连接数等,以评估数据库的负载情况。
通过监控连接数,可以及时发现连接泄露或者连接过多导致性能下降的情况,并进行相应的优化调整。
3. 进程监控:监测数据库服务器的进程状态,包括后台进程和前台进程。
一旦发现异常进程,可以及时进行诊断和处理,以避免进程崩溃或者资源浪费。
4. 日志监控:监测数据库日志的产生和内容,可以及时发现潜在的错误和异常情况。
通过日志监控,可以提前发现数据库故障或数据损坏的迹象,以便及时采取相应的修复措施。
二、数据库性能测试数据库性能测试是为了评估数据库在各种负载情况下的性能表现,以及找出系统存在的性能瓶颈。
通过性能测试,可以及时发现并解决数据库性能问题,提高系统的稳定性和可靠性。
1. 负载测试:通过模拟实际用户的访问行为,对数据库进行负载测试。
通过增加并发用户数、查询复杂度和数据量等,来评估数据库在各种负载情况下的性能表现。
负载测试可以帮助确定数据库的承载能力,并优化系统以满足用户需求。
2. 压力测试:通过制造高负载环境,测试数据库在极限情况下的性能和稳定性。
通过逐渐增加并发用户数、频繁的读写操作等,可以发现数据库在极限负载下的性能瓶颈,并采取相应的优化措施。
3. 容量测试:通过模拟大规模数据量的场景,测试数据库在空间利用和数据处理上的性能。
使用 db2pd 进行监视和故障诊断
使用 db2pd 进行监视和故障诊断因为 db2pd 工具可从 DB2® 内存集合迅速返回即时信息,所以该工具可用于故障诊断。
该工具不需要获得任何锁存器或使用任何引擎资源就可以收集信息。
因此,在 db2pd 收集信息时,有可能(并且预计)会检索到正在更改的信息;这样,数据可能不是十分准确。
如果遇到正在更改的内存指针,可使用信号处理程序来防止 db2pd 异常终止。
这可能会导致输出中出现诸如以下的消息:“正在更改的数据结构已强制终止命令”。
虽然如此,该工具对于故障诊断却非常有用。
在不锁存的情况下收集信息有两个好处:检索速度更快并且不会争用引擎资源。
如果要在出现特定 SQLCODE、ZRC 代码或 ECF 代码时捕获关于数据库管理系统的信息,那么可以使用 db2pdcfg -catch 命令完成此操作。
捕获到错误时,将启动 db2cos(调出脚本)。
db2cos 文件可以自动改变,以便运行解决问题所需的任何 db2pd 命令、操作系统命令或任何其他命令。
在 UNIX® 和Linux™ 上,模板文件 db2cos 位于 sqllib/bin 中。
在 Windows® 操作系统上,db2cos 位于 $DB2PATH in 目录中。
以下是使用 db2pd 快速故障诊断的一组示例。
场景 1:诊断锁定等待使用 db2pd -db <database name> -locks -transactions -applications -dynamic 命令来获取下列结果:锁定:Address TranHdl Lockname Type Mode Sts Owner Dur HldCnt Att ReleaseFlg0x07800000202E5238 3 00020002000000040000000052 Row ..X G 3 1 0 0x00000x400000000x07800000202E4668 2 00020002000000040000000052 Row ..X W* 2 1 0 0x00000x40000000对于使用 -db 数据库名称选项指定的数据库,开头的结果会显示该数据库的锁定。
DB2的参数配置说明
DB2的参数配置说明1.数据库配置参数:-DFT_DEGREE:默认配置为1,表示数据库服务器可以并行处理的任务数量。
可以根据服务器硬件配置调整此参数,以提高并行处理能力。
-MAXAPPLS:默认配置为100,表示数据库支持的最大并发连接数。
如果数据库负载较高,可以适当增加此值。
-LOCKLIST:默认配置为200,表示数据库锁的最大数量。
如果数据库经常出现锁冲突,可以适当增加此值。
-SHEAPTHRES:默认配置为0,表示数据库共享内存区域的大小。
可以根据数据库工作负载的大小调整此值,以提高性能。
2.缓冲池参数配置:-PCKCACHESZ:控制预编译包缓冲池的大小,为了提高性能,可以根据实际需求调整此参数。
-HADR_SYNCMODE:用于配置DB2的高可用性和灾难恢复功能。
可以根据实际需求选择异步或同步模式。
-LOGFILSIZ:表示数据库日志文件的最大大小。
可以根据数据库运行情况和可用存储空间来调整此参数。
-UTIL_HEAP_SZ:用于配置数据库工具的堆大小。
可以根据数据库工具的需求来调整此值,以提高操作效率。
3.SQL优化参数配置:-STMTHEAP:用于配置SQL语句的堆大小。
可以根据SQL语句的复杂度和数据量来调整此参数,以提高查询性能。
-STMM:表示是否开启自动内存管理功能。
可以根据实际需求选择开启或关闭。
-OPT_MEMORY:表示查询优化器使用的内存大小。
可以根据查询复杂度和数据量来调整此值,以提高查询性能。
-DIAGLEVEL:用于配置记录诊断信息的级别。
可以根据需要调整此参数,进行问题排查和性能优化。
以上是一些常见的DB2参数配置说明,根据实际需求和数据库运行情况,可以调整这些参数来达到最佳的性能和可靠性。
需要注意的是,调整参数配置时应谨慎,并进行充分测试和验证,以避免潜在的风险和问题。
解决软件性能问题的DB2数据库优化方案
解决软件性能问题的DB2数据库优化方案摘要:通过应用软件的具体案例,结合db2数据库的使用经验,该文提出采用数据库技术解决软件性能问题的一些思路、原则和方法等。
关键词:db2;软件性能;数据库优化;优化方案中图分类号:f426.21 文献标识码:a 文章编号:1009-3044(2013)04-0671-03performance optimizations of db2 in application software ma qiu-hui(quality dept. ,but’one information corporation, xi’an 710043,china)abstract: this article gives some ideas, principles and methods to solve software performance issues by the specific case and the db2 database using experience.key words: db2; performance of software; database optimization; solution of optimization我公司为某煤炭集团开发了企业运销管理信息系统。
系统采用j2ee体系架构jsp+javabean+servlet三层结构实现,运行于websphere应用容器之上,使用db2数据库存储信息。
系统功能包括:调拨管理、发运管理、地销管理、结算管理、统计管理、市场运营、系统维护等13个功能模块,覆盖20多个部门日常业务,是一套符合客户其业务流程、切合其自身需要、充分发挥其营销优势、量身定制的信息化系统。
系统使用13个月后,随着客户业务量的猛增,软件终端的使用人数从最初的100人迅速增到300人,并仍在继续增加。
软件在上线之前已经通过功能性能测试,并保留有一定的冗余量。
数据库性能测试方法
数据库性能测试方法数据库性能测试是评估数据库系统整体性能的重要手段,能够帮助开发人员和系统管理员发现潜在的瓶颈,改进数据库设计和优化性能。
本文将介绍一些常用的数据库性能测试方法,帮助读者了解如何有效地进行数据库性能测试。
一、负载测试负载测试是一种常用的数据库性能测试方法,通过模拟高负载环境,在数据库系统的实际运行中进行测试,以评估系统在高负载下的性能表现。
负载测试可以模拟多用户同时访问数据库的场景,例如并发用户数、请求频率和响应时间等指标,从而验证系统在高负载压力下的稳定性和性能表现。
在进行负载测试时,需要明确测试目标和指标,例如并发用户数、每秒请求数、响应时间和错误率等。
同时,需要选择合适的测试工具,如Apache JMeter、LoadRunner等,通过调整测试参数和负载模式,模拟真实的用户行为和流量,以及不同类型的查询和事务操作。
通过分析测试结果,可以了解数据库系统在高负载下的性能表现,识别潜在的瓶颈和优化点。
二、压力测试压力测试是一种评估数据库系统在极限负载下的性能表现的方法。
通过逐渐增加负载,达到系统极限或崩溃的状态,以此来测试数据库系统的稳定性和可靠性。
压力测试可以发现系统在超负荷条件下的表现,并评估系统的扩展性和容量规划。
在进行压力测试时,需要逐步增加并发用户数或每秒请求数,直至达到系统的极限负载。
测试过程中需要监控数据库系统的响应时间、吞吐量以及错误率等指标,通过对比不同负载下的表现,找出瓶颈和优化空间。
同时,也需要关注系统在达到峰值负载后的恢复能力和容错性。
三、容量规划与基准测试容量规划是数据库性能测试的重要环节。
通过基准测试,可以获取数据库系统在典型负载下的性能参数,包括CPU利用率、内存使用情况、磁盘I/O性能等,以便为系统的容量规划提供依据。
在进行基准测试时,需要采集数据库系统在正常负载下的性能指标,并通过合理的工作负载模拟真实的业务场景。
根据收集到的数据,进行性能分析和瓶颈定位,确定系统需求和扩展规划。
DB2常见指令
**************************************************************************************************
client
administration client 包括图形化工具和运行环境
USING SYSTEM CATALOG TABLESPACE MANAGED BY DATABASE USING ( FILE 'C:\sql001' 1024 ) *存储系统表 大小为1024*4K
USER TABLESPACE MANAGED BY DATABASE USING ( FILE 'C:\sql001' 1024 ) *存储用户创建的表
DMS表空间
容器类型 文件/裸设备
特点 管理复杂,性能高
表,索引,大对象可以分别存储在不同表空间提高性能
可以增加新的容器,做rebanlance重新分配空间
CREATE DATABASE dbname ON 'D:' USING CODESET GBK TERRITORY CN COLLATE
db2stop 停止实例
db2admin create 创建管理服务器
db2admin drop 删除管理服务器
in start 启动管理服务器
db2admin stop 停止管理服务器
db2 get dbm cfg 获得实例的参数
1024G 单位为G
*********************************************************************************************************
db2数据库迁移方案
DB2数据库迁移方案简介数据库迁移是将现有数据库从一个环境迁移到另一个环境的过程。
在实际应用中,数据库迁移是一项常见的任务,特别是在将数据库从测试环境迁移到生产环境、从旧服务器迁移到新服务器或从一个数据库版本迁移到另一个版本时。
本文将介绍一种常见的DB2数据库迁移方案,涵盖了准备工作、迁移步骤和后续验证。
准备工作在开始数据库迁移之前,需要进行一些准备工作。
以下是一些常见的准备工作:1.备份数据: 在开始迁移之前,一定要确保将现有数据库的数据进行备份。
这样可以避免数据丢失或损坏,以便在迁移过程中出现问题时进行恢复。
2.创建目标环境: 在迁移数据库之前,必须创建好目标环境。
这包括安装和配置目标数据库服务器,并确保它与源数据库服务器兼容。
3.检查数据库版本: 确保源数据库和目标数据库的版本兼容。
如果源数据库是较早的版本,可能需要升级到与目标数据库版本匹配的版本。
4.分析应用程序依赖: 分析现有应用程序与数据库的依赖关系。
了解应用程序使用的数据库对象、表格和视图,以便在迁移后调整和验证。
5.创建迁移计划: 创建一个详细的迁移计划,包括步骤、负责人和时间表。
这有助于确保迁移过程无缝进行。
迁移步骤一旦完成了上述准备工作,可以开始执行以下迁移步骤:1.停止源数据库: 在开始迁移之前,必须停止源数据库以确保所有的数据都在一个一致的状态下。
2.导出源数据库: 使用DB2提供的工具或命令行实用程序将源数据库导出到一个文件中。
这个文件将用作导入到目标数据库的基础。
db2 export to export_file.ixf of ixf select * from table_na me3.导入到目标数据库: 将先前导出的文件导入到目标数据库中。
这将复制源数据库的数据到目标数据库中。
db2 import from export_file.ixf of ixf insert into table_na me4.验证数据完整性: 在导入完数据后,需要验证目标数据库中的数据完整性。
Quest应用管理解决方案 — DB2(管理诊断分析优 化) (NXPowerLite)
QCDB2-SQL Analysis 开发者修改事务; 重新加压测试; 死锁消失。
64
案例2:某经营分析系统的运维
• 发现的问题
– 空间浪费的问题; – 缓冲命中率低的 问题与最大连接 数不足的问题; – Top SQL问题。
65
Thank you…
© 2009 Quest Software, Inc. ALL RIGHTS RESERVED
39
Database Analysis
展现实例中所有活动的数据库与分区的关键指标信息
40
Application Thread Details
展现被监控数据库或分区中所有连接的应用的关键性能统计信息
41
Tablespace Analysis
展现被监控数据库或分区所有表空间的关键性能统计信息
42
WLM Analysis – DB2 LUW v9.5
27
空间使用
当前空间使用的详细信息
28
空间异常报告
标识存储异常, 标识存储异常, 以及按条件判断空间即将用尽, 以及按条件判断空间即将用尽, 预测对象和数据的改变将怎样 影响到数据库中的空闲空间
29
空间计算器
当前空间对象级的使用, 当前空间对象级的使用, 以及What-if分析 以及 分析
30
• Spotlight for DB2 LUW
– 独一无二的实时数据流展现
• 改善整体响应时间
– 检测性能问题 – 下钻到详细指标 • User, SQL, I/O, and O/S
• 降低数据库崩溃风险
– 基于阀值的告警
34
Toad Monitor页
提供数据库活动汇总信息
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
建议:根据表的大小设置不同规格(4k、8k、16k、32k)的表空间,将表空间设置为自动增长的方式。
锁配置信息查看
Db2 get db cfg |grep–ilock
获取LOCKTIMEOUT这项指标的值,若为-1表示锁永远不会超时。
当前的应用系统主要分为两类:联机事务处理(OLTP)和联机分析处理(OLAP)。OLTP主要执行日常的事务处理,比如银行存取款、商场购物等,它的主要特点是对响应时间要求高,数据量一般较小,并发多,面向应用。OLAP主要指数据仓库、决策分析类系统,主要特点是数据量大,对实时性要求不高,面向主题。
针对这两种典型的系统,DB2提供了很好的支持。对于OLTP系统和数据量较小的OLAP系统,可以采用单分区架构。
数据库排序溢出总次数
SQL_Current
数据库当前执行的SQL语句
Tb_scan
数据库全表扫描的情况
Num_SQ_execut
执行次数较多的SQL
Package_Cache_Ratio
包缓存命中率
LOCK_SQL
造成数据库锁的SQL
Hight_CPU_TIME_SQL
最消耗系统资源的SQL
四
根据DB2监控指标中列出的指标名称,按测试指南指标、其他常用指标逐一给出详细的监控方法。
Db2wdong
DB2的看门狗,是db2sysc的父进程。如果db2sysc集成非正常终止,它将清除所占用的资源。
Db2vend
在主进程之外的围栏进程,所有db29.5的第三方代码都在这个进程中运行。
Db2fmp
围栏进程,在防火墙外运行用户的存储程序和用户定义函数代码。此进程代替了db2老版本中的db2udf和db2dari进程。
建议:将log pages read的值保持在0左右
日志大小及路径配置
Db2 get db cfg fot scnx_db |grep–I“log”---查看日志大小、个数、路径等配置
Path to log files---日志存放路径
LOGFILSIZ---单个日志文件大小
LOGPRIMARY----主日志文件个数
4
Db2sysc
系统控制线程。负责实例的启动关闭和管理正在运行的实例。
Db2tcpcm
tcoip交互监听器
Db2agent
协调代理代表应用程序实现数据库操作
Db2agntp
如果intra-parallel的属性是yes,那么会产生活动的副代理。它会为应用程序执行数据库操作。Dbagent将协调不同的db2agntp副代理的工作。
2.
上图描述了DB2的进程模型,长方形代表处理进程,椭圆形代表处理线程,DB2的主进程是db2sysc,在这个处理进程下有许多线 程,最主要的线程也是叫db2sysc,这个主要的线程派生了其他子线程。当一个远程的应用程序比如采用sql connect语句链接服务器时,通讯协议的远程监听器将接收这个请求,并联系db2agent,agent是一个代表DB2实现一些小操作的处理程序, 当发出请求的应用程序是本地的,也就是和DB2服务器在同一服务器上,如果不在同一个服务器上,那么采用db2tcpcm处理本地请求,如果在一台服务器 上采用db2ipccm线程来处理请求。如果发生本地和异地并行的情况,db2agent会生成其他线程的代理db2agntp线程。其他的线程如 db2pfchr、db2loggr、db2dlock它们应用到不同的目的。
主辅日志文件个数不要超过255,日志空间大小不要超过256G,且单个不易过大(最好不要超过1G)
修改日志大小方法:
Db2 update db cfg for scnx_db using logsecond 30 --将辅日志文件个数修改为30个
三.
1.
根据《TEST_GUIDE_NFUN_02非功能测试监控指南》整理出DB2数据库在性能测试项目中需监控的指标如下:
数据库缓冲池命中率
Index_hit_rate
数据库索引命中率
Total_Locks
数据库当前锁总数
Memory_Current_size
数据库当前内存使用大小
Memory_percent_total
数据库内存使用比例
Memory_hight_watermark
数据库内存高水位
Sort_Overflows
建议:根据业务需求,修改锁超时时间。
修改锁超时时间
Update db cfgLOCKTIMEOUTusing 1 ---表示锁等待超时时间为1秒
数据库最大应用数
Db2 get db cfg |grep–iapplications返回MAXAPPLS
建议:将此指标值设置为自动增长
最大应用数修改方法
Db2update db cfgMAXAPPLSusingAUTOMATIC
1.
DB2客户端配置
安装DB2客户端
点击开始,选择IBM DB2---DB2COPY1(缺省值)----命令行工具-----命令行窗口
输入DB2并回车
执行catalog tcpip node node1 remote 10.0.193.133 server 60010创建节点,其中node1为节点名、10.0.193.133为数据库服务器地址、60010为开放端口
修改某项开关的配置:
Db2 update dbm cfg usingDFT_MON_BUFPOOL= on --开启缓冲池的监控
Db2 update dbm cfg usingDFT_MON_BUFPOOL= off --关闭缓冲池的监控
建议:因监控需消耗系统资源,尽量减少对数据库性能的影响,建议开启需要监控项的监控开关。
3
db2sysc (Linux)db2syscs (Win)
DB2的主系统控制器或者引擎,对于一个完整的分区其中只有一个包含多线程的主引擎进程。所有的引擎可以分派单元都是进程中的线程。没有这个进程数据库服务器是无法工作的。
db2acd
主管运行状况监视器和自动维护实用程序的自主计算守护程序。此进程以前称为db2hmon
Db2pfchr
db2异步io数据读取
Db2pclnr
db2异步io数据写入
二.
收集性能测试项目中DB2数据库一些参数的最佳配置或DB2官网的推荐配置。
1.
Db2数据库默认情况下,监控参数一部分是处于关闭状态的,因此在需要监控数据库时,需打开部分监控,命令如下:
查看当前监控开关配置情况:
Db2 get dbm cfg on为开启off为关闭
数据库缓冲池大小修改:
alter bufferpool bp4k immediate size 1010将缓冲池BP4K的页数调整到1010
建议:将 BUFFPAGE 设置成 40000 个页(160 MB),或者等于机器总内存的 10%,或将bufferpool设置成自动增长。
表空间信息查看
Db2pd–d scnx_db–tablespaces 显示表空间信息
与Share-Nothing相对的另外一种常见的架构是Share-Disk。Share-Disk架构允许所有机器都可以访问全部的数据,好处是管理起来相对方便,而且任意一台机器宕机后,只要存储部分不出问题,其他机器上的系统可以照样访问数据。Share-Disk的设计目标主要是提供高可用性,一般用于OLTP系统。
但是有一些OLAP系统,比如国内一些通信公司和电力公司的经营分析系统,包含的数据超过几十TB,一台机器的处理性能根本无法满足要求。这时,可考虑DB2的多分区架构,即Shared Nothing架构。这种架构的优点就是能够充分利用系统资源,将一个大型的查询分解成若干个小查询并行运行在不同的系统中。由于每一个分区只能够访问自己分区的数据,当查询数据需要关联时。需要在分区中交换必要的数据,分区之间使用一种叫做FCM(Fast Communication Manager)的通信机制。这种架构对系统设计人员要求较高,一定要充分理解优化器与系统访问数据的规则,并且设计很好的分区键,才能够尽可能避免分区间大量的数据交换。
建议:使用将最大值修改为自动增长
代理应用程序数
db2 -v get snapshot for dbm |grep -i "agent"返回agent相关信息
idle agent显示空闲代理数量;
agents assigned from pool一个代理分配的次数;
agents creted from empty pool空闲情况下必须创建的代理数量;
指标类型
指标名称
指标描述
DB2
appls_cur_cons
指出当前已连接到数据库的应用程序数
sort_heap_allocated
拍快照时,以所选择的级别为所有排序分配
的排序推空间的总页面数
total_sorts
已经执行的排序总数
total_sorts_time
所有已执行排序的总已用时间(毫秒)
active_sorts
数据库中当前已经分配了排序堆的排序数
log_reads
由记录程序从磁盘读取的日志页数
log_writes
由记录程序写入磁盘的日志页数
lock_waits
应用程序或连接等待锁定的总次数
2.
根据日常性能测试总结归纳出《监控指南》中现缺少的性能指标如下:
指标பைடு நூலகம்型
指标名称
指标描述
DB2
Overall_hit_ratio
支持内联大对象。
在线表迁移功能。
支持实时表字段更改。
在性能监控方面DB29.7有了极大增强,新的监控模型不仅可以快速找出问题瓶颈,而且对系统的影响非常小。特别是对锁的监控,通过新的Locking Event Monitor可同时监控死锁、锁等待和锁超时。