Difference between revisions of "Jetty/Contributor Release Testing Check List"

From Eclipsepedia

Jump to: navigation, search
m
m
Line 1: Line 1:
 
{{Jetty Contributor
 
{{Jetty Contributor
 
+
| category =
 
==Testing a Jetty Release==
 
==Testing a Jetty Release==
  
To test a Jetty release, complete the following steps:
+
To test a Jetty release, complete the following steps for each release you want to test:
|
+
 
 
<ol>
 
<ol>
<li> Download the staged releases for jetty[7|8]
+
<li> Download the staged release:
</li>
+
</li>For Jetty 7:
wget https://oss.sonatype.org/content/repositories/jetty-[reponumber]/org/eclipse/jetty/jetty-distribution/[jetty-version]/ jetty-distribution-7.[jetty-minor-version].tar.gz
+
wget https://oss.sonatype.org/content/repositories/jetty-[reponumber]/org/eclipse/jetty/jetty-distribution/[jetty-version]/ jetty-distribution-7.[jetty-minor-version].tar.gz
wget https://oss.sonatype.org/content/repositories/jetty-[reponumber]/org/eclipse/jetty/jetty-distribution/[jetty-version]/jetty-distribution-8.[jetty-minor-version].tar.gz
+
For Jetty 8:
 
+
wget https://oss.sonatype.org/content/repositories/jetty-[reponumber]/org/eclipse/jetty/jetty-distribution/[jetty-version]/jetty-distribution-8.[jetty-minor-version].tar.gz
The following steps have to be done for both the jetty7 and jetty8 release.
+
 
+
<li> Extract them to a directory of your choice
+
  
 +
<li> Extract to a directory of your choice.
 
<li>Start jetty:
 
<li>Start jetty:
 
</li><tt>cd [installdir] ; java -jar start.jar OPTIONS=rewrite etc/jetty-rewrite.xml etc/jetty-ssl.xml</tt>
 
</li><tt>cd [installdir] ; java -jar start.jar OPTIONS=rewrite etc/jetty-rewrite.xml etc/jetty-ssl.xml</tt>
 
<li>If there are no exceptions, proceed. Otherwise, investigate.
 
<li>If there are no exceptions, proceed. Otherwise, investigate.
 
<li>Open <nowiki>http://localhost:8080/</nowiki> in your favourite browser.
 
<li>Open <nowiki>http://localhost:8080/</nowiki> in your favourite browser.
</li>You should see the test.war webapp.
+
</li>You should see the <tt>test.war</tt> webapp.
 
<li>Go through ALL the tests and verify that everything works as expected.
 
<li>Go through ALL the tests and verify that everything works as expected.
<li>Verify that hot deployment works
+
<li>Verify that hot deployment works.
 
</li><pre>touch [pathToJettyDistribution]/contexts/test.xml</pre>
 
</li><pre>touch [pathToJettyDistribution]/contexts/test.xml</pre>
<li>Verify that test.war gets redeployed in STDOUT
+
<li>Verify that <tt>test.war</tt> gets redeployed in <tt>STDOUT</tt>.
  
 
===Testing CometD===
 
===Testing CometD===
  
1. clone git://github.com/cometd/cometd.git
+
<ol>
 
+
<li> <pre>clone git://github.com/cometd/cometd.git
git clone git://github.com/cometd/cometd.git
+
</li>git clone git://github.com/cometd/cometd.git</pre>
 
+
<li> Edit pom.xml and update <tt>jetty-version</tt> and repository URL to match the current staged release.
2. edit pom.xml and update jetty-version and repository url to match the current staged release
+
</li>
 
+
 
     <properties>
 
     <properties>
 
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
Line 48: Line 45:
 
   </repositories>
 
   </repositories>
  
3. build cometd
+
<li> Build cometd:
 
+
</li><tt>mvn clean install</tt>
mvn clean install
+
<li>Be patient.
 
+
<li>Run the loadtest as it is described here: http://cometd.org/documentation/2.x/howtos/loadtesting
4. be patient
+
Keep the default values, but make sure that you raise the clients setting to 1000. Run the loadtest until ''JIT compilation time'' is close to a value of zero after about 10k calls).
 
+
<li>Make sure that the performance results are reasonably fast. On a MacBook Pro i7 2.6ghz dualcore produces the following:
5. run the loadtest
+
 
+
As it is described here: http://cometd.org/documentation/2.x/howtos/loadtesting
+
Keep the default values, but make sure that you raise the clients setting to 1000. We might change the default to 1000 (currently 100). Run the loadtest until "JIT compilation time" is a close to zero value. (after about 10k calls)
+
 
+
Make sure that the performance results are reasonably fast. On my MacBook Pro i7 2.6ghz dualcore I've:
+
  
 
========================================
 
========================================
Line 136: Line 127:
 
cd [pathToJetty] && java -jar start.jar
 
cd [pathToJetty] && java -jar start.jar
  
8. go through all pages of the demo and test them
+
8. go through all pages of the demo and test them:
  
 
http://localhost:8080/cometd-demo-2.4.1-SNAPSHOT/
 
http://localhost:8080/cometd-demo-2.4.1-SNAPSHOT/
  
9. All tests green? Yeeeaaaaay!
+
9. All tests green?  
 
}}
 
}}

Revision as of 16:44, 9 March 2012



Testing a Jetty Release

