JBoss Community

AS 7 startup time showdown

modified by Takayoshi Kimura in JBoss AS7 Development - View the full document

How fast does AS 7 start on your computer? This page is a crowdsourced benchmark to see what type of times people are getting. It could also give you an idea if it's time to upgrade your computer to more cores.

 

When you start the server the first time, it starts slower than subsequent starts. We are interested in your best times :)

 

During the first startup, AS 7 builds caches and indexes and performs precompilations, "getting to know" your installation and libraries. Filesystem cache also boost performance on subsequent boots (quite noticably).

 

On with the showdown! Start JBoss AS 7 in standalone mode and add your results to this page. We are most interested in stock JVM settings, just to even the playing field. If you add flags, please note that in the JVM column.

 

AS 7 (Web Profile)

 

UsernameProcessor / ChipsetRAMHardDrive SpeedOperating SystemJVMStartup Time
dan.j.allen2x Intel Core 2 Duo E8400 3.00 GHz 32-bit4GB 800MHz7200 RPMUbuntu 11.04 i686 2.6.38-8 (pae)OpenJDK 1.6.0_22 32-bit (stock settings)1726ms
dan.j.allen2x Intel Core 2 Duo E8400 3.00 GHz 32-bit4GB 800MHz7200 RPMUbuntu 11.04 i686 2.6.38-8 (pae)OpenJDK 1.6.0_22 32-bit (JVM flags Group A)970ms
dan.j.allenQuad i7-2620M 2.70GHz 64-bit8GB 1333MHz7200 RPMUbuntu 11.04 x86_64 2.6.38-8OpenJDK 1.6.0_22 64-Bit (stock settings)1590ms
dan.j.allenQuad i7-2620M 2.70GHz 64-bit8GB 1333MHz7200 RPMUbuntu 11.04 x86_64 2.6.38-8OpenJDK 1.6.0_22 64-Bit (JVM flags Group A)1293ms
dan.j.allen2x Intel Core 2 Duo T7500 2.20 GHz 32-bit4GB 667MHz5200 RPMUbuntu 10.10 i686 2.6.35-28 (pae)Java(TM) SE HotSpot Server VM 1.6.0_24-b072822ms
dan.j.allen2x Intel Core 2 Duo T7500 2.20 GHz 32-bit4GB 667MHz5200 RPMUbuntu 10.10 i686 2.6.35-28 (pae)Java(TM) SE HotSpot Server VM 1.6.0_24-b07 (JVM flags Group A)1589ms
david bosschaertQuad i7 2.2GHz 64-bit8G 1333MHz7200 RPMMac OS X 10.6.8 Darwin 10.8.0 x86_64Apple Java 1.6.0_261479ms
david bosschaertQuad i7 2.2GHz 64-bit8G 1333MHz7200 RPMMac OS X 10.6.8 Darwin 10.8.0 x86_64Apple Java 1.6.0_26 (JVM flags Group A)1189ms
ssilvert

Intel ® Core™ 2 Duo i7-620M -i7

(2.66GHz, 4MB L3, 1066MHz FSB, 35W)

8GB 1333MHz7200 RPMWindows 7 Enterprise SP1

Java(TM) SE Runtime Environment (build 1.6.0_26-b03)

Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

1813ms
tkimuraIntel(R) Core(TM) i7-2620M CPU @ 2.70GHz8GB 1333MHz7200 RPM

Fedora 15

2.6.38.8-32.fc15.x86_64

OpenJDK 1.6.0_22

fedora-58.1.10.2.fc15-x86_64

(stock settings)

1450ms
tkimuraIntel(R) Core(TM) i7-2620M CPU @ 2.70GHz8GB 1333MHz7200 RPM

Fedora 15

2.6.38.8-32.fc15.x86_64

OpenJDK 1.6.0_22

fedora-58.1.10.2.fc15-x86_64

(JVM flags Group B)

1012ms
tkimuraIntel(R) Core(TM) i7-2620M CPU @ 2.70GHz8GB 1333MHz7200 RPM

KVM Image Fedora 15

2.6.38.8-32.fc15.i686

on Fedora 15 x86_64

OpenJDK 1.6.0_22

fedora-58.1.10.2.fc15-i686

(JVM flags Group A)

1007ms
jason.greenei7 Dual Core @ 2.66 GHz8GB 1067MHZ7200 RPMMac OS X 10.6.8 (forced 64 bit kernel)Apple Java 1.6.0_26 (-d32 bit mode)1486ms
jason.greenei7 Dual Core @ 2.66 GHz8GB 1067MHZ7200 RPMMac OS X 10.6.8 (forced 64 bit kernel)Apple Java 1.6.0_26 (stock settings)2041ms
goldmannIntel Core i5 2.4 Ghz8GB 1067MHZ7200 RPMMac OS X 10.6.7Apple Java 1.6.0_26 (stock settings)2476ms
wolfcIntel Core i7 860 2.80 Ghz6GB 1333MhzRAID0 2x7200 RPMUbuntu 11.04 x86_64 2.6.38-8OpenJDK 1.6.0_22 64-bit1287ms (w. patch)
mike.pellegriniIntel Core i5 560 2.66 GHz

