资源描述
Oracle WebLogic Server 10.3性能调优2023年九月二十六日目 录练习 1:安装WebLogic 效劳器与Grinder 测试工具3练习 2:部署测试Web 应用6练习 3:生疏Grinder 测试方法9练习 4:生疏常见调优方式13练习 1:安装 WebLogic 效劳器与 Grinder测试工具时间:约 30 分钟目标:本练习完毕,你将完本钱练习软件环境设置,包括:l Oracle WebLogic Server 10.3l Grinder练习步骤:安装并配置 WebLogic 效劳器1. WebLogic server 10.3 的安装程序,windows 文件为 server103_win32.exe;Linux 文件为 server103_linux32.bin。2. 运行对应的安装文件;3. 在欢送页面点“next”;4. 在“选择 BEA 主名目”窗口使用默认“create a new BEA Home”选项,选择默认主名目 c:bea,点击“next”;5. 在“安装类型”窗口选择“完整安装 complete”,点击“next”;6. 在“选择产品安装名目”窗口,承受默认名目,点击“next”;7. 在“选择快捷键位置”窗口,承受默认选项,点击“next”;8. 在“安装总结”窗口,点击“next”开头安装9. 在“安装完毕”窗口,去掉选项“运行快速启动 Run Quickstart”,点击“Done”,完毕安装;10. 使用配置向导,依据下面属性创立一个的 WebLogic 域:l Create a new WebLogic domain:选中l User name: weblogicl User password: weblogicl Production Mode:选中l Do you want to customize any of the following options: YESl Administrator Server Name: AdminServerl Listen address: All local Addressesl Listen Port: 7001l Domain Name: perfl Domain location: C:beauser_projectsdomains11. 翻开一个 command 命令行窗口,进入 C:beauser_projectsdomainsperf 名目,执行 startWebLogic d 启动 WebLogic 治理效劳器,看看是否可以成功启动。预备需要的练习资料1. 创立学生名目 c:student;2. 将课程供给的练习材料 wls103_perf.rar 开放到名目 c:student;3. 我们将可以看到一个名目 c:studentwls103_perf,我们后续练习需要的资料都在名目 C:studentwls103_perflabs 下。下载并安装 Grinder1. 从 :/ 免费下载 Grinder,当前最版本为3.1;你也可以从 C:studentwls103_PermLabsLab1 中复制 Grinder 文件grinder-3.1.zip;2. 将 grinder-3.1.zip 文件解压缩到 C 盘根名目 c:,这样,我们可以在名目c:grinder-3.1 中看到 grinder 的文件;3. 在名目 c:grinder-3.1 下创立一个的子名目,名字为 bin,用来存放相关命令;4. 在 c:grinder-3.1bin 中创立环境设置脚本 setGrinderEnv d,内容如下:set GRINDERPATH=c:grinder-3.1set GRINDERPROPERTIES=c:grinder-3.1bingrinder.properties setCLASSPATH=c:grinder-3.1libgrinder.jar;c:grinder-3.1libjython.jar;%CLASSPATH%5. 在c:grinder-3.1bin 中创立TCPProxy 脚本startProxy d,以录制 恳求,并把脚本保存在 scriptsWLS_perf.py 中,内容如下:call c:grinder-3.1binsetGrinderEnv djava net.grinder.TCPProxy -console - %GRINDERPATH%binWLS_perf.py pause6. 在 c:grinder-3.1bin 中创立把握台脚本 startConsole d,用来启动Grinder 图形把握台,内容如下:call c:grinder-3.1binsetGrinderEnv d java net.grinder.Consolepause7. 在c:grinder-3.1bin 中创立代理脚本startAgent d,用来启动 Grinder代理,内容如下:call c:grinder-3.1binsetGrinderEnv d java net.grinder.Grinder %GRINDERPROPERTIES% pause留意:本练习中,把握台与代理都在一台物理效劳器上,实际测试时一般部署在不同的物理效劳器上。8. 将练习名目C:studentwls103_PermLabsLab1 下grinder.properties 样本属性文件复制到 c:grinder-3.1bin 名目中;9. 运行 c:grinder-3.1binstartConsole d 脚本,假设看到下面的窗口, 则 grinder 设置完成。练习 2:部署测试 Web 应用时间:约 20 分钟目标:本练习完毕,你将可以:l 创立 JDBC 数据源;l 在效劳器 JNDI 树中定位 JDBC 数据源;练习概述:数据源DataSource对象使得 JDBC 客户端可以从 JDBC 池中获得关系型数据库连接。JDBC 数据源的连接池包含了一组 JDBC 连接,应用可以获得、使用, 然后返回连接到池中。连接池和池中的连接是在连接池注册时创立的,通常是在启动 WebLogic 效劳器或部署数据源到的目标效劳器实例时。启动 WebLogic 效劳器自带的 Pointbase 数据库并创立相关表格在本练习中,我们会创立 perfdDS 数据源,连接到 HRDatabase。练习步骤:1. 假设没有运行,启动 dizzyworld 域中的 AdminServer 和 dizzy1;2. WebLogic 效劳器 10.3 启动时不会自动启动 pointbase 数据库,因此,我们需要修改 WebLogic 启动脚本,以启动数据库;3. 使 用 文 本 编辑 器 打 开 setDomainEnv d 脚 本文 件, 该 文件 位 于bin目录下,本练习中位于C:beauser_projectsdomainsdizzyworldbin; 提示: 建议你在修改前先备份该文件。4. 在该脚本中找到下面内容:set POINTBASE_FLAG=false将该行修改为:set POINTBASE_FLAG=true并在其后添加两行:set POINTBASE_PORT=9092set POINTBASE_DBNAME=weblogic_eval5. 重启动 AminServer,从而启动 pointbase 数据库;6. 执行C:beawlserver_10.3commonbinstartPointBaseConsole d 启动Pointbase 把握台;7. 在“connect to database 窗口”,指定如下属性,点击“OK”:l URL: jdbc:pointbase:server:/localhost/HRDATABASEl User: PBPUBLICl Password: PBPUBLICl Create new Database: 选中8. 在Pointbase控 制 台 , File-Open , 选 中C:studentwls103_PermLabsLab2 HRDatabase.ddl 文件,点击“翻开”,可以看到右边窗口内消灭了我们的 SQL 语句;9. 点击工具条中的“Excute All”,然后点击“Commit”;10. 点击 File - Exit,退出 Pointbase 把握台。创立一个数据源对象1. 假设没有翻开,翻开一个治理把握台,并以 weblogic/weblogic 登录;2. 在导航树中,perf - Services - JDBC - Data Sources,锁定把握台;3. 在“JDBC 数据源汇总”页面,点击数据源表格下的“New”按钮,指定以下属性配置 JDBC 数据源:l Name: perfDSl JNDI Name: perfDSl Database Type: PointBasel Database Driver: *PointBases Driver (Type 4) versions: 4.x,5.x留意:不要选择“Type 4 XA Driver”4. 点击“Next”;5. 在“Transaction Options”页面保持缺省选项不变,点击“Next”;6. 在“Connection Properties”页面设置如下属性:l Database Name: HRDATABASEl Host Name: localhostl Port: 9092l Database User Name: PBPUBLICl Password: PBPUBLIC7. 点击“Next”;8. 在“Test Database Connection”页面点击“Test Configuration”看看该数据库连接是否正常工作。当看到提示信息“Connection test succeede”d击“Next”;时,点9. 在“Select Targets”页面中 AdminServer 前的方框打勾,点击“Finish”;10. 点击数据源表格中刚创立的数据源 perfDS;11. 保存并激活你的修改;12. 在导航树中, perf - Environment - Servers - AdminServer - Configuration - General,点击“View JNDI Tree”链接,在窗口的JNDI 树中,应当可以看到 perfDS 数据源的 JNDI 对象。部署预打包的 testds.war 应用验证数据源配置1. 在治理把握台导航树中,perf - Deployment,锁定把握台;2. 选择“Install”,导航到 C:studentwls103_PermLabsLab2 名目,选中testds.war;3. 留意部署过程中选择“Install this deployment as an application”,部署目标为 AdminServer,选择“Copy this application onto every target for me”,点击“Finish”开头部署;4. 激活你的修改,然后启动刚公布的应用 testds;5. 在扫瞄器中输入 :/localhost:7001/testds/testdatasource.jsp,使用“Test Data Source”按钮从 Pointbase HR 数据库中取数据。练习 3:生疏 Grinder 测试方法时间:约 30 分钟目标:本练习完毕,你将学会:l 如何录制 Grinder 测试脚本;l 了解 Grinder 测试属性文件;l 把握 Grinder 测试方法练习概述:本练习中,你将把握如何使用Grinder 录制测试脚本,启动测试过程,以及生疏 Grinder 把握台的常用界面。练习步骤:录制 Grinder 测试脚本1. 执行 C:grinder-3.1binstartProxy d,启动 录制,消灭一个 java程序窗口 TCPProxy Console。在这个窗口,你可以把握停顿录制,也可以随时给脚本加评论;2. 翻开一个扫瞄器,将代理设置为 127.0.0.1,端口为 8001;3. 使用该扫瞄器访问 :/localhost:7001/testds/testdatasource.jsp, 并点击“Test Data Source”按钮从数据库中读取记录;4. 点击 TCPProxy Console 窗口中的“stop”按钮,停顿录制过程;5. 现在你可以在 C:grinder-3.1bin 名目下看到生成了一个测试脚本WLS_perf.py,你可以翻开看看脚本内容。留意: 脚本是用 Jython 编写的,假设你精通 Jython,可以直接编辑脚本。6. 执行 C:grinder-3.1bin startConsole d,启动Grinder 的把握台。留意,现在菜单“动作 - 启动进程”选项是灰色的,不允许启动测试;7. 在启动测试代理之前,我们需要设置 grinder.properties,测试代理启动后将读取其中的属性,依据属性执行公布测试命令:grinder.processes=2代理将启动的 worker 进程数目grinder.threads=10每个 Worker 进程衍生的 worker 线程数目grinder.runs=10每个 worker 线程运行测试脚本的次数。0 代表始终运行,当你使用把握台把握测试运行时可以使用。grinder.useConsole=true设置代理和 worker 进程使用连接把握台grinder.consolePort=6372把握台侦听端口grinder.consoleHost=127.0.0.1把握台所在效劳器的 IP 地址grinder.logDirectory=./StressTest_Results测试结果日志名目,本练习中为 C:grinder-3.1bin StressTest_Resultsgrinder.numberOfOldLogs=2上次运行以来需要保存的归档日志文件数目grinder.script=WLS_perf.py测试脚本,本例子中测试脚本与 startAgent d 在同一名目下。留意:总测试数目为 worker 进程数 worker 线程数 每个线程运行脚本次数。本练习中为 21010 200。留意:你可以自己调整 grinder.properties 文件中的测试设置,以充分测试效劳器的性能。8. 执行 C:grinder-3.1binstartAgent d,启动测试代理。窗口中消灭“08-9-26 2:54:10 (agent): waiting for console signal”;9. 回到 Grinder 把握台,当代理连接到把握台后,菜单“动作 - 启动进程” 选项变成了黑色,可以执行了;10. 选择菜单“动作 - 启动进程”选项开头压力测试,当消灭提示时选择 YES, 则测试开头了;11. 点击“结果”标签,可以看到当前的测试汇总结果;12. 点击“进程”标签,则显示当前的进程/线程状况;13. 当代理把握台显示“(agent): finished, waiting for console signal”,或者“进程”标签显示进程/线程数为 0 时,则标明测试完毕;14. 点击窗口左边绿色“数据收集进展中:nn”左边的图标,停顿数据收集;15. 我们可以看到上图的汇总信息:l 平均 2.22ms 响应时间l 平均 11.5 TPS每秒交易数l 峰值 80.0 TPSl 655 次测试l 0 次错误16. 留意名目 C:grinder-3.1binStressTest_Results 下消灭了测试日志数据,如 out_jiyuan-lap-2.log,该文件最终汇总了测试结果。练习 4:生疏常见调优方式时间:约 30 分钟目标:本练习完毕,你将:l 生疏 Jconsole 监视界面的使用;l 修改 JVM 常见参数;l 通过治理把握台修改 WebLogic 参数l 修改 JDBC 调优参数练习概述:生疏 Jconsole 界面来监视 JVM 状态,并通过修改一些常用 JVM 及 WebLogic生疏 Java 监视与治理把握台JConsole核心参数调优。练习步骤:1. 运行 C:beajrockit_160_05binjconsole.exe 翻开 JConsole 应用;2. 在“建连接”窗口,选择“Weblogic.Server”,点击“连接”进入应用;3. 再次启动一次 grinder 测试,你会看到 JConsole 中各种数据的变化状况;使用治理把握台修改 JDBC 连接池参数1. 如 果 没 有 打 开 浏 览 器 , 那 么 打 开 一 个 浏 览 器 , 输 入 :/localhost:7001/console , 在 登 录 页 面 下 列 字 段 输 入weblogic/weblogic,点击“Log in”;2. 在导航树中, perf - Services - JDBC - Data Sources - perfDS - Configuration - Connection Pool,假设需要,锁定把握台;3. 留意当前的参数为:l Initial Capacity: 1l Maximum Capacity: 154. 将这两个参数修改为:l Initial Capacity: 15l Maximum Capacity: 155. 将“Statement Cache Size”增加到 30;6. 点击“Advanced”,选中“Pinned-to-Thread”选项;7. 保存并激活你的修改。修改 JVM 选项1. 首先停顿治理效劳器;2. 打 开 一 个 的 command 命 令 行 窗 口 , 进 入 域 目 录C:beauser_projectsdomainsperf;3. 设置 JAVA_VENDOR 环境变量,启动 Oracle JRockit JVM: set JAVA_VENDOR=BEA假设 JAVA_VENDOR=Sun,则启动 SUN HopSpot JVM。4. 在命令行使用下面命令,设置设置内存参数:set USER_MEM_ARGS=-Xms512m Xmx512m5. 运行 startWebLogic d 命令重启动治理效劳器。再次使用 Grinder 测试应用1. 重启动 Grinder 把握台;2. 重启动 Grinder 代理;3. 通过 Grinder 把握台启动进程,再次开头测试。
展开阅读全文