Running server-side Java on FreeBSD in production environments

Brent Verner brent at rcfile.org
Sun Dec 7 05:20:41 PST 2003


[2003-12-03 16:41] Sheldon Hearn said:
| On (2003/12/02 13:12), Brian Behlendorf wrote:
| 
| > Anyone want to share good success or horror stories?  We're
| > trying to determine whether the apache.org box can start to run our own
| > software.  :)  Speed is definitely less important than proper functioning.
| 
| For me, the issue isn't so much with speed as it is for support of
| heavily-threaded applications:
| 
|   http://starjuice.net/2003_09_01_starjuice_archive.html#106267661433883916

Out of curiousity, I just ran the volano benchmark against the native
jdk1.4.2.  More info on the benchmark as well as results from other
systems is available at http://www.volano.com/benchmarks.html.

  server: 10.0.0.1
  client: 10.0.0.1 (unfortunately, my linux box couldn't build up
                    more than about 600 client connections before
                    complaining of the stack being too small.)
  OS: 4.9-STABLE (vintage 2 Dec 2003)
  jvm args: -server -Xmx512M -Xss96k
  hardware: 500Mhz pIII 768MB (10.0.0.1 is on a 3COM 3C905C-TX card)
  sysctl settings:
                jail.sysvipc_allowed=1
                jail.socket_unixiproute_only=1
                jail.set_hostname_allowed=1
                kern.ipc.shm_use_phys=1
                kern.ipc.somaxconn=1024
                kern.ipc.nmbclusters=32768
                vfs.vmiodirenable=1
                net.inet.tcp.msl=10000  # cuts TIME_WAIT down to about 5s
                kern.maxfiles=16384


results - not too bad :-)

1000 concurrent connections/threads.
  test-1.log: [Sun Dec  7 07:36:51 EST 2003] Test started.
  test-1.log: Average throughput = 1255 messages per second
  
2000 concurrent connections/threads.
  test-2.log: [Sun Dec  7 07:46:11 EST 2003] Test started.
  test-2.log: Average throughput = 960 messages per second

[At about 2500 connections, the server side died from "Out of memory"]

snippet from vmstat while benchmark running:
 procs      memory      page                    disks     faults      cpu
 r b w     avm    fre  flt  re  pi  po  fr  sr ad0 ad4   in   sy  cs us sy id
 2 0 0 2268924 213740    3   0   0   0 613   0   0   0  307 3657  76 33 67  0
 1 0 0 2268924 213676   17   0   0   0 520   0   4   0  378 4452  46 37 63  0
 2 0 0 2268924 213184  130   0   0   0 752   0   0   0  311 1072 106 59 41  0


I suspect having the client on another system would yield _much_ better 
results. If I figure out how to get my linux box to handle the client
task, I'll report the difference in performance.

cheers.
  Brent

-- 
"Develop your talent, man, and leave the world something. Records are 
really gifts from people. To think that an artist would love you enough
to share his music with anyone is a beautiful thing."  -- Duane Allman


More information about the freebsd-java mailing list