oracle压力测试
- 格式:ppt
- 大小:498.00 KB
- 文档页数:21
Oracle数据库测试方案目录1.测试背景 (3)2.小机环境安装及配置 (3)2.1.硬件需求 (3)2.2.安装配置 (3)2.3.补丁 (3)3.安装Oracle及RAC (3)3.1.Oracle版本 (3)3.2.数据库参数 (3)4.划分存储 (4)5.迁移数据 (4)6.Oracle数据库压力测试 (4)6.1.查看执行最频繁的sql (4)6.1.1.查看当前数据库执行次数最多的sql (4)6.1.2.查看历史快照中执行次数最多的sql (5)6.2.Jmeter配置 (5)6.3.执行jmeter测试 (6)7.变更字符集后数据库测试 (6)7.1.数据库测试 (6)7.1.1.查看当前数据库的字符集 (6)7.1.2.数据测试 (6)7.2.应用测试 (7)7.2.1.综合统计系统 (7)7.2.2.内主页 (8)7.2.3.CMS (9)1.测试背景信息中心提供AIX环境,安装oracle 11g RAC,作为测试机进行测试,为数据库迁移提供评估信息;同时要将数据库字符集从ZHS16GBK变更为AL32UTF8,为字符集变更进行测试。
2.小机环境安装及配置2.1.硬件需求2.2.安装配置2.3.补丁3.安装Oracle及RAC3.1.Oracle版本3.2.数据库参数4.划分存储存储需求5.迁移数据6.Oracle数据库压力测试基于生产库的数据基础,在测试机上对数据库性能进行压力测试,针对生产库的查询需求,以生产库中执行频繁的SQL为基础进行测试。
Oracle数据库压力测试采用jmeter对数据进行压力测试,测试sql采用生产数据库执行最频繁的TOP156.1.查看执行最频繁的sql6.1.1.查看当前数据库执行次数最多的sql通过查询V$SQLAREA或V$SQL的EXECUTIONS来查看SQL的执行次数,但是这个值的有效性需要结合FIRST_LOAD_TIME来判断。
Swingbench for oracleRAC使用方法图解1 Swingbench 简述1.1 概述这是Oracle UK的一个员工在一个被抛弃的项目的基础上开发的。
目前稳定版本2.2,最新版本2.3,基于JDK1.5。
该工具是免费的,可以在作者的网站上自由下载,并且拥有详细的使用文档。
除了Swingbench,作者还开发了两个相关工具:测试数据生成工具DataGenerator 和跟踪文件分析工具Trace Analyzer。
Swingbench 可以执行4种不同的标准测试(benchmark),拥有三种前端展示方式Swingbench/Charbench/Minibench,其中Charbench是字符模式的,另外两种是GUI模式的。
另外还可以通过ClusterOverview可以聚合显示所有的结果。
Swingbench 的开发目的主要是用来展示RAC的负载和测试,但也可用于单实例环境。
最新的2.3版本开始支持TimesTen 内存数据库。
下载地址:/downloads.html作者博客:/blog/blog.html目前网络上开源的oracle压力测试工具主要是orabm和swingbe nc h,由于orabm不支持oracle 11g版本,因此本次测试使用了swingben进行了压力测试。
另外,swingbench还能对rac进行测试。
swingbench是UK ba sed oracle Database Solutions group开发的一个oracle压力测试工具,好像是官方废弃的一个项目,官方页面/swingbench.html 上可以下载最新的软件版本。
swingbench可以运行在windows和linux平台,本次以windows 为例。
2. 环境配置测试客户端需要安装JDK,无需安装oracle client端swingbench的版本为2.4 ,直接解压软件压缩包,解压后路劲如下,因是windows下做测试所以使用 winbin目录下的批处理文件主要使用到的是如下四个bat文件主要的bat文件作用如下:1、bmcompare 用来对比测试结果2、ccwizard 是以CC种子为模板创建的运行测试数据3、clusteroverview 用来启动集群的压力测试,并查看测试结果4、coordinator 用来启动协调服务器5、minibench 用来注册节点到协调服务器6、oewizard 是以OE种子为模板创建运行测试数据7、shwizard 是以SH种子为模板创建运行测试数据8、swingbench 执行基准测试3.测试3.1 创建测试数据swingbench不使用客户数据,而是按自己的规则创建测试数据,(生成的测试数据只能使用一次,测试过后需要再次测试的话,需要重新创建测试数据,这点做的不好)到目标目录下运行oewizard.bat批处理文件,也可以在目录下双机oewizard.bat批处理文件运行会看到如下界面下一步下一步,输入你需要测试的数据库的 //ip/sid 以及sys用户的密码下一步,前三项不需要修改,为swingbench自动创建的schema,只需要修改datafile的存放路径即可。
压力测试总结第1篇直接上公式不太好理解,我们先看案例案例1:秒杀型算法案例的业务量要求某业务,类似秒杀型,用户估算有2W左右,每个用户平均请求2次接口(查询用户信息接口、查询业务接口),这些用户大概率会在2分钟内会访问我们的系统,业务要保证用户2s能打开页面TPS的分析TPS是系统每秒钟处理的任务数量,给定二业务场景,我们就需要先计算出来每秒需要系统处理多少任务,从而反推在压力测试的时候,需要给多大的TPS了。
首先,整个系统的总请求数=用户(2W)* 每个用户请求数(2次)= 40000次其次,每秒要求处理的请求数=总请求数/时间(切换到秒)即约350(333向上取个整吧)。
最后,TPS并发数量与每个请求所消耗的时间,可实际计算出每秒实际能够处理的请求数。
即每秒实际处理请求数量=tps数量 *1000【1秒,需要切换为毫秒】/单组tps处理时间【这里是按200ms返回】因此,我们只要保证每秒实际处理请求数>每秒要求处理的请求数就可以了。
最终结果就是: TPS数量 > 每秒要求处理的请求数 *tps返回时间【按200ms计算】/1000ms 带入数据计算 tps>(350 *200)/1000,具体tps>70。
因此可让压力测试人员按照tps100来压接口,返回在200ms以内就满足性能要求。
当然如果实际tps50的返回时间为100ms,则按照这个粗略的公式来推算,也是能够支撑的(350 * 100/1000=35,也就是说tps高于35,返回100ms以内也是可以的)案例2:一个日常服务的算法如:一个100w访问的服务,每天访问集中白天8小时,每个用户大约会请求3个接口,每天早上9点是峰值。
首先计算日均请求数(每秒);按8小时 100w访问量、平均3个接口请求计算;每秒日均请求数=100w(访问量)*3(每个访问量平均请求接口数)/8(小时)/3600(切换成秒),结果就是每秒请求10 0次。
Toad for Oracle功能详细介绍在Oracle应用程序的开发过程中,访问数据库对象和编写SQL程序是一件乏味且耗费时间的工作,对数据库进行日常管理也是需要很多SQL脚本才能完成的。
Quest Software为此提供了高效的Oracle应用开发工具-Toad (Tools of Oracle Application Developers)。
在Toad的新版本中,还加入了DBA(Database Administrator 数据库管理员)模块,可以帮助DBA完成许多日常管理工作。
它最大的特点就是简单易用,访问速度快。
使用Toad,我们可以通过一个图形化的用户界面快速访问数据库,完成复杂的SQL和PL/SQL代码编辑和测试工作。
Toad 由Oracle开发专家专门为开发人员而设计,是一个功能强大、结构紧凑的专业化PL/SQL开发环境。
Toad 主要具有如下特点:1.模式浏览器(schema browser):模式浏览功能可以快速访问数据字典,浏览数据库中的表、索引、存储过程。
Toad 提供对数据库的快速访问,使用极为方便,用户界面简洁,结构安排合理。
当我们点击一个单独的数据库对象,Toad立即显示此对象的详细信息。
例如,当我们点一个数据库的表,所有和此表相关的索引、约束、存储过程、SQL语句以及和其他表的相互引用关系都在同一界面显示出来。
为了简化操作,用户可以在一个模式浏览器窗口中操作所有数据库对象。
(图Schema Browser以“Multi Line Tab”方式显示所有数据库对象)2.SQL 编辑器(Sql Editor):SQL 编辑器的主要功能是编辑、运行和调整SQL语句。
TOAD 的高级编辑窗口包括众多的特性来提高开发人员编写SQL语句的产品化程度。
例如,简单地生成代码模板,在编写SQL前自动发现包的容和列的名字等等。
SQL编辑器包括一个编辑窗口和运行结果窗口,允许开发人员在编辑的过程中测试运行结果。
Swingbench 压力测试安装目录第一部分Oracle11g客户端安装 (2)一、基本配置 (2)二、详细安装过程 (2)第二部分配置服务命名 (6)一、详细配置过程 (6)第三部分设置Swingbench (11)一、详细配置过程 (11)第一部分Oracle11g客户端安装一、基本配置•前提:在虚拟机中已安装oracle10g数据库,宿主机已安装jdk。
由于我的宿主机子装的是64位系统,所以只能安装oracle11g的64位的客户端软件。
二、详细安装过程1.解压安装软件,点击setup.exe进行安装,出现如下界面,选择安装类型为“管理员”,进入下一步。
2.选择产品语言,这里选择默认的即可,点击下一步。
3.指定安装位置,一般安装在D盘即可,进入下一步。
4.进入到执行先决条件检查,5.检查完毕后,会显示安装的概要信息,点击完成。
6.安装产品。
7.安装成功。
第二部分配置服务命名一、详细配置过程1. 选择开始菜单中的“Oracle - OraClient11g_home1”里的“配置和移植工具”中的“Net Manager”,出现下面界面。
2.选择服务命名,点击左边的“+”,添加网络服务名,这里服务名为“orcl”,点击下一步。
3.选择网络协议,这里选择“TCP/IP(Internet协议)”,继续下一步。
4.输入要连接的服务器的主机名和端口号,这里输入服务器的ip地址,端口使用标准的“1521”,进入下一步。
5.输入服务名和连接类型,这里服务名为“orcl”,连接类型选择“数据库默认设置”,选择下一步。
6.1设置完成可以选择测试,是否连接到服务器,点击测试,6.2这里一开始,默认的测试用户为“scott”,密码为“tiger”,但是在起初,服务器并没有把scott用户解锁,所以会显示下面信息。
6.3在服务器中使用sysdba连接,然后把scott用户解锁,之后再点击测试,就会显示测试成功。
7.完成之后会有如下界面,之后保存退出即可。
小y 黄远邦技术人生(4)——导致Oracle性能抖动的参数提醒不知不觉,技术人生系列·我和数据中心的故事来到了第四期。
小y又和大家见面了!当您看到业务系统压测呈现以下波浪形的tps曲线时,你会怎么下手?小y(中亦科技)今天要和大家分享的就是这样一个业务系统压测性能问题的分析和解决过程。
这个问题困扰了客户相当长一段时间,幸运的是,小y通过远程在10分钟定位到了问题的原因并帮助客户最终解决了问题。
需要说明的是,在这个CASE中,只调整数据库参数是不够的,还需要做其他分析和调整才可以解决问题。
为了保持原汁原味,同时增加文章的趣味性,小y除了会继续坚持以往分析报告的写法外,会尝试开始引入一些问题处理的心理历程,希望朋友们可以了解到小y的真实工作状态。
我们能学到什么Ø Oracle数据库在11.2.0.3及以上的版本上必须要调整的一个重要的性能相关的参数!Ø 如何在诊断失败后坚持或快速调整问题甄别方向的技巧!Ø 如何在处理跨团队/部门的综合型问题中掌握主动权的一些经验!温馨提示如果您的高并发、事务型的OLTP核心业务系统中中经常会出现一些性能的抖动。
比如交易响应时间突然急剧上升,同时伴随着ap服务器端口数/进程活动数/jdbc连接数升高、数据库每秒DB TIME 升高等现象,并且Oracle版本在11.2.0.3或以上,那么很可能和该文章提到的一个重要参数有关系哦!如果调整参数后还无法解决,可以联系小y诊断哦(mian fei de)。
1、问题来了上午10点,QQ突然闪了起来,来活了!小y,有空吗?帮忙看个awr。
我一会跟你电话说一下情况。
今年他们新上的一个关键业务系统,在做上线前的压力测试时,应用的并发无法达到上线前的并发指标和响应时间指标要求。
压测时TPS的曲线如下所示:发来QQ消息的是国内一个大型航空公司的DBA,一般的问题他都可以自己解决,这次看上去他遇到麻烦了。
Oracle数据库实验报告实验一:Oracle 10g安装卸载及相关工具配置一、实验目标:安装Oracle 10g,了解OEM,通过DBCA安装数据库,通过DBCA删除数据库,sqldeveloper连接数据库,卸载oracle 10g。
二、实验学时数2学时三、实验步骤和内容:1、安装Oracle10g(默认安装数据库)双击,选择基本安装,安装目录D:盘,标准版,默认数据库orcl,口令bhbh。
进入先决条件检查界面时:网络配置需求选项不用打勾,直接下一步,是。
直到安装成功。
2、登陆和了解OEM主要是已网页的形式来对数据库进行管理。
- OraDb10g_home1->配置和移植工具->Database Configuration Assistant->删除数据库->……4、通过DBCA安装数据库xscj程序->Oracle - OraDb10g_home1->配置和移植工具->Database Configuration Assistant->创建数据库->……5、sqldeveloper连接数据库打开sqldeveloper,新建连接连接名:system_ora用户名:system口令:bhbh主机名:本机计算机名SID:xscj测试,显示成功,连接,保存。
6、卸载oracle 10gWindows下1>停止所有Oracle服务,点Universal Installer卸载2>删除注册表中的所有关于Oracle项在HKEY_LOCAL_MACHINE\SOFTWARE下,删除Oracle目录3>删除硬盘上所有Oracle文件。
(1)Oracle安装文件(2)系统目录下,在Program files文件夹中的Oracle文件四、上机作业根据实验步骤完成逐个实验目标中的任务。
五、心得体会通过这次的实验,我了解了oracle数据库的情况。
前段时间,在阿里妈妈新机房压力测试过程中用到了LR测试ORACLE,跟DBA一起在杭州网通新机房进行1000用户的压力模拟测试。
整个压力测试耗时两天。
以下是一些经验:1)压力测试过程中发现一些SQL脚本执行非常慢,进行了优化。
2)最好并发测试,否则服务基本上没有什么压力。
3)先从100用户开始,再慢慢向上加,直到CPU的承载达到90%以上。
查看系统的性能情况,包括TPS,响应时间,和内存等。
还包括oracle服务器的I/O流量和交易数。
这个方案是参考了淘宝的机房性能测试方案,下面是性能测试的具体步骤:oracle的性能测试主要是模拟大量的sql语句操作,来对数据库服务器进行加压。
在测试前,需要准备以下要模拟的sql语句,测试脚本,并将测试控制机、测试加压机、被测数据库服务器准备妥当。
脚本协议选择oracle(2-Tier),将所有要模拟的sql语句放在一个sql文件内,使用sql-plus 来操作数据库载入,使用loadrunner来录制。
录制好之后就是修改脚本了,首先在vdf.h文件中定义变量(static void FAR * OraBind1;),定义参数(static LRD_VAR_DESC UID ={LRD_VAR_DESC_EYECAT, 1, 10, LRD_DBTYPE_ORACLE, {1, 1, 0},DT_SF_STRIPPED_SPACES};)。
为什么要在这里定义而不直接只用参数化呢?因为那样会对加压机造成很大的压力,不利于测试。
这里需要根据你的脚本来变化,你在脚本中使用了多少变量,多少参数,那么你就在要这里定义多少。
接下来修改脚本的,将一次性的登陆登出放在init和end中,使用lrd_assign和lrd_ora8_bind_placeholder命令替代参数,如lrd_ora8_stmt(OraStm6, "SELECT COUNT(*) as counter FROM ***** WHERE ***_id="":U and ( status = 0 or ""status is null)", 1, 0, 0);lrd_assign(&UID , "{UID}", "", 0, 0);lrd_ora8_bind_placeholder(OraStm6, &OraBind1, "U", &UID , 0, 0, 0);这样,脚本就差不多大功告成了。