To test a Jetty release, complete the following steps for each release you want to test:

  1. Download the staged release:
  2. For Jetty 7:
    wget https://oss.sonatype.org/content/repositories/jetty-[reponumber]/org/eclipse/jetty/jetty-distribution/[jetty-version]/ jetty-distribution-7.[jetty-minor-version].tar.gz
    

    For Jetty 8:

    wget https://oss.sonatype.org/content/repositories/jetty-[reponumber]/org/eclipse/jetty/jetty-distribution/[jetty-version]/jetty-distribution-8.[jetty-minor-version].tar.gz
    
  3. Extract to a directory of your choice.
  4. Start jetty:
  5. cd [installdir] ; java -jar start.jar OPTIONS=rewrite etc/jetty-rewrite.xml etc/jetty-ssl.xml
  6. If there are no exceptions, proceed. Otherwise, investigate.
  7. Open http://localhost:8080/ in your favourite browser.
  8. You should see the test.war webapp.
  9. Go through ALL the tests and verify that everything works as expected.
  10. Verify that hot deployment works.
  11. touch [pathToJettyDistribution]/contexts/test.xml
  12. Verify that test.war gets redeployed in STDOUT.

    Testing CometD

    1. clone git://github.com/cometd/cometd.git
      </li>git clone git://github.com/cometd/cometd.git
    2. Edit pom.xml and update jetty-version and repository URL to match the current staged release.
    3.    <properties>
             <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
             <jetty-version>7.6.2.v20120308</jetty-version>
             <jetty-plugin-version>${jetty-version}</jetty-plugin-version>
             <slf4j-version>1.6.4</slf4j-version>
             <spring-version>3.1.0.RELEASE</spring-version>
         </properties>
      
       <repositories>
         <repository>
           <id>Jetty Staging</id>
           <url>https://oss.sonatype.org/content/repositories/jetty-988/</url>
         </repository>
       </repositories>
      
    4. Build cometd:
    5. mvn clean install
    6. Be patient.
    7. Run the loadtest as it is described here: http://cometd.org/documentation/2.x/howtos/loadtesting Keep the default values, but make sure that you raise the clients setting to 1000. Run the loadtest until JIT compilation time is close to a value of zero after about 10k calls).
    8. Make sure that the performance results are reasonably fast. On a MacBook Pro i7 2.6ghz dualcore produces the following:
      ============================

      Statistics Started at Fri Mar 09 13:44:35 CET 2012 Operative System: Mac OS X 10.7.3 amd64 JVM : Oracle Corporation Java HotSpot(TM) 64-Bit Server VM runtime 23.0-b16 1.7.0_04-ea-b14 Processors: 4 System Memory: 99.583336% used of 30.0 GiB Used Heap Size: 36.490677 MiB Max Heap Size: 1920.0 MiB Young Generation Heap Size: 896.0 MiB - - - - - - - - - - - - - - - - - - - - Testing 1000 clients in 100 rooms, 10 rooms/client Sending 1000 batches of 10x50 bytes messages every 10000 µs [GC [PSYoungGen: 786432K->8736K(917504K)] 823650K->45954K(1966080K), 0.0309940 secs] [Times: user=0.09 sys=0.00, real=0.03 secs] [GC [PSYoungGen: 795168K->11424K(917504K)] 832386K->48642K(1966080K), 0.0513360 secs] [Times: user=0.13 sys=0.00, real=0.05 secs] [GC [PSYoungGen: 797856K->14560K(917504K)] 835074K->51778K(1966080K), 0.0432940 secs] [Times: user=0.12 sys=0.00, real=0.05 secs] [GC [PSYoungGen: 800992K->15680K(917504K)] 838210K->52898K(1966080K), 0.0491200 secs] [Times: user=0.14 sys=0.00, real=0.05 secs] [GC [PSYoungGen: 802112K->17568K(917504K)] 839330K->54786K(1966080K), 0.0484950 secs] [Times: user=0.14 sys=0.00, real=0.05 secs] [GC [PSYoungGen: 804000K->17600K(917504K)] 841218K->54818K(1966080K), 0.0456460 secs] [Times: user=0.14 sys=0.01, real=0.05 secs] [GC [PSYoungGen: 804032K->19488K(917504K)] 841250K->56706K(1966080K), 0.0542000 secs] [Times: user=0.15 sys=0.00, real=0.05 secs] [GC [PSYoungGen: 805920K->20224K(917504K)] 843138K->57442K(1966080K), 0.0486350 secs] [Times: user=0.16 sys=0.00, real=0.05 secs] [GC [PSYoungGen: 806656K->20192K(917504K)] 843874K->57410K(1966080K), 0.0566690 secs] [Times: user=0.15 sys=0.00, real=0.06 secs] [GC [PSYoungGen: 806624K->21152K(917504K)] 843842K->58370K(1966080K), 0.0536740 secs] [Times: user=0.16 sys=0.00, real=0.06 secs] [GC [PSYoungGen: 807584K->21088K(917504K)] 844802K->58306K(1966080K), 0.0576060 secs] [Times: user=0.18 sys=0.00, real=0.06 secs] [GC [PSYoungGen: 807520K->22080K(917504K)] 844738K->59298K(1966080K), 0.0663300 secs] [Times: user=0.19 sys=0.01, real=0.06 secs] - - - - - - - - - - - - - - - - - - - - Statistics Ended at Fri Mar 09 13:45:21 CET 2012 Elapsed time: 45826 ms

         Time in JIT compilation: 52 ms
         Time in Young Generation GC: 606 ms (12 collections)
         Time in Old Generation GC: 0 ms (0 collections)
      

      Garbage Generated in Young Generation: 9036.513 MiB Garbage Generated in Survivor Generation: 21.65625 MiB Garbage Generated in Old Generation: 0.0 MiB Average CPU Load: 156.54865/400


      Outgoing: Elapsed = 45820 ms