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: Chris Hyzer <>
  • To: David Langenberg <>
  • Cc: "" <>
  • Subject: RE: [grouper-users] speeding up the command line grouper client by an order of magnitude
  • Date: Thu, 1 Nov 2012 23:05:17 +0000
  • Accept-language: en-US

Good point.

Here is a thread where the nailgun author claims it is stable and used in
commercial products. If you are comfortable opening a local port on the
machine (and ensuring the nailgun server is up and running), and performance
without nailgun is acceptable (and better with it), then it seems reasonable
to use it until you have problems and if that happens, just go back to normal
command line... hmmm

http://stackoverflow.com/questions/4041746/what-are-the-advantages-and-disadvantages-of-using-nailgun-vs-netcat-to-provide

Chris

-----Original Message-----
From: David Langenberg
[mailto:]

Sent: Thursday, November 01, 2012 3:01 PM
To: Chris Hyzer
Cc:

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

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