I haven't looked into this in detail, but AFAIK, the reason for the first request is so that the asadmin in command is able to prompt for the missing arguments. The argument parsing is actually done by asadmin not the server.
If we sent the complete command line that the user entered, and the entire password file to the server, then it could process the complete command with only one round trip in the typical case. If there are arguments missing, then the server would need to return a code that would indicate that asadmin needs to prompt for more information.
Tom
On Apr 3, 2011, at 11:37 AM, Byron Nevins <byron.nevins_at_oracle.com> wrote:
> I see. Is there some way to avoid the pointless round-trip for the usage info?
>
> On 4/2/2011 7:02 AM, Tom Mueller wrote:
>>
>> The 1/2 second is about the time that it takes to run any remote command, even a command like version. What you are seeing is the time to start up a JVM, access all of the JARs, con act the server for the usage information, and then contact the server to actually do the command.
>>
>> If you want to speed up your tests that do lots of sets, pass in multiple attributes on a single command, i.e.
>>
>> asadmin set a=b c=d e=f
>>
>> In my get/set test, I pass in 20 at a time.
>>
>> Tom
>>
>>
>>
>> On Apr 2, 2011, at 2:07 AM, Byron Nevins <byron.nevins_at_oracle.com> wrote:
>>
>>> DevTests now writes time data to a file, timestamps.out. Every run.
>>>
>>> It is currently extremely simple. An elapsed time, in ms, is spit out each time an 'official' test is made (i.e. every call to the method report). You can tail this file to track progress as well. You get one line per test.
>>>
>>> It's interesting that EVERY call to get or set costs about the same ~~ 1/2 second +- 100 msec. This is incredibly slow!!! Get ought to be much much faster than set -- yet isn't.
>>>
>>> Sample output
>>>
>>> 409ms true [EarlyJira::verifyMonOff::standalone::jpa]
>>> 458ms true [EarlyJira::verifyMonOff::das::jvm]
>>> 406ms true [EarlyJira::verifyMonOff::mon-cluster::jvm]
>>> 512ms true [EarlyJira::verifyMonOff::standalone::jvm]
>>> 630ms true [EarlyJira::verifyMonOff::das::orb]
>>> 412ms true [EarlyJira::verifyMonOff::mon-cluster::orb]
>>> 537ms true [EarlyJira::verifyMonOff::standalone::orb]
>>> 559ms true [EarlyJira::verifyMonOff::das::security]
>>> 494ms true [EarlyJira::verifyMonOff::mon-cluster::security]
>>> 402ms true [EarlyJira::verifyMonOff::standalone::security]
>>> 473ms true [EarlyJira::verifyMonOff::das::thread-pool]
>>> 521ms true [EarlyJira::verifyMonOff::mon-cluster::thread-pool]
>>> 405ms true [EarlyJira::verifyMonOff::standalone::thread-pool]
>>> 426ms true [EarlyJira::verifyMonOff::das::transaction-service]
>>> 494ms true [EarlyJira::verifyMonOff::mon-cluster::transaction-service]
>>> 630ms true [EarlyJira::verifyMonOff::standalone::transaction-service]
>>> 436ms true [EarlyJira::verifyMonOff::das::web-container]
>>> 404ms true [EarlyJira::verifyMonOff::mon-cluster::web-container]
>>> 432ms true [EarlyJira::verifyMonOff::standalone::web-container]
>>> 530ms true [EarlyJira::verifyMonOff::das::web-services-container]
>>> 611ms true [EarlyJira::verifyMonOff::mon-cluster::web-services-container]
>>> 521ms true [EarlyJira::verifyMonOff::standalone::web-services-container]
>>> 892ms true [EarlyJira::15203::verify special message all 3 --]
>>> 28ms true [EarlyJira::15203::verify 3 only]
>>> 565ms true [EarlyJira::15203::verify special message clustered-i1]
>>> 479ms true [EarlyJira::15203::verify special message clustered-i2]
>>> 457ms true [EarlyJira::15203::verify special message standalone-i3]
>>> 5ms true [Enabler::Enabler says HELLLLLLOOOOO!!!]
>>> 639ms true [Enabler::verify-main-flags server-dtrace-]
>>> 402ms true [Enabler::verify-main-flags server-monitoring-]
>>> 562ms true [Enabler::verify-main-flags server-mbean-]
>>> 409ms true [Enabler::verify-main-flags standalone-i3-dtrace-]
>>> 454ms true [Enabler::verify-main-flags standalone-i3-monitoring-]
>>> 413ms true [Enabler::verify-main-flags standalone-i3-mbean-]
>>>
>>> Note that I implemented the file writes in a super inefficient -- but robust way. It works EXACTLY the same as the cli logfile writing...
>>> If it slows down the tests too much it can be easily made more efficient with 0.5-1.0 hours of work. I doubt that it will be an issue -- it's not like a get or set call :-)
>>>
>>>
>>> --
>>> <oracle_sig_logo.gif>
>>> Byron Nevins | Principal MTS
>>> Phone: +1 6503958992
>>>
>>> <green-for-email-sig_0.gif> Oracle is committed to developing practices and products that help protect the environment
>>
>
> --
> <oracle_sig_logo.gif>
> Byron Nevins | Principal MTS
> Phone: +1 6503958992
>
> <green-for-email-sig_0.gif> Oracle is committed to developing practices and products that help protect the environment