2016年2月6日星期六

EAP_043:单机环境下 EAP 单节点Web Profile开箱性能指标

环境:OS X EI Capitan 10.11.3 + JBoss EAP 6.4.0 + DayTrader 3.0

1. 首先部署DayTrader应用,请参看《JBoss_008:部署DayTrader应用》。
 (1)DayTrader 架构图
 (2)部署成功后,访问 http://localhost:8080/daytrader/

2. Web Profile 共有15个测试用例
(1)PingHtml
访问静态 HTML页面。
(2)PingServlet
通过服务器端 servlet 处理,测试基本的动态 HTML 创建。
(3)PingServletWriter
访问通过对格式化输出使用 PrintWriter(与 PingServlet 使用的输出流相对)而扩展 PingServlet。
(4)PingServlet2Include
测试响应所含内容。Servlet 1 包含 Servlet 2 的响应。
(5)PingServlet2Servlet
测试请求分发。Servlet 1 作为控制器创建一个新的 JavaBean 对象并转发请求,其中 JavaBean 被添加到 Servlet 2。Servlet 2 通过 Servlet 请求对象获得对 JavaBean 的访问,并根据 JavaBean 数据提供动态 HTML 输出。
(6)PingJSP
测试对 JSP 的直接调用,该调用通过 JSP 脚本提供服务器端动态 HTML。
(7)PingJSPEL
测试对 JSP 的直接调用,该调用通过 JSP 脚本提供服务器端动态 HTML 和新 JSP V2.0 Expression Language 的使用
(8)PingServlet2JSP
测试一个常用的设计模式,其中请求被发送给提供服务器端控制处理的 servlet。该 servlet 创建了一个具有动态设置属性的 JavaBean 对象并通过 RequestDispatcher 将 bean 转发给 JSP。JSP 获得对 JavaBean 的访问并根据 JavaBean 数据提供具有动态 HTML 输出的格式化显示。
(9)PingHTTPSession1
通过为每个单独用户创建惟一会话 ID 测试基本的 HTTP 会话功能。ID 被存储在用户会话中,并通过每一个用户请求访问和显示。
(10)PingHTTPSession2
通过每隔 5 个用户访问使 HTTP 会话失效来进一步扩展前面的测试。这可以测试 HTTPSession 的创建和销毁。
(11)PingHTTPSession3
测试HTTPSession存储大对象的能力。每个对象是个数组,每个数组元素125 bytes,可以动态设置数组大小。
(12)PingJDBCRead
测试使用JDBC DataSource(通过PrepareStatement方式)读数据能力,返回一行数据。
(13)PingJDBCWrite
测试使用JDBC DataSource(通过PrepareStatement方式)写数据能力,修改一行数据。
(14)PingServlet2JNDI
测试在Servlet中通过JNDI查找 JDBC DataSource能力。
(15)Explicit GC
强制应用服务器执行一次垃圾回收。对比垃圾回收前后的内存数据。

3. 测试
100 个线程,运行120秒,每个采样器调动之间休息5ms。
由于Explicit GC 耗时比较长,会影响其他采样器,因此不包括在测试之中。
 ./bin/jmeter.sh -n -t ./test/DayTraderTestPlan-WebProfile.jmx -l ./result/DayTraderTestPlan-WebProfile_`date +'%y%m%d%H%M%S'`.csv



参考文献:
1. http://www.ibm.com/developerworks/websphere/techjournal/1208_hare/1208_hare.html
2. https://developer.ibm.com/wasdev/docs/measuring-performance-daytrader-3-benchmark-sample/

没有评论: