blob: c0fb25af57bfe62636b86a9e213809a4368974d5 [file] [log] [blame]
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
//
== 使用 NetBeans IDE 中的负载生成器
测试应用程序的性能时,在有典型负载的情况下进行测试是很有用的。如果在开发环境中运行应用程序,则可能很难做到这一点。要模拟在有负载的情况下运行的应用程序,一种方法是使用负载生成器脚本。本文档概述了 IDE 提供的负载生成器支持。
IDE 依赖于集成第三方工具,而自身不提供负载生成器运行时。NetBeans IDE 支持用于重放负载测试脚本的 Apache JMeter 负载测试工具(link:http://jakarta.apache.org/jmeter[+主页+])。要在 IDE 中使用 JMeter 工具,需要先从更新中心下载所需的插件。
image::images/netbeans-stamp-80-74-73.png[title="此页上的内容适用于 NetBeans IDE 7.2、7.3、7.4 和 8.0"]
== 入门指南
=== 先决条件
本文档假定您具备以下技术的一些基本知识或编程经验:
* Java 编程
* NetBeans IDE
=== 本教程所需要的软件
在学习本教程之前,您需要在计算机上安装以下软件:
|===
|软件或资源 |要求的版本
|link:https://netbeans.org/downloads/index.html[+NetBeans IDE+] |7.2, 7.3, 7.4, 8.0
|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Java 开发工具包 (JDK)+] |版本 7 或 8
|JMeter 工具包和负载生成器插件 |可从 NetBeans 更新中心下载
|GlassFish 应用服务器 |3.x4.x
|===
*注:*
* 性能分析工具与 NetBeans IDE 捆绑在一起,无需进行特定的设置,即可开始对应用程序进行性能分析。
* 要添加对 JMeter 负载测试工具的支持,请使用插件管理器从更新中心下载 JMeter 工具包和负载生成器插件。
== 安装 JMeter 插件
您可以轻松地添加对 JMeter 负载生成器的支持,方法是从 NetBeans 更新中心下载并安装 *JMeter 工具包*和*负载生成器插件*。
要下载插件,请执行以下操作:
1. 从主菜单中选择 "Tools"(工具)> "Plugins"(插件)以打开插件管理器。
2. 单击 "Available Plugins"(可用插件)标签,然后选中 JMeter 工具包和负载生成器插件的复选框。单击 "Install"(安装)。
image::images/generator-plugin.png[title="插件管理器中的负载生成器插件"]
[start=3]
. 逐步执行安装程序,以下载并安装插件,然后单击 "Finish"(完成)。单击 "Close"(关闭),以关闭插件管理器。
安装了插件之后,会将 "Load Testing Scripts"(负载测试脚本)类别添加到新建文件向导中。
== 使用 JMeter 负载测试脚本
JMeter 插件支持可与 IDE 的性能分析工具进行紧密集成。通过 JMeter 插件,可以从 IDE 中轻松创建并运行 JMeter 负载测试脚本。
要使用负载生成器脚本,可以为特定项目创建一个脚本,然后根据项目负载的类型修改该脚本,该负载可能放在运行应用程序的服务器上。运行脚本时,该脚本会在服务器上放置负载,以模拟在典型条件下运行的应用程序的行为。此后,可以测试应用程序的性能,得到的测试结果可能与在典型条件下运行的应用程序的性能更接近。
=== 创建新的负载测试脚本
下载并安装了插件之后,将在新建文件向导中创建一个新类别。使用新建文件向导,可以在项目中创建负载脚本文件。
要创建新的负载测试脚本,请执行以下操作:
1. 在项目窗口中,右键单击项目节点,然后选择 "New"(新建)> "Other"(其他)。
2. "Categories"(类别)窗格中,展开 "Load Testing Scripts"(负载测试脚本),选择 "JMeter Plans"JMeter 计划),然后在 "File Types"(文件类型)窗格中,选择 "New JMeter Plan"(新建 JMeter 计划)。单击 "Next"(下一步)。
3. 键入脚本的名称,然后单击 "Finish"(完成)。
创建新脚本时,IDE 会将该脚本放在 "Projects"(项目)窗口中 "Load Generator Scripts"(负载生成器脚本)节点的下方。在 "Files"(文件)窗口中,可以看到 IDE 将脚本保存在 ``jmeter`` 目录中。如果已在 IDE 外部创建负载测试脚本,则可创建 ``jmeter`` 目录,然后将脚本添加到该目录中,以便从 IDE 中运行该脚本。
image::images/new-plan.png[]
=== 编辑负载测试脚本
通过 JMeter 外部编辑器,可以根据应用程序的要求修改脚本。创建负载测试脚本或向项目中添加脚本后,可以调用外部编辑器,方法是:在 "Projects"(项目)窗口中右键单击脚本,然后选择 *External Edit*(外部编辑)。
有关编辑 JMeter 测试脚本的详细信息,请参见 link:http://jakarta.apache.org/jmeter/usermanual/index.html[+JMeter 用户手册+]。
image::images/jmeter-externaledit.png[title="项目结构中的 JMeter 负载测试脚本"]
=== 启动负载测试脚本
负载测试脚本可采用以下方式启动:
* *在独立模式下*
*Services*(服务)窗口中,右键单击 "Load Generators"(负载生成器)节点,然后选择 *"JMeter" > "Start"(启动)*。执行此操作后,将打开一个浏览对话框,您可以在其中指定要运行的脚本。
image::images/jmeter-services.png[]
* *在 "Select Profiling Task"(选择性能分析任务)窗口中*
Web 应用程序进行性能分析时,可以在 "Select Profiling Task"(选择性能分析任务)窗口中指定要运行的负载测试脚本。选定的脚本正好在浏览器窗口打开前启动。
image::images/jmeter-profilewindow72.png[]
=== 停止和重新启动负载测试脚本
您可以在*输出*窗口或*服务*窗口中停止和重新启动负载测试脚本。
加载脚本之后,将在 *"Output"(输出)窗口*中打开 "JMeter" 标签。该窗口中会显示负载生成器的当前状态。"Output"(输出)窗口的左旁注中提供了一些用于启动、停止或重新启动脚本的控件。
image::images/jmeter-output.png[title="显示负载生成器状态的 "Output"(输出)窗口"]
负载生成器的当前状态还显示在 *"Services"(服务)窗口*中。要停止和重新启动脚本,可以选择 "JMeter" 节点下方的某个节点,然后从弹出式菜单中选择所需项。
image::images/jmeter-services2.png[title="显示负载生成器状态的 "Services"(服务)窗口"]
== 其他资源
此基本概述介绍了如何在 IDE 中使用 JMeter 负载测试脚本。有关为应用程序开发负载测试脚本的信息,请参见以下资源:
* link:http://jakarta.apache.org/jmeter[+Apache JMeter 负载测试工具+]
* link:http://jakarta.apache.org/jmeter/usermanual/index.html[+JMeter 用户手册+]
link:/about/contact_form.html?to=3&subject=Feedback:%20Using%20a%20Load%20Generator[+发送有关此教程的反馈意见+]
== 另请参见
* link:../web/quickstart-webapps.html[+Web 应用程序开发简介+]
* link:profiler-intro.html[+分析 Java 应用程序简介+]
* link:../../trails/java-ee.html[+Java EE Java Web 学习资源+]