Jump to: navigation, search

Jetty/Contributor Release Testing Check List

< Jetty
Revision as of 16:04, 9 March 2012 by Boulay.intalio.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

1. Download the staged releases for jetty[7|8]

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

The following steps have to be done for both the jetty7 and jetty8 release.

2. Extract them to a directory of your choice

3. Start jetty

cd [installdir] ; java -jar start.jar OPTIONS=rewrite etc/jetty-rewrite.xml etc/jetty-ssl.xml

No exceptions? Good. Proceed. Otherwise investigate.

4. Open http://localhost:8080/ in your favourite browser

You should see the test.war webapp.

5. Go through ALL the tests and verify they work fine.

6. Verify that hot deployment works

touch [pathToJettyDistribution]/contexts/test.xml

Verify that test.war gets redeployed in STDOUT


CometD:

1. clone git://github.com/cometd/cometd.git

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

   <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>

3. build cometd

mvn clean install

4. be patient

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:

============================

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 | Rate = 218 messages/s - 21 requests/s - ~0.083 Mib/s Waiting for messages to arrive 996960/999045 All messages arrived 999045/999045 Messages - Success/Expected = 999045/999045 Incoming - Elapsed = 45945 ms | Rate = 21743 messages/s - 9496 responses/s(43.68%) - ~8.295 Mib/s Messages - Wall Latency Distribution Curve (X axis: Frequency, Y axis: Latency):

@                    _  24 ms (8765, 0.88%)
      @              _  45 ms (58952, 5.90%)
         @           _  67 ms (87065, 8.71%)
            @        _  88 ms (113786, 11.39%)
                  @  _  109 ms (167426, 16.76%)
                  @  _  131 ms (176163, 17.63%) ^50%
             @       _  152 ms (123182, 12.33%)
         @           _  174 ms (90918, 9.10%)
       @             _  195 ms (67209, 6.73%) ^85%
    @                _  216 ms (46989, 4.70%)
  @                  _  238 ms (24975, 2.50%) ^95%
 @                   _  259 ms (16509, 1.65%)
@                    _  281 ms (8454, 0.85%) ^99%

@ _ 302 ms (4324, 0.43%) @ _ 323 ms (2955, 0.30%) @ _ 345 ms (957, 0.10%) ^99.9% @ _ 366 ms (204, 0.02%) @ _ 388 ms (144, 0.01%) @ _ 409 ms (25, 0.00%) @ _ 430 ms (43, 0.00%) Messages - Wall Latency 50th%/99th% = 117/275 ms Messages - Wall Latency Min/Ave/Max = 2/123/430 ms Messages - Network Latency Min/Ave/Max = 1/114/417 ms Thread Pool - Concurrent Threads max = 239 | Queue Size max = 1002 | Queue Latency avg/max = 12/101 ms

6. deploy cometd.war to the webapps directory of the jetty-distribution tested above

cp cometd-demo/target/cometd-demo-[version].war [pathToJetty]/jetty-distribution-[jetty-version]/webapps/

7. start jetty and make sure there's no exceptions

cd [pathToJetty] && java -jar start.jar

8. go through all pages of the demo and test them

http://localhost:8080/cometd-demo-2.4.1-SNAPSHOT/

9. All tests green? Yeeeaaaaay!