4GB

1067MHz

7200 RPMFedora Core 15 2.6.38.8-32.fc15.x86_64Java(TM) SE Runtime Environment (build 1.6.0_26-b03)1930ms
tommysdkIntel ® Core™ i5 CPU M560 @ 2.70 GHz 64-bit

4GB 1333 MHz

7200 RPMWindows 7 Professional

Java(TM) SE Runtime Environment (build 1.6.0_23-b05)

Java HotSpot(TM) 64-Bit Server VM (build 19.0-b09, mixed mode) (JVM flags Group A tweaked)

1877 ms
sannegrinoveroi7 Dual Core @ 2.66 GHz8GB 1067MHZSSD Intel G2

Fedora Core 15/64bit

custom kernel 2.6.39.2

Java(TM) SE Runtime Environment (build 1.6.0_25-b06)

Options Group B

1232ms
kevin.sapperIntel ® Core™ i7 CPU Q720 @ 1.60 GHz 6GB 1333 MHz5600 RPMWindows 7 Home

Java(TM) SE Runtime 64-Bit Environment (build 1.6.0_26-b03)

Options Group A

2098ms
kevin.sapperIntel ® Core™ i7 CPU Q720 @ 1.60 GHz6GB 1333 MHz5600 RPMWindows 7 Home

Java(TM) SE Runtime 64-Bit Environment (build 1.6.0_26-b03)

Options Group B

1771ms

 

Older AS Versions

 

UsernameProcessor / ChipsetRAMHardDrive SpeedOperating SystemJVMAS VersionStartup Time
dan.j.allen2x Intel Core 2 Duo E8400 3.00 GHz 32-bit4GB 800MHz7200 RPMUbuntu 10.10 i686 2.6.35-28 (pae)OpenJDK 1.6.0_22 32-Bit (stock settings)6.0.0.Final14.5s
dan.j.allenQuad i7-2620M 2.70GHz 64-bit8GB 1333MHz7200 RPMUbuntu 11.04 x86_64 2.6.38-8OpenJDK 1.6.0_22 64-Bit (stock settings)6.0.0.Final13s
dan.j.allen2x Intel Core 2 Duo T7500 2.20 GHz 32-bit4GB 667MHz5200 RPMUbuntu 10.10 i686 2.6.35-28 (pae)Java(TM) SE HotSpot Server VM 1.6.0_24-b076.0.0.Final21.88s
tkimuraIntel(R) Core(TM) i7-2620M CPU @ 2.70GHz

8GB

1333MHz

7200 RPM

Fedora 15

2.6.38.8-32.fc15.x86_64

OpenJDK 1.6.0_22

fedora-58.1.10.2.fc15-x86_64

(stock settings)

6.0.0.Final12.0s
tkimuraIntel(R) Core(TM) i7-2620M CPU @ 2.70GHz

8GB

1333MHz

7200 RPM

Fedora 15

2.6.38.8-32.fc15.x86_64

OpenJDK 1.6.0_22

fedora-58.1.10.2.fc15-x86_64

(stock settings)

5.1.0.GA19.0s
tkimuraIntel(R) Core(TM) i7-2620M CPU @ 2.70GHz

8GB

1333MHz

7200 RPM

Fedora 15

2.6.38.8-32.fc15.x86_64

OpenJDK 1.6.0_22

fedora-58.1.10.2.fc15-x86_64

(stock settings)

4.2.3.GA6.2s
mike.pellegriniIntel Core i5 560 2.66 GHz

4GB

1067MHz

7200 RPMFedora Core 15 2.6.38.8-32.fc15.x86_64Java(TM) SE Runtime Environment (build 1.6.0_26-b03)5.1.023s.

 

JVM flag legend (for table above)

 

  • Group A: -Xms64m -Xmx512m -XX:MaxPermSize=256m -client -Xverify:none -XX:+UseFastAccessorMethods -XX:+DisableExplicitGC -XX:+UseCompressedOops
  • Group B: -server -Xms128m -Xmx128m -XX:MaxPermSize=128m -Djava.net.preferIPv4Stack=true -XX:+UseFastAccessorMethods -XX:+TieredCompilation -Xverify:none

 

Optimizations

 

You get better startup times with 32 bit over 64 bit, because of the smaller integer size. If you are on a 64 bit machine, you can do one of two things to get 32 bit performance:

 

  • Run in 32 bit mode using the JVM flag: -d32 (Mac and Windows)
  • Use the JVM compression flag: -XX:+UseCompressedOops (option not valid on a 32 bit JVM)

 

There are also some other JVM flags that will speed things up:

 

  • -noverify
  • -XX:+DisableExplicitGC
  • -client (32 bit JVM only. You have to edit standalone.sh to use -client instead of -server)

 

You can squeeze out a few fractions of a second by disabling the console logging (or directing it to /dev/null):

 

./standalone.sh > /dev/null

 

You can still view the log output by tailing the server log.

 

See comments for other suggestions.

 

Let the best machine win!

Comment by going to Community

Create a new document in JBoss AS7 Development at Community