Skip to Content.
Sympa Menu

grouper-users - Re: [grouper-users] speeding up the command line grouper client by an order of magnitude

Subject: Grouper Users - Open Discussion List

List archive

Re: [grouper-users] speeding up the command line grouper client by an order of magnitude


Chronological Thread 
  • From: David Langenberg <>
  • To: Chris Hyzer <>
  • Cc: "" <>
  • Subject: Re: [grouper-users] speeding up the command line grouper client by an order of magnitude
  • Date: Thu, 1 Nov 2012 13:00:37 -0600

Certainly looks interesting, haven't used it, but I hesitate to start.
The software hasn't been touched or updated since 2005 which doesn't
lend much hope for getting support from the developer/project.

Dave

On Thu, Nov 1, 2012 at 11:04 AM, Chris Hyzer
<>
wrote:
> I haven’t run this in production or done too much testing, but the nailgun
> freeware seems like an easy way to drastically speed up java command line
> programs. The grouper client can become 10 times faster (see results
> below) if that is the JVM startup time for a command line call. Also note
> that the CPU time of the machine running the client is drastically reduced.
>
>
>
> http://www.martiansoftware.com/nailgun/
>
>
>
> Basically it is a jar that runs a TCP server (you should run this on
> 127.0.0.1), and runs main methods for you via a C client. Here is an
> example.
>
>
>
> ######################
>
> Start the server:
>
>
>
> [mchyzer@flash
> nailgun-0.7.1]$ java -cp
> .:grouperClient.jar:nailgun-0.7.1.jar -server
> com.martiansoftware.nailgun.NGServer 127.0.0.1
>
> NGServer started on 127.0.0.1, port 2113.
>
>
>
> #######################
>
> Compile the client:
>
>
>
> [mchyzer@flash
> nailgun-0.7.1]$ make
>
> Building ng client. To build a Windows binary, type 'make ng.exe'
>
> gcc -Wall -pedantic -s -O3 -o ng src/c/ng.c
>
> [mchyzer@flash
> nailgun-0.7.1]$
>
>
>
> #######################
>
> Here is a grouper client call which takes 1.2 seconds
>
>
>
> [mchyzer@flash
> nailgun-0.7.1]$ time java -jar grouperClient.jar
> --operation=hasMemberWs --groupName=test:testGroup
> --subjectIdentifiers=ajames
>
> Index 0: success: T: code: IS_MEMBER: 12345678: true
>
>
>
> real 0m1.161s
>
> user 0m1.432s
>
> sys 0m0.080s
>
>
>
> ########################
>
> Here is the same call over nailgun which takes 120ms
>
>
>
> [mchyzer@flash
> nailgun-0.7.1]$ time ./ng
> edu.internet2.middleware.grouperClient.GrouperClient --operation=hasMemberWs
> --groupName=test:testGroup --subjectIdentifiers=jsmith
>
> Index 0: success: T: code: IS_MEMBER: 12345678: true
>
>
>
> real 0m0.121s
>
> user 0m0.000s
>
> sys 0m0.001s
>
> [mchyzer@flash
> nailgun-0.7.1]$
>
>
>
> Let me know if anyone uses this and how it goes J
>
>
>
> Thanks,
>
> Chris



--
David Langenberg
Identity & Access Management
The University of Chicago



Archive powered by MHonArc 2.6.16.

Top of Page