LoadRunner调用java函数测试oracle

  测试oracle的方法有很多,可以使用loadrunner的oracle协议直接调用oracle进行测试,也可以调用开发的java程序对oracle进行测试,下面我们来介绍下第二种方法!

一、环境变量配置:JDK1.6

  变量名:JAVA_HOME

  变量值:C:\Program Files\Java\jdk1.6.0

  变量名:CLASSPATH

  变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;C:\programfile\loadrunner\classes;C:\programfile\loadrunner\lib;%JAVA_HOME%\lib\oracle_11g_11.2.0_jdbc_ojdbc6.jar

  变量名:Path

  变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

二、loadrunner配置

  选择协议:Java Vuser

  数据库驱动包: Oracle_11g_11.2.0.1.0_JDBC_ojdbc6.jar

  设置jdk和loadrunner环境变量:

  运行时设置-classpath:loadrunner/classes,loadrunner/lib,jdk/lib/dt.jar,jdk/lib/tools.jar,oracle_11g_11.2.0_jdbc_ojdbc6.jar

三、LoadRunner调用java类,类名如:oraclDBtest

  1、oraclDBtest.class文件放在loadrunner->classes->com文件夹中
  2、使用import com.oraclDBtest在脚本中调用;
 
loadrunner函数:
  import lrapi.lr;
  import com.oraclDBtest;
  public class Actions
  {
  public int action() throws Throwable {
      lr.start_transaction("start");
        oraclDBtest.testSelet();
        lr.output_message("test_action");
        lr.end_transaction("start", lr.AUTO);
    return 0
  };

Java函数:

查询当前PGA大小的方法如下:

SQL> show parameter pga;

NAME                      TYPE        VALUE

------------------------------------ ----------- ------------------------------

pga_aggregate_target      big integer 520M

通过以上SQL语句,可以看到当前的PGA大小为520M。

通过sql语句的形式查看SGA的大小:

SQL> show parameter sga;

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

lock_sga                             boolean     FALSE

pre_page_sga                         boolean     FALSE

sga_max_size                         big integer 2G

sga_target                           big integer 2G

以上的结果显示,SGA的最大大小为2G。

查询shared_pool_size建议值的方法如下:

通过SQL语句,查询v$shared_pool_advice视图

select t.SHARED_POOL_SIZE_FOR_ESTIMATE "SP",

t.ESTD_LC_SIZE                  "EL",

t.ESTD_LC_MEMORY_OBJECTS        "ELM",

t.ESTD_LC_TIME_SAVED            "ELT",

t.ESTD_LC_TIME_SAVED_FACTOR     "ELTS %",

t.ESTD_LC_MEMORY_OBJECT_HITS    "ELMO"

from v$shared_pool_advice t;

  很多时候服务器可能会经历CPU消耗100%的性能问题。排查系统的异常,这类问题通常都是因为系统中存在性能低下设置错误的SQL语句,消耗大量的CPU所致。通过linux的top命令,登陆系统,查看高度消耗CPU的oracle进程,记录下来该进程的PID编号,通过下面的图例,来说明排查的方法:

输入进程号为26113,就可以看到如下的sql语句:

对消耗资源大的sql语句进行优化。

LoadRunner调用java函数测试oracle的更多相关文章

  1. LoadRunner调用Java程序—性能测试

    为了充分利用LoadRunner的场景控制和分析器,帮助我们更好地控制脚本加载过程,从而展现更直观有效的场景分析图表.本次将重点讨论LoadRunner如何调用Java测试代码,完成压力测试. 通常我 ...

  2. LoadRunner调用Java程序—性能测试-转载

    LoadRunner调用Java程序—性能测试   为了充分利用LoadRunner的场景控制和分析器,帮助我们更好地控制脚本加载过程,从而展现更直观有效的场景分析图表.本次将重点讨论LoadRunn ...

  3. Android jni c/c++线程通过CallVoidMethod调用java函数出现奔溃问题

    最近在移植网络摄像机里的p2p库到android平台,需要用到jni,最近在c线程了调用java函数的时候 出现一个问题,假如在同一个线程调用java函数是没问题的,但在一个c线程了调用java函数就 ...

  4. JS调用Java函数--DWR框架

    (1)dwr与ssh框架整合教程dwr框架介绍. DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJA ...

  5. Android NDK 学习之调用Java函数

    本博客主要是在Ubuntu 下开发,且默认你已经安装了Eclipse,Android SDK, Android NDK, CDT插件. 在Eclipse中添加配置NDK,路径如下Eclipse-> ...

  6. Android在使用WebView时,通过Javascript调用JAVA函数

    webView = (WebView) findViewById(R.id.article_webview); //WebView启用Javascript脚本运行 webView.getSetting ...

  7. Android JNI c/c++调用java 无需新建虚拟机

    近期通过研究SDL源码 得出android JNI  c/c++调用java 无需新建虚拟机: 具体步骤如下 第一步获得:两个参数 JNIEnv和jclass void Java_com_Test_A ...

  8. JNI学习笔记_C调用Java

    一.笔记 1.C调用Java中的方法,参考jni.pdf pg97可以参考博文:http://blog.csdn.net/lhzjj/article/details/26470999步骤: a. 创建 ...

  9. 第2篇-JVM虚拟机这样来调用Java主类的main()方法

    在前一篇 第1篇-关于JVM运行时,开篇说的简单些 中介绍了call_static().call_virtual()等函数的作用,这些函数会调用JavaCalls::call()函数.我们看Java类 ...

随机推荐

  1. JavaWeb学习总结(一):基本概念

    一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源( ...

  2. iOS中基于WebView的HTML网页离线访问技术的实现

    其实就是MVC模式,视图在在线.离线时可以共用,控制器在在线时是由服务器端实现的,而离线时则是由本地Obj-C代码实现.具体实现方式为采用Mongoose实现. 代码为: mongoose.h mon ...

  3. Linux命令行bash批量重命名文件

    本文介绍下,在linux下使用shell批量重命名文件的例子,有需要的朋友参考下吧. 在linux中,重命名文件名,需要用到mv命令.如果需要批量重命名名一批文件,就需要写bash脚本或命令行了. 例 ...

  4. 专访探探DBA张文升:PG在互联网应用中同样也跑的很欢畅

    张文升认为,PG无论在可靠性和性能方面都不输其它任何关系型数据库   张文升,探探DBA,负责探探的数据库架构.运维和调优的工作.拥有8年开发经验,曾任去哪儿网DBA.   9月24日,张文升将参加在 ...

  5. Angular js部分关键字的理解

    模板:动态模板,是动态的,直接去处理DOM的,而不是通过处理字符串模版(静态模板) mvc:核心思想实现"数据管理-数据模型Model.应用逻辑-控制器Controller.数据表现-视图V ...

  6. Visual Studio 与 Visual C++ 关系

      Visual Studio .net Visual C++ .net Visual C++ _MSC_VER 备注 Visual Studio .net 2002 Visual C++ .net ...

  7. UX基础 - OmniGraffle新手指南

    原文地址:http://beforweb.com/node/202,大半夜找到,作为使用手册 我发现一事儿,就是最近这些年,每到入职一个新公司的时候,听得东西往往会比多数时候听得更重更金属些,此时以S ...

  8. Django中请求的生命周期 和 FBV模式和CBV模式

    Django的生命周期就是你的 一个请求所发生的整个流程 Django的生命周期内到底发生了什么呢?? . 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端 请求头和请求体中会包含浏 ...

  9. C# 冒泡排序法、插入排序法、选择排序法

    冒泡排序法 是数组等线性排列的数字从大到小或从小到大排序. 以从小到大排序为例. 数据 11, 35, 39, 30, 7, 36, 22, 13, 1, 38, 26, 18, 12, 5, 45, ...

  10. 沉淀再出发:jvm的本质

    沉淀再出发:jvm的本质 一.前言 关于jvm,使用的地方实在是太多了,从字面意思上我们都能明白这也是一个虚拟机,那么其他的虚拟机都会用来运行别的操作系统的,而jvm却是实现了可以在不用的操作系统之上 ...