Re: Measuring SOLR performance

2013-09-04 Thread Dmitry Kan
Hi Roman,

Ok, I will. Thanks!

Cheers,
Dmitry


On Tue, Sep 3, 2013 at 4:46 PM, Roman Chyla  wrote:

> Hi Dmitry,
>
> Thanks for the feedback. Yes, it is indeed jmeter issue (or rather, the
> issue of the plugin we use to generate charts). You may want to use the
> github for whatever comes next
>
> https://github.com/romanchyla/solrjmeter/issues
>
> Cheers,
>
>   roman
>
>
> On Tue, Sep 3, 2013 at 7:54 AM, Dmitry Kan  wrote:
>
> > Hi Roman,
> >
> > Thanks, the --additionalSolrParams was just what I wanted and works fine.
> >
> > BTW, if you have some special "bug tracking forum" for the tool, I'm
> happy
> > to submit questions / bug reports there. Otherwise, this email list is ok
> > (for me at least).
> >
> > One other thing I have noticed in the err logs was a series of messages
> of
> > this sort upon generating the perf test report. Seems to be jmeter
> related
> > (the err messages disappear, if extra lib dir is present under ext
> > directory).
> >
> > java.lang.Throwable: Could not access
> > /home/dmitry/projects/lab/solrjmeter7/solrjmeter/jmeter/lib/ext/lib
> > at
> >
> kg.apc.cmd.UniversalRunner.buildUpdatedClassPath(UniversalRunner.java:109)
> > at kg.apc.cmd.UniversalRunner.(UniversalRunner.java:55)
> > at
> >
> kg.apc.cmd.UniversalRunner.buildUpdatedClassPath(UniversalRunner.java:109)
> > at kg.apc.cmd.UniversalRunner.(UniversalRunner.java:55)
> >
> > at
> >
> kg.apc.cmd.UniversalRunner.buildUpdatedClassPath(UniversalRunner.java:109)
> > at kg.apc.cmd.UniversalRunner.(UniversalRunner.java:55)
> >
> >
> >
> > On Tue, Sep 3, 2013 at 2:50 AM, Roman Chyla 
> wrote:
> >
> > > Hi Dmitry,
> > >
> > > If it is something you want to pass with every request (which is my use
> > > case), you can pass it as additional solr params, eg.
> > >
> > > python solrjmeter
> > >
> > >
> >
> --additionalSolrParams="fq=other_field:bar+facet=true+facet.field=facet_field_name"
> > > 
> > >
> > > the string should be url encoded.
> > >
> > > If it is something that changes with every request, you should modify
> the
> > > jmeter test. If you open/load it with jmeter GUI, in the HTTP request
> > > processor you can define other additional fields to pass with the
> > request.
> > > These values can come from the CSV file, you'll see an example how to
> use
> > > that when you open the test difinition file.
> > >
> > > Cheers,
> > >
> > >   roman
> > >
> > >
> > >
> > >
> > > On Mon, Sep 2, 2013 at 3:12 PM, Dmitry Kan 
> wrote:
> > >
> > > > Hi Erick,
> > > >
> > > > Agree, this is perfectly fine to mix them in solr. But my question is
> > > about
> > > > solrjmeter input query format. Just couldn't find a suitable example
> on
> > > the
> > > > solrjmeter's github.
> > > >
> > > > Dmitry
> > > >
> > > >
> > > >
> > > > On Mon, Sep 2, 2013 at 5:40 PM, Erick Erickson <
> > erickerick...@gmail.com
> > > > >wrote:
> > > >
> > > > > filter and facet queries can be freely intermixed, it's not a
> > problem.
> > > > > What problem are you seeing when you try this?
> > > > >
> > > > > Best,
> > > > > Erick
> > > > >
> > > > >
> > > > > On Mon, Sep 2, 2013 at 7:46 AM, Dmitry Kan 
> > > wrote:
> > > > >
> > > > > > Hi Roman,
> > > > > >
> > > > > > What's the format for running the facet+filter queries?
> > > > > >
> > > > > > Would something like this work:
> > > > > >
> > > > > > field:foo  >=50  fq=other_field:bar facet=true
> > > > > facet.field=facet_field_name
> > > > > >
> > > > > >
> > > > > > Thanks,
> > > > > > Dmitry
> > > > > >
> > > > > >
> > > > > >
> > > > > > On Fri, Aug 23, 2013 at 2:34 PM, Dmitry Kan <
> solrexp...@gmail.com>
> > > > > wrote:
> > > > > >
> > > > > > > Hi Roman,
> > > > > > >
> > > > > > > With adminPath="/admin" or adminPath="/admin/cores", no.
> > > > Interestingly
> > > > > > > enough, though, I can access
> > > > > > > http://localhost:8983/solr/statements/admin/system
> > > > > > >
> > > > > > > But I can access http://localhost:8983/solr/admin/cores, only
> > when
> > > > > with
> > > > > > > adminPath="/admin/cores" (which suggests that this is the right
> > > value
> > > > > to
> > > > > > be
> > > > > > > used for cores), and not with adminPath="/admin".
> > > > > > >
> > > > > > > Bottom line, these core configuration is not self-evident.
> > > > > > >
> > > > > > > Dmitry
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > On Fri, Aug 23, 2013 at 4:18 AM, Roman Chyla <
> > > roman.ch...@gmail.com
> > > > > > >wrote:
> > > > > > >
> > > > > > >> Hi Dmitry,
> > > > > > >> So it seems solrjmeter should not assume the adminPath - and
> > > perhaps
> > > > > > needs
> > > > > > >> to be passed as an argument. When you set the adminPath, are
> you
> > > > able
> > > > > to
> > > > > > >> access localhost:8983/solr/statements/admin/cores ?
> > > > > > >>
> > > > > > >> roman
> > > > > > >>
> > > > > > >>
> > > > > > >> On Wed, Aug 21, 2013 at 7:36 AM, Dmitry Kan <
> > solrexp...@gmail.com
> > > >
> > > > > > wrote:
> > > 

Re: Measuring SOLR performance

2013-09-03 Thread Roman Chyla
Hi Dmitry,

Thanks for the feedback. Yes, it is indeed jmeter issue (or rather, the
issue of the plugin we use to generate charts). You may want to use the
github for whatever comes next

https://github.com/romanchyla/solrjmeter/issues

Cheers,

  roman


On Tue, Sep 3, 2013 at 7:54 AM, Dmitry Kan  wrote:

> Hi Roman,
>
> Thanks, the --additionalSolrParams was just what I wanted and works fine.
>
> BTW, if you have some special "bug tracking forum" for the tool, I'm happy
> to submit questions / bug reports there. Otherwise, this email list is ok
> (for me at least).
>
> One other thing I have noticed in the err logs was a series of messages of
> this sort upon generating the perf test report. Seems to be jmeter related
> (the err messages disappear, if extra lib dir is present under ext
> directory).
>
> java.lang.Throwable: Could not access
> /home/dmitry/projects/lab/solrjmeter7/solrjmeter/jmeter/lib/ext/lib
> at
> kg.apc.cmd.UniversalRunner.buildUpdatedClassPath(UniversalRunner.java:109)
> at kg.apc.cmd.UniversalRunner.(UniversalRunner.java:55)
> at
> kg.apc.cmd.UniversalRunner.buildUpdatedClassPath(UniversalRunner.java:109)
> at kg.apc.cmd.UniversalRunner.(UniversalRunner.java:55)
>
> at
> kg.apc.cmd.UniversalRunner.buildUpdatedClassPath(UniversalRunner.java:109)
> at kg.apc.cmd.UniversalRunner.(UniversalRunner.java:55)
>
>
>
> On Tue, Sep 3, 2013 at 2:50 AM, Roman Chyla  wrote:
>
> > Hi Dmitry,
> >
> > If it is something you want to pass with every request (which is my use
> > case), you can pass it as additional solr params, eg.
> >
> > python solrjmeter
> >
> >
> --additionalSolrParams="fq=other_field:bar+facet=true+facet.field=facet_field_name"
> > 
> >
> > the string should be url encoded.
> >
> > If it is something that changes with every request, you should modify the
> > jmeter test. If you open/load it with jmeter GUI, in the HTTP request
> > processor you can define other additional fields to pass with the
> request.
> > These values can come from the CSV file, you'll see an example how to use
> > that when you open the test difinition file.
> >
> > Cheers,
> >
> >   roman
> >
> >
> >
> >
> > On Mon, Sep 2, 2013 at 3:12 PM, Dmitry Kan  wrote:
> >
> > > Hi Erick,
> > >
> > > Agree, this is perfectly fine to mix them in solr. But my question is
> > about
> > > solrjmeter input query format. Just couldn't find a suitable example on
> > the
> > > solrjmeter's github.
> > >
> > > Dmitry
> > >
> > >
> > >
> > > On Mon, Sep 2, 2013 at 5:40 PM, Erick Erickson <
> erickerick...@gmail.com
> > > >wrote:
> > >
> > > > filter and facet queries can be freely intermixed, it's not a
> problem.
> > > > What problem are you seeing when you try this?
> > > >
> > > > Best,
> > > > Erick
> > > >
> > > >
> > > > On Mon, Sep 2, 2013 at 7:46 AM, Dmitry Kan 
> > wrote:
> > > >
> > > > > Hi Roman,
> > > > >
> > > > > What's the format for running the facet+filter queries?
> > > > >
> > > > > Would something like this work:
> > > > >
> > > > > field:foo  >=50  fq=other_field:bar facet=true
> > > > facet.field=facet_field_name
> > > > >
> > > > >
> > > > > Thanks,
> > > > > Dmitry
> > > > >
> > > > >
> > > > >
> > > > > On Fri, Aug 23, 2013 at 2:34 PM, Dmitry Kan 
> > > > wrote:
> > > > >
> > > > > > Hi Roman,
> > > > > >
> > > > > > With adminPath="/admin" or adminPath="/admin/cores", no.
> > > Interestingly
> > > > > > enough, though, I can access
> > > > > > http://localhost:8983/solr/statements/admin/system
> > > > > >
> > > > > > But I can access http://localhost:8983/solr/admin/cores, only
> when
> > > > with
> > > > > > adminPath="/admin/cores" (which suggests that this is the right
> > value
> > > > to
> > > > > be
> > > > > > used for cores), and not with adminPath="/admin".
> > > > > >
> > > > > > Bottom line, these core configuration is not self-evident.
> > > > > >
> > > > > > Dmitry
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > On Fri, Aug 23, 2013 at 4:18 AM, Roman Chyla <
> > roman.ch...@gmail.com
> > > > > >wrote:
> > > > > >
> > > > > >> Hi Dmitry,
> > > > > >> So it seems solrjmeter should not assume the adminPath - and
> > perhaps
> > > > > needs
> > > > > >> to be passed as an argument. When you set the adminPath, are you
> > > able
> > > > to
> > > > > >> access localhost:8983/solr/statements/admin/cores ?
> > > > > >>
> > > > > >> roman
> > > > > >>
> > > > > >>
> > > > > >> On Wed, Aug 21, 2013 at 7:36 AM, Dmitry Kan <
> solrexp...@gmail.com
> > >
> > > > > wrote:
> > > > > >>
> > > > > >> > Hi Roman,
> > > > > >> >
> > > > > >> > I have noticed a difference with different solr.xml config
> > > contents.
> > > > > It
> > > > > >> is
> > > > > >> > probably legit, but thought to let you know (tests run on
> fresh
> > > > > >> checkout as
> > > > > >> > of today).
> > > > > >> >
> > > > > >> > As mentioned before, I have two cores configured in solr.xml.
> If
> > > the
> > > > > >> file
> > > > > >> > is:
> > > > > >> >
> > > > > >> 

Re: Measuring SOLR performance

2013-09-03 Thread Dmitry Kan
Hi Roman,

Thanks, the --additionalSolrParams was just what I wanted and works fine.

BTW, if you have some special "bug tracking forum" for the tool, I'm happy
to submit questions / bug reports there. Otherwise, this email list is ok
(for me at least).

One other thing I have noticed in the err logs was a series of messages of
this sort upon generating the perf test report. Seems to be jmeter related
(the err messages disappear, if extra lib dir is present under ext
directory).

java.lang.Throwable: Could not access
/home/dmitry/projects/lab/solrjmeter7/solrjmeter/jmeter/lib/ext/lib
at
kg.apc.cmd.UniversalRunner.buildUpdatedClassPath(UniversalRunner.java:109)
at kg.apc.cmd.UniversalRunner.(UniversalRunner.java:55)
at
kg.apc.cmd.UniversalRunner.buildUpdatedClassPath(UniversalRunner.java:109)
at kg.apc.cmd.UniversalRunner.(UniversalRunner.java:55)

at
kg.apc.cmd.UniversalRunner.buildUpdatedClassPath(UniversalRunner.java:109)
at kg.apc.cmd.UniversalRunner.(UniversalRunner.java:55)



On Tue, Sep 3, 2013 at 2:50 AM, Roman Chyla  wrote:

> Hi Dmitry,
>
> If it is something you want to pass with every request (which is my use
> case), you can pass it as additional solr params, eg.
>
> python solrjmeter
>
> --additionalSolrParams="fq=other_field:bar+facet=true+facet.field=facet_field_name"
> 
>
> the string should be url encoded.
>
> If it is something that changes with every request, you should modify the
> jmeter test. If you open/load it with jmeter GUI, in the HTTP request
> processor you can define other additional fields to pass with the request.
> These values can come from the CSV file, you'll see an example how to use
> that when you open the test difinition file.
>
> Cheers,
>
>   roman
>
>
>
>
> On Mon, Sep 2, 2013 at 3:12 PM, Dmitry Kan  wrote:
>
> > Hi Erick,
> >
> > Agree, this is perfectly fine to mix them in solr. But my question is
> about
> > solrjmeter input query format. Just couldn't find a suitable example on
> the
> > solrjmeter's github.
> >
> > Dmitry
> >
> >
> >
> > On Mon, Sep 2, 2013 at 5:40 PM, Erick Erickson  > >wrote:
> >
> > > filter and facet queries can be freely intermixed, it's not a problem.
> > > What problem are you seeing when you try this?
> > >
> > > Best,
> > > Erick
> > >
> > >
> > > On Mon, Sep 2, 2013 at 7:46 AM, Dmitry Kan 
> wrote:
> > >
> > > > Hi Roman,
> > > >
> > > > What's the format for running the facet+filter queries?
> > > >
> > > > Would something like this work:
> > > >
> > > > field:foo  >=50  fq=other_field:bar facet=true
> > > facet.field=facet_field_name
> > > >
> > > >
> > > > Thanks,
> > > > Dmitry
> > > >
> > > >
> > > >
> > > > On Fri, Aug 23, 2013 at 2:34 PM, Dmitry Kan 
> > > wrote:
> > > >
> > > > > Hi Roman,
> > > > >
> > > > > With adminPath="/admin" or adminPath="/admin/cores", no.
> > Interestingly
> > > > > enough, though, I can access
> > > > > http://localhost:8983/solr/statements/admin/system
> > > > >
> > > > > But I can access http://localhost:8983/solr/admin/cores, only when
> > > with
> > > > > adminPath="/admin/cores" (which suggests that this is the right
> value
> > > to
> > > > be
> > > > > used for cores), and not with adminPath="/admin".
> > > > >
> > > > > Bottom line, these core configuration is not self-evident.
> > > > >
> > > > > Dmitry
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > On Fri, Aug 23, 2013 at 4:18 AM, Roman Chyla <
> roman.ch...@gmail.com
> > > > >wrote:
> > > > >
> > > > >> Hi Dmitry,
> > > > >> So it seems solrjmeter should not assume the adminPath - and
> perhaps
> > > > needs
> > > > >> to be passed as an argument. When you set the adminPath, are you
> > able
> > > to
> > > > >> access localhost:8983/solr/statements/admin/cores ?
> > > > >>
> > > > >> roman
> > > > >>
> > > > >>
> > > > >> On Wed, Aug 21, 2013 at 7:36 AM, Dmitry Kan  >
> > > > wrote:
> > > > >>
> > > > >> > Hi Roman,
> > > > >> >
> > > > >> > I have noticed a difference with different solr.xml config
> > contents.
> > > > It
> > > > >> is
> > > > >> > probably legit, but thought to let you know (tests run on fresh
> > > > >> checkout as
> > > > >> > of today).
> > > > >> >
> > > > >> > As mentioned before, I have two cores configured in solr.xml. If
> > the
> > > > >> file
> > > > >> > is:
> > > > >> >
> > > > >> > [code]
> > > > >> > 
> > > > >> >
> > > > >> >   
> > > > >> >> > > >> > hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
> > > > >> > 
> > > > >> > 
> > > > >> >   
> > > > >> > 
> > > > >> > [/code]
> > > > >> >
> > > > >> > then the instruction:
> > > > >> >
> > > > >> > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> > > > >> > ./queries/demo/demo.queries -s localhost -p 8983 -a
> > --durationInSecs
> > > > 60
> > > > >> -R
> > > > >> > cms -t /solr/statements -e statements -U 100
> > > > >> >
> > > > >> > works just fine. If however the solr.xml has adminPath set to
> > > "/admin"
> > > > >> > solrjmeter produces an error:
> > > > 

Re: Measuring SOLR performance

2013-09-02 Thread Roman Chyla
Hi Dmitry,

If it is something you want to pass with every request (which is my use
case), you can pass it as additional solr params, eg.

python solrjmeter
--additionalSolrParams="fq=other_field:bar+facet=true+facet.field=facet_field_name"


the string should be url encoded.

If it is something that changes with every request, you should modify the
jmeter test. If you open/load it with jmeter GUI, in the HTTP request
processor you can define other additional fields to pass with the request.
These values can come from the CSV file, you'll see an example how to use
that when you open the test difinition file.

Cheers,

  roman




On Mon, Sep 2, 2013 at 3:12 PM, Dmitry Kan  wrote:

> Hi Erick,
>
> Agree, this is perfectly fine to mix them in solr. But my question is about
> solrjmeter input query format. Just couldn't find a suitable example on the
> solrjmeter's github.
>
> Dmitry
>
>
>
> On Mon, Sep 2, 2013 at 5:40 PM, Erick Erickson  >wrote:
>
> > filter and facet queries can be freely intermixed, it's not a problem.
> > What problem are you seeing when you try this?
> >
> > Best,
> > Erick
> >
> >
> > On Mon, Sep 2, 2013 at 7:46 AM, Dmitry Kan  wrote:
> >
> > > Hi Roman,
> > >
> > > What's the format for running the facet+filter queries?
> > >
> > > Would something like this work:
> > >
> > > field:foo  >=50  fq=other_field:bar facet=true
> > facet.field=facet_field_name
> > >
> > >
> > > Thanks,
> > > Dmitry
> > >
> > >
> > >
> > > On Fri, Aug 23, 2013 at 2:34 PM, Dmitry Kan 
> > wrote:
> > >
> > > > Hi Roman,
> > > >
> > > > With adminPath="/admin" or adminPath="/admin/cores", no.
> Interestingly
> > > > enough, though, I can access
> > > > http://localhost:8983/solr/statements/admin/system
> > > >
> > > > But I can access http://localhost:8983/solr/admin/cores, only when
> > with
> > > > adminPath="/admin/cores" (which suggests that this is the right value
> > to
> > > be
> > > > used for cores), and not with adminPath="/admin".
> > > >
> > > > Bottom line, these core configuration is not self-evident.
> > > >
> > > > Dmitry
> > > >
> > > >
> > > >
> > > >
> > > > On Fri, Aug 23, 2013 at 4:18 AM, Roman Chyla  > > >wrote:
> > > >
> > > >> Hi Dmitry,
> > > >> So it seems solrjmeter should not assume the adminPath - and perhaps
> > > needs
> > > >> to be passed as an argument. When you set the adminPath, are you
> able
> > to
> > > >> access localhost:8983/solr/statements/admin/cores ?
> > > >>
> > > >> roman
> > > >>
> > > >>
> > > >> On Wed, Aug 21, 2013 at 7:36 AM, Dmitry Kan 
> > > wrote:
> > > >>
> > > >> > Hi Roman,
> > > >> >
> > > >> > I have noticed a difference with different solr.xml config
> contents.
> > > It
> > > >> is
> > > >> > probably legit, but thought to let you know (tests run on fresh
> > > >> checkout as
> > > >> > of today).
> > > >> >
> > > >> > As mentioned before, I have two cores configured in solr.xml. If
> the
> > > >> file
> > > >> > is:
> > > >> >
> > > >> > [code]
> > > >> > 
> > > >> >
> > > >> >   
> > > >> >> > >> > hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
> > > >> > 
> > > >> > 
> > > >> >   
> > > >> > 
> > > >> > [/code]
> > > >> >
> > > >> > then the instruction:
> > > >> >
> > > >> > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> > > >> > ./queries/demo/demo.queries -s localhost -p 8983 -a
> --durationInSecs
> > > 60
> > > >> -R
> > > >> > cms -t /solr/statements -e statements -U 100
> > > >> >
> > > >> > works just fine. If however the solr.xml has adminPath set to
> > "/admin"
> > > >> > solrjmeter produces an error:
> > > >> >
> > > >> > [error]
> > > >> > **ERROR**
> > > >> >   File "solrjmeter.py", line 1386, in 
> > > >> > main(sys.argv)
> > > >> >   File "solrjmeter.py", line 1278, in main
> > > >> > check_prerequisities(options)
> > > >> >   File "solrjmeter.py", line 375, in check_prerequisities
> > > >> > error('Cannot find admin pages: %s, please report a bug' %
> > apath)
> > > >> >   File "solrjmeter.py", line 66, in error
> > > >> > traceback.print_stack()
> > > >> > Cannot find admin pages: http://localhost:8983/solr/admin, please
> > > >> report a
> > > >> > bug
> > > >> > [/error]
> > > >> >
> > > >> > With both solr.xml configs the following url returns just fine:
> > > >> >
> > > >> > http://localhost:8983/solr/statements/admin/system?wt=json
> > > >> >
> > > >> > Regards,
> > > >> >
> > > >> > Dmitry
> > > >> >
> > > >> >
> > > >> >
> > > >> > On Wed, Aug 14, 2013 at 2:03 PM, Dmitry Kan  >
> > > >> wrote:
> > > >> >
> > > >> > > Hi Roman,
> > > >> > >
> > > >> > > This looks much better, thanks! The ordinary non-comarison mode
> > > works.
> > > >> > > I'll post here, if there are other findings.
> > > >> > >
> > > >> > > Thanks for quick turnarounds,
> > > >> > >
> > > >> > > Dmitry
> > > >> > >
> > > >> > >
> > > >> > > On Wed, Aug 14, 2013 at 1:32 AM, Roman Chyla <
> > roman.ch...@gmail.com
> > > >> > >wrote:
> > > >> > >
> > > >> > >> Hi Dmitry, oh yes, late night fixes... :

Re: Measuring SOLR performance

2013-09-02 Thread Dmitry Kan
Hi Erick,

Agree, this is perfectly fine to mix them in solr. But my question is about
solrjmeter input query format. Just couldn't find a suitable example on the
solrjmeter's github.

Dmitry



On Mon, Sep 2, 2013 at 5:40 PM, Erick Erickson wrote:

> filter and facet queries can be freely intermixed, it's not a problem.
> What problem are you seeing when you try this?
>
> Best,
> Erick
>
>
> On Mon, Sep 2, 2013 at 7:46 AM, Dmitry Kan  wrote:
>
> > Hi Roman,
> >
> > What's the format for running the facet+filter queries?
> >
> > Would something like this work:
> >
> > field:foo  >=50  fq=other_field:bar facet=true
> facet.field=facet_field_name
> >
> >
> > Thanks,
> > Dmitry
> >
> >
> >
> > On Fri, Aug 23, 2013 at 2:34 PM, Dmitry Kan 
> wrote:
> >
> > > Hi Roman,
> > >
> > > With adminPath="/admin" or adminPath="/admin/cores", no. Interestingly
> > > enough, though, I can access
> > > http://localhost:8983/solr/statements/admin/system
> > >
> > > But I can access http://localhost:8983/solr/admin/cores, only when
> with
> > > adminPath="/admin/cores" (which suggests that this is the right value
> to
> > be
> > > used for cores), and not with adminPath="/admin".
> > >
> > > Bottom line, these core configuration is not self-evident.
> > >
> > > Dmitry
> > >
> > >
> > >
> > >
> > > On Fri, Aug 23, 2013 at 4:18 AM, Roman Chyla  > >wrote:
> > >
> > >> Hi Dmitry,
> > >> So it seems solrjmeter should not assume the adminPath - and perhaps
> > needs
> > >> to be passed as an argument. When you set the adminPath, are you able
> to
> > >> access localhost:8983/solr/statements/admin/cores ?
> > >>
> > >> roman
> > >>
> > >>
> > >> On Wed, Aug 21, 2013 at 7:36 AM, Dmitry Kan 
> > wrote:
> > >>
> > >> > Hi Roman,
> > >> >
> > >> > I have noticed a difference with different solr.xml config contents.
> > It
> > >> is
> > >> > probably legit, but thought to let you know (tests run on fresh
> > >> checkout as
> > >> > of today).
> > >> >
> > >> > As mentioned before, I have two cores configured in solr.xml. If the
> > >> file
> > >> > is:
> > >> >
> > >> > [code]
> > >> > 
> > >> >
> > >> >   
> > >> >> >> > hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
> > >> > 
> > >> > 
> > >> >   
> > >> > 
> > >> > [/code]
> > >> >
> > >> > then the instruction:
> > >> >
> > >> > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> > >> > ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs
> > 60
> > >> -R
> > >> > cms -t /solr/statements -e statements -U 100
> > >> >
> > >> > works just fine. If however the solr.xml has adminPath set to
> "/admin"
> > >> > solrjmeter produces an error:
> > >> >
> > >> > [error]
> > >> > **ERROR**
> > >> >   File "solrjmeter.py", line 1386, in 
> > >> > main(sys.argv)
> > >> >   File "solrjmeter.py", line 1278, in main
> > >> > check_prerequisities(options)
> > >> >   File "solrjmeter.py", line 375, in check_prerequisities
> > >> > error('Cannot find admin pages: %s, please report a bug' %
> apath)
> > >> >   File "solrjmeter.py", line 66, in error
> > >> > traceback.print_stack()
> > >> > Cannot find admin pages: http://localhost:8983/solr/admin, please
> > >> report a
> > >> > bug
> > >> > [/error]
> > >> >
> > >> > With both solr.xml configs the following url returns just fine:
> > >> >
> > >> > http://localhost:8983/solr/statements/admin/system?wt=json
> > >> >
> > >> > Regards,
> > >> >
> > >> > Dmitry
> > >> >
> > >> >
> > >> >
> > >> > On Wed, Aug 14, 2013 at 2:03 PM, Dmitry Kan 
> > >> wrote:
> > >> >
> > >> > > Hi Roman,
> > >> > >
> > >> > > This looks much better, thanks! The ordinary non-comarison mode
> > works.
> > >> > > I'll post here, if there are other findings.
> > >> > >
> > >> > > Thanks for quick turnarounds,
> > >> > >
> > >> > > Dmitry
> > >> > >
> > >> > >
> > >> > > On Wed, Aug 14, 2013 at 1:32 AM, Roman Chyla <
> roman.ch...@gmail.com
> > >> > >wrote:
> > >> > >
> > >> > >> Hi Dmitry, oh yes, late night fixes... :) The latest commit
> should
> > >> make
> > >> > it
> > >> > >> work for you.
> > >> > >> Thanks!
> > >> > >>
> > >> > >> roman
> > >> > >>
> > >> > >>
> > >> > >> On Tue, Aug 13, 2013 at 3:37 AM, Dmitry Kan <
> solrexp...@gmail.com>
> > >> > wrote:
> > >> > >>
> > >> > >> > Hi Roman,
> > >> > >> >
> > >> > >> > Something bad happened in fresh checkout:
> > >> > >> >
> > >> > >> > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> > >> > >> > ./queries/demo/demo.queries -s localhost -p 8983 -a
> > >> --durationInSecs
> > >> > 60
> > >> > >> -R
> > >> > >> > cms -t /solr/statements -e statements -U 100
> > >> > >> >
> > >> > >> > Traceback (most recent call last):
> > >> > >> >   File "solrjmeter.py", line 1392, in 
> > >> > >> > main(sys.argv)
> > >> > >> >   File "solrjmeter.py", line 1347, in main
> > >> > >> > save_into_file('before-test.json',
> > >> simplejson.dumps(before_test))
> > >> > >> >   File
> "/usr/lib/python2.7/dist-packages/simplejson/__init__.py",
> > >> line
> > >> > >

Re: Measuring SOLR performance

2013-09-02 Thread Erick Erickson
filter and facet queries can be freely intermixed, it's not a problem.
What problem are you seeing when you try this?

Best,
Erick


On Mon, Sep 2, 2013 at 7:46 AM, Dmitry Kan  wrote:

> Hi Roman,
>
> What's the format for running the facet+filter queries?
>
> Would something like this work:
>
> field:foo  >=50  fq=other_field:bar facet=true facet.field=facet_field_name
>
>
> Thanks,
> Dmitry
>
>
>
> On Fri, Aug 23, 2013 at 2:34 PM, Dmitry Kan  wrote:
>
> > Hi Roman,
> >
> > With adminPath="/admin" or adminPath="/admin/cores", no. Interestingly
> > enough, though, I can access
> > http://localhost:8983/solr/statements/admin/system
> >
> > But I can access http://localhost:8983/solr/admin/cores, only when with
> > adminPath="/admin/cores" (which suggests that this is the right value to
> be
> > used for cores), and not with adminPath="/admin".
> >
> > Bottom line, these core configuration is not self-evident.
> >
> > Dmitry
> >
> >
> >
> >
> > On Fri, Aug 23, 2013 at 4:18 AM, Roman Chyla  >wrote:
> >
> >> Hi Dmitry,
> >> So it seems solrjmeter should not assume the adminPath - and perhaps
> needs
> >> to be passed as an argument. When you set the adminPath, are you able to
> >> access localhost:8983/solr/statements/admin/cores ?
> >>
> >> roman
> >>
> >>
> >> On Wed, Aug 21, 2013 at 7:36 AM, Dmitry Kan 
> wrote:
> >>
> >> > Hi Roman,
> >> >
> >> > I have noticed a difference with different solr.xml config contents.
> It
> >> is
> >> > probably legit, but thought to let you know (tests run on fresh
> >> checkout as
> >> > of today).
> >> >
> >> > As mentioned before, I have two cores configured in solr.xml. If the
> >> file
> >> > is:
> >> >
> >> > [code]
> >> > 
> >> >
> >> >   
> >> >>> > hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
> >> > 
> >> > 
> >> >   
> >> > 
> >> > [/code]
> >> >
> >> > then the instruction:
> >> >
> >> > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> >> > ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs
> 60
> >> -R
> >> > cms -t /solr/statements -e statements -U 100
> >> >
> >> > works just fine. If however the solr.xml has adminPath set to "/admin"
> >> > solrjmeter produces an error:
> >> >
> >> > [error]
> >> > **ERROR**
> >> >   File "solrjmeter.py", line 1386, in 
> >> > main(sys.argv)
> >> >   File "solrjmeter.py", line 1278, in main
> >> > check_prerequisities(options)
> >> >   File "solrjmeter.py", line 375, in check_prerequisities
> >> > error('Cannot find admin pages: %s, please report a bug' % apath)
> >> >   File "solrjmeter.py", line 66, in error
> >> > traceback.print_stack()
> >> > Cannot find admin pages: http://localhost:8983/solr/admin, please
> >> report a
> >> > bug
> >> > [/error]
> >> >
> >> > With both solr.xml configs the following url returns just fine:
> >> >
> >> > http://localhost:8983/solr/statements/admin/system?wt=json
> >> >
> >> > Regards,
> >> >
> >> > Dmitry
> >> >
> >> >
> >> >
> >> > On Wed, Aug 14, 2013 at 2:03 PM, Dmitry Kan 
> >> wrote:
> >> >
> >> > > Hi Roman,
> >> > >
> >> > > This looks much better, thanks! The ordinary non-comarison mode
> works.
> >> > > I'll post here, if there are other findings.
> >> > >
> >> > > Thanks for quick turnarounds,
> >> > >
> >> > > Dmitry
> >> > >
> >> > >
> >> > > On Wed, Aug 14, 2013 at 1:32 AM, Roman Chyla  >> > >wrote:
> >> > >
> >> > >> Hi Dmitry, oh yes, late night fixes... :) The latest commit should
> >> make
> >> > it
> >> > >> work for you.
> >> > >> Thanks!
> >> > >>
> >> > >> roman
> >> > >>
> >> > >>
> >> > >> On Tue, Aug 13, 2013 at 3:37 AM, Dmitry Kan 
> >> > wrote:
> >> > >>
> >> > >> > Hi Roman,
> >> > >> >
> >> > >> > Something bad happened in fresh checkout:
> >> > >> >
> >> > >> > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> >> > >> > ./queries/demo/demo.queries -s localhost -p 8983 -a
> >> --durationInSecs
> >> > 60
> >> > >> -R
> >> > >> > cms -t /solr/statements -e statements -U 100
> >> > >> >
> >> > >> > Traceback (most recent call last):
> >> > >> >   File "solrjmeter.py", line 1392, in 
> >> > >> > main(sys.argv)
> >> > >> >   File "solrjmeter.py", line 1347, in main
> >> > >> > save_into_file('before-test.json',
> >> simplejson.dumps(before_test))
> >> > >> >   File "/usr/lib/python2.7/dist-packages/simplejson/__init__.py",
> >> line
> >> > >> 286,
> >> > >> > in dumps
> >> > >> > return _default_encoder.encode(obj)
> >> > >> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py",
> >> line
> >> > >> 226,
> >> > >> > in encode
> >> > >> > chunks = self.iterencode(o, _one_shot=True)
> >> > >> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py",
> >> line
> >> > >> 296,
> >> > >> > in iterencode
> >> > >> > return _iterencode(o, 0)
> >> > >> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py",
> >> line
> >> > >> 202,
> >> > >> > in default
> >> > >> > raise TypeError(repr(o) + " is not JSON serializable")
> >> > >> > TypeError: 

Re: Measuring SOLR performance

2013-09-02 Thread Dmitry Kan
Hi Roman,

What's the format for running the facet+filter queries?

Would something like this work:

field:foo  >=50  fq=other_field:bar facet=true facet.field=facet_field_name


Thanks,
Dmitry



On Fri, Aug 23, 2013 at 2:34 PM, Dmitry Kan  wrote:

> Hi Roman,
>
> With adminPath="/admin" or adminPath="/admin/cores", no. Interestingly
> enough, though, I can access
> http://localhost:8983/solr/statements/admin/system
>
> But I can access http://localhost:8983/solr/admin/cores, only when with
> adminPath="/admin/cores" (which suggests that this is the right value to be
> used for cores), and not with adminPath="/admin".
>
> Bottom line, these core configuration is not self-evident.
>
> Dmitry
>
>
>
>
> On Fri, Aug 23, 2013 at 4:18 AM, Roman Chyla wrote:
>
>> Hi Dmitry,
>> So it seems solrjmeter should not assume the adminPath - and perhaps needs
>> to be passed as an argument. When you set the adminPath, are you able to
>> access localhost:8983/solr/statements/admin/cores ?
>>
>> roman
>>
>>
>> On Wed, Aug 21, 2013 at 7:36 AM, Dmitry Kan  wrote:
>>
>> > Hi Roman,
>> >
>> > I have noticed a difference with different solr.xml config contents. It
>> is
>> > probably legit, but thought to let you know (tests run on fresh
>> checkout as
>> > of today).
>> >
>> > As mentioned before, I have two cores configured in solr.xml. If the
>> file
>> > is:
>> >
>> > [code]
>> > 
>> >
>> >   
>> >   > > hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
>> > 
>> > 
>> >   
>> > 
>> > [/code]
>> >
>> > then the instruction:
>> >
>> > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
>> > ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60
>> -R
>> > cms -t /solr/statements -e statements -U 100
>> >
>> > works just fine. If however the solr.xml has adminPath set to "/admin"
>> > solrjmeter produces an error:
>> >
>> > [error]
>> > **ERROR**
>> >   File "solrjmeter.py", line 1386, in 
>> > main(sys.argv)
>> >   File "solrjmeter.py", line 1278, in main
>> > check_prerequisities(options)
>> >   File "solrjmeter.py", line 375, in check_prerequisities
>> > error('Cannot find admin pages: %s, please report a bug' % apath)
>> >   File "solrjmeter.py", line 66, in error
>> > traceback.print_stack()
>> > Cannot find admin pages: http://localhost:8983/solr/admin, please
>> report a
>> > bug
>> > [/error]
>> >
>> > With both solr.xml configs the following url returns just fine:
>> >
>> > http://localhost:8983/solr/statements/admin/system?wt=json
>> >
>> > Regards,
>> >
>> > Dmitry
>> >
>> >
>> >
>> > On Wed, Aug 14, 2013 at 2:03 PM, Dmitry Kan 
>> wrote:
>> >
>> > > Hi Roman,
>> > >
>> > > This looks much better, thanks! The ordinary non-comarison mode works.
>> > > I'll post here, if there are other findings.
>> > >
>> > > Thanks for quick turnarounds,
>> > >
>> > > Dmitry
>> > >
>> > >
>> > > On Wed, Aug 14, 2013 at 1:32 AM, Roman Chyla > > >wrote:
>> > >
>> > >> Hi Dmitry, oh yes, late night fixes... :) The latest commit should
>> make
>> > it
>> > >> work for you.
>> > >> Thanks!
>> > >>
>> > >> roman
>> > >>
>> > >>
>> > >> On Tue, Aug 13, 2013 at 3:37 AM, Dmitry Kan 
>> > wrote:
>> > >>
>> > >> > Hi Roman,
>> > >> >
>> > >> > Something bad happened in fresh checkout:
>> > >> >
>> > >> > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
>> > >> > ./queries/demo/demo.queries -s localhost -p 8983 -a
>> --durationInSecs
>> > 60
>> > >> -R
>> > >> > cms -t /solr/statements -e statements -U 100
>> > >> >
>> > >> > Traceback (most recent call last):
>> > >> >   File "solrjmeter.py", line 1392, in 
>> > >> > main(sys.argv)
>> > >> >   File "solrjmeter.py", line 1347, in main
>> > >> > save_into_file('before-test.json',
>> simplejson.dumps(before_test))
>> > >> >   File "/usr/lib/python2.7/dist-packages/simplejson/__init__.py",
>> line
>> > >> 286,
>> > >> > in dumps
>> > >> > return _default_encoder.encode(obj)
>> > >> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py",
>> line
>> > >> 226,
>> > >> > in encode
>> > >> > chunks = self.iterencode(o, _one_shot=True)
>> > >> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py",
>> line
>> > >> 296,
>> > >> > in iterencode
>> > >> > return _iterencode(o, 0)
>> > >> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py",
>> line
>> > >> 202,
>> > >> > in default
>> > >> > raise TypeError(repr(o) + " is not JSON serializable")
>> > >> > TypeError: <__main__.ForgivingValue object at 0x7fc6d4040fd0> is
>> not
>> > >> JSON
>> > >> > serializable
>> > >> >
>> > >> >
>> > >> > Regards,
>> > >> >
>> > >> > D.
>> > >> >
>> > >> >
>> > >> > On Tue, Aug 13, 2013 at 8:10 AM, Roman Chyla <
>> roman.ch...@gmail.com>
>> > >> > wrote:
>> > >> >
>> > >> > > Hi Dmitry,
>> > >> > >
>> > >> > >
>> > >> > >
>> > >> > > On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan <
>> solrexp...@gmail.com>
>> > >> > wrote:
>> > >> > >
>> > >> > > > Hi Roman,
>> > >> > > >
>> > >> > > > Good point. I mana

Re: Measuring SOLR performance

2013-08-23 Thread Dmitry Kan
Hi Roman,

With adminPath="/admin" or adminPath="/admin/cores", no. Interestingly
enough, though, I can access
http://localhost:8983/solr/statements/admin/system

But I can access http://localhost:8983/solr/admin/cores, only when with
adminPath="/admin/cores" (which suggests that this is the right value to be
used for cores), and not with adminPath="/admin".

Bottom line, these core configuration is not self-evident.

Dmitry




On Fri, Aug 23, 2013 at 4:18 AM, Roman Chyla  wrote:

> Hi Dmitry,
> So it seems solrjmeter should not assume the adminPath - and perhaps needs
> to be passed as an argument. When you set the adminPath, are you able to
> access localhost:8983/solr/statements/admin/cores ?
>
> roman
>
>
> On Wed, Aug 21, 2013 at 7:36 AM, Dmitry Kan  wrote:
>
> > Hi Roman,
> >
> > I have noticed a difference with different solr.xml config contents. It
> is
> > probably legit, but thought to let you know (tests run on fresh checkout
> as
> > of today).
> >
> > As mentioned before, I have two cores configured in solr.xml. If the file
> > is:
> >
> > [code]
> > 
> >
> >   
> >> hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
> > 
> > 
> >   
> > 
> > [/code]
> >
> > then the instruction:
> >
> > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> > ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60
> -R
> > cms -t /solr/statements -e statements -U 100
> >
> > works just fine. If however the solr.xml has adminPath set to "/admin"
> > solrjmeter produces an error:
> >
> > [error]
> > **ERROR**
> >   File "solrjmeter.py", line 1386, in 
> > main(sys.argv)
> >   File "solrjmeter.py", line 1278, in main
> > check_prerequisities(options)
> >   File "solrjmeter.py", line 375, in check_prerequisities
> > error('Cannot find admin pages: %s, please report a bug' % apath)
> >   File "solrjmeter.py", line 66, in error
> > traceback.print_stack()
> > Cannot find admin pages: http://localhost:8983/solr/admin, please
> report a
> > bug
> > [/error]
> >
> > With both solr.xml configs the following url returns just fine:
> >
> > http://localhost:8983/solr/statements/admin/system?wt=json
> >
> > Regards,
> >
> > Dmitry
> >
> >
> >
> > On Wed, Aug 14, 2013 at 2:03 PM, Dmitry Kan 
> wrote:
> >
> > > Hi Roman,
> > >
> > > This looks much better, thanks! The ordinary non-comarison mode works.
> > > I'll post here, if there are other findings.
> > >
> > > Thanks for quick turnarounds,
> > >
> > > Dmitry
> > >
> > >
> > > On Wed, Aug 14, 2013 at 1:32 AM, Roman Chyla  > >wrote:
> > >
> > >> Hi Dmitry, oh yes, late night fixes... :) The latest commit should
> make
> > it
> > >> work for you.
> > >> Thanks!
> > >>
> > >> roman
> > >>
> > >>
> > >> On Tue, Aug 13, 2013 at 3:37 AM, Dmitry Kan 
> > wrote:
> > >>
> > >> > Hi Roman,
> > >> >
> > >> > Something bad happened in fresh checkout:
> > >> >
> > >> > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> > >> > ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs
> > 60
> > >> -R
> > >> > cms -t /solr/statements -e statements -U 100
> > >> >
> > >> > Traceback (most recent call last):
> > >> >   File "solrjmeter.py", line 1392, in 
> > >> > main(sys.argv)
> > >> >   File "solrjmeter.py", line 1347, in main
> > >> > save_into_file('before-test.json',
> simplejson.dumps(before_test))
> > >> >   File "/usr/lib/python2.7/dist-packages/simplejson/__init__.py",
> line
> > >> 286,
> > >> > in dumps
> > >> > return _default_encoder.encode(obj)
> > >> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py",
> line
> > >> 226,
> > >> > in encode
> > >> > chunks = self.iterencode(o, _one_shot=True)
> > >> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py",
> line
> > >> 296,
> > >> > in iterencode
> > >> > return _iterencode(o, 0)
> > >> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py",
> line
> > >> 202,
> > >> > in default
> > >> > raise TypeError(repr(o) + " is not JSON serializable")
> > >> > TypeError: <__main__.ForgivingValue object at 0x7fc6d4040fd0> is not
> > >> JSON
> > >> > serializable
> > >> >
> > >> >
> > >> > Regards,
> > >> >
> > >> > D.
> > >> >
> > >> >
> > >> > On Tue, Aug 13, 2013 at 8:10 AM, Roman Chyla  >
> > >> > wrote:
> > >> >
> > >> > > Hi Dmitry,
> > >> > >
> > >> > >
> > >> > >
> > >> > > On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan  >
> > >> > wrote:
> > >> > >
> > >> > > > Hi Roman,
> > >> > > >
> > >> > > > Good point. I managed to run the command with -C and double
> > quotes:
> > >> > > >
> > >> > > > python solrjmeter.py -a -C "g1,cms" -c hour -x
> > >> ./jmx/SolrQueryTest.jmx
> > >> > > >
> > >> > > > As a result got several files (html, css, js, csv) in the
> running
> > >> > > directory
> > >> > > > (any way to specify where the output should be stored in this
> > case?)
> > >> > > >
> > >> > >
> > >> > > i know it is confusing, i plan to change it - but later, now it is
> > too
> > >> > busy
> > >> >

Re: Measuring SOLR performance

2013-08-22 Thread Roman Chyla
Hi Dmitry,
So it seems solrjmeter should not assume the adminPath - and perhaps needs
to be passed as an argument. When you set the adminPath, are you able to
access localhost:8983/solr/statements/admin/cores ?

roman


On Wed, Aug 21, 2013 at 7:36 AM, Dmitry Kan  wrote:

> Hi Roman,
>
> I have noticed a difference with different solr.xml config contents. It is
> probably legit, but thought to let you know (tests run on fresh checkout as
> of today).
>
> As mentioned before, I have two cores configured in solr.xml. If the file
> is:
>
> [code]
> 
>
>   
>hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
> 
> 
>   
> 
> [/code]
>
> then the instruction:
>
> python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60 -R
> cms -t /solr/statements -e statements -U 100
>
> works just fine. If however the solr.xml has adminPath set to "/admin"
> solrjmeter produces an error:
>
> [error]
> **ERROR**
>   File "solrjmeter.py", line 1386, in 
> main(sys.argv)
>   File "solrjmeter.py", line 1278, in main
> check_prerequisities(options)
>   File "solrjmeter.py", line 375, in check_prerequisities
> error('Cannot find admin pages: %s, please report a bug' % apath)
>   File "solrjmeter.py", line 66, in error
> traceback.print_stack()
> Cannot find admin pages: http://localhost:8983/solr/admin, please report a
> bug
> [/error]
>
> With both solr.xml configs the following url returns just fine:
>
> http://localhost:8983/solr/statements/admin/system?wt=json
>
> Regards,
>
> Dmitry
>
>
>
> On Wed, Aug 14, 2013 at 2:03 PM, Dmitry Kan  wrote:
>
> > Hi Roman,
> >
> > This looks much better, thanks! The ordinary non-comarison mode works.
> > I'll post here, if there are other findings.
> >
> > Thanks for quick turnarounds,
> >
> > Dmitry
> >
> >
> > On Wed, Aug 14, 2013 at 1:32 AM, Roman Chyla  >wrote:
> >
> >> Hi Dmitry, oh yes, late night fixes... :) The latest commit should make
> it
> >> work for you.
> >> Thanks!
> >>
> >> roman
> >>
> >>
> >> On Tue, Aug 13, 2013 at 3:37 AM, Dmitry Kan 
> wrote:
> >>
> >> > Hi Roman,
> >> >
> >> > Something bad happened in fresh checkout:
> >> >
> >> > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> >> > ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs
> 60
> >> -R
> >> > cms -t /solr/statements -e statements -U 100
> >> >
> >> > Traceback (most recent call last):
> >> >   File "solrjmeter.py", line 1392, in 
> >> > main(sys.argv)
> >> >   File "solrjmeter.py", line 1347, in main
> >> > save_into_file('before-test.json', simplejson.dumps(before_test))
> >> >   File "/usr/lib/python2.7/dist-packages/simplejson/__init__.py", line
> >> 286,
> >> > in dumps
> >> > return _default_encoder.encode(obj)
> >> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line
> >> 226,
> >> > in encode
> >> > chunks = self.iterencode(o, _one_shot=True)
> >> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line
> >> 296,
> >> > in iterencode
> >> > return _iterencode(o, 0)
> >> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line
> >> 202,
> >> > in default
> >> > raise TypeError(repr(o) + " is not JSON serializable")
> >> > TypeError: <__main__.ForgivingValue object at 0x7fc6d4040fd0> is not
> >> JSON
> >> > serializable
> >> >
> >> >
> >> > Regards,
> >> >
> >> > D.
> >> >
> >> >
> >> > On Tue, Aug 13, 2013 at 8:10 AM, Roman Chyla 
> >> > wrote:
> >> >
> >> > > Hi Dmitry,
> >> > >
> >> > >
> >> > >
> >> > > On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan 
> >> > wrote:
> >> > >
> >> > > > Hi Roman,
> >> > > >
> >> > > > Good point. I managed to run the command with -C and double
> quotes:
> >> > > >
> >> > > > python solrjmeter.py -a -C "g1,cms" -c hour -x
> >> ./jmx/SolrQueryTest.jmx
> >> > > >
> >> > > > As a result got several files (html, css, js, csv) in the running
> >> > > directory
> >> > > > (any way to specify where the output should be stored in this
> case?)
> >> > > >
> >> > >
> >> > > i know it is confusing, i plan to change it - but later, now it is
> too
> >> > busy
> >> > > here...
> >> > >
> >> > >
> >> > > >
> >> > > > When I look onto the comparison dashboard, I see this:
> >> > > >
> >> > > > http://pbrd.co/17IRI0b
> >> > > >
> >> > >
> >> > > two things: the tests probably took more than one hour to finish, so
> >> they
> >> > > are not aligned - try generating the comparison with '-c  14400'
>  (ie.
> >> > > 4x3600 secs)
> >> > >
> >> > > the other thing: if you have only two datapoints, the dygraph will
> not
> >> > show
> >> > > anything - there must be more datapoints/measurements
> >> > >
> >> > >
> >> > >
> >> > > >
> >> > > > One more thing: all the previous tests were run with softCommit
> >> > disabled.
> >> > > > After enabling it, the tests started to fail:
> >> > > >
> >> > > > $ python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> >> > > > ./queries/demo/demo.quer

Re: Measuring SOLR performance

2013-08-21 Thread Dmitry Kan
Hi Roman,

I have noticed a difference with different solr.xml config contents. It is
probably legit, but thought to let you know (tests run on fresh checkout as
of today).

As mentioned before, I have two cores configured in solr.xml. If the file
is:

[code]


  
  


  

[/code]

then the instruction:

python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60 -R
cms -t /solr/statements -e statements -U 100

works just fine. If however the solr.xml has adminPath set to "/admin"
solrjmeter produces an error:

[error]
**ERROR**
  File "solrjmeter.py", line 1386, in 
main(sys.argv)
  File "solrjmeter.py", line 1278, in main
check_prerequisities(options)
  File "solrjmeter.py", line 375, in check_prerequisities
error('Cannot find admin pages: %s, please report a bug' % apath)
  File "solrjmeter.py", line 66, in error
traceback.print_stack()
Cannot find admin pages: http://localhost:8983/solr/admin, please report a
bug
[/error]

With both solr.xml configs the following url returns just fine:

http://localhost:8983/solr/statements/admin/system?wt=json

Regards,

Dmitry



On Wed, Aug 14, 2013 at 2:03 PM, Dmitry Kan  wrote:

> Hi Roman,
>
> This looks much better, thanks! The ordinary non-comarison mode works.
> I'll post here, if there are other findings.
>
> Thanks for quick turnarounds,
>
> Dmitry
>
>
> On Wed, Aug 14, 2013 at 1:32 AM, Roman Chyla wrote:
>
>> Hi Dmitry, oh yes, late night fixes... :) The latest commit should make it
>> work for you.
>> Thanks!
>>
>> roman
>>
>>
>> On Tue, Aug 13, 2013 at 3:37 AM, Dmitry Kan  wrote:
>>
>> > Hi Roman,
>> >
>> > Something bad happened in fresh checkout:
>> >
>> > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
>> > ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60
>> -R
>> > cms -t /solr/statements -e statements -U 100
>> >
>> > Traceback (most recent call last):
>> >   File "solrjmeter.py", line 1392, in 
>> > main(sys.argv)
>> >   File "solrjmeter.py", line 1347, in main
>> > save_into_file('before-test.json', simplejson.dumps(before_test))
>> >   File "/usr/lib/python2.7/dist-packages/simplejson/__init__.py", line
>> 286,
>> > in dumps
>> > return _default_encoder.encode(obj)
>> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line
>> 226,
>> > in encode
>> > chunks = self.iterencode(o, _one_shot=True)
>> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line
>> 296,
>> > in iterencode
>> > return _iterencode(o, 0)
>> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line
>> 202,
>> > in default
>> > raise TypeError(repr(o) + " is not JSON serializable")
>> > TypeError: <__main__.ForgivingValue object at 0x7fc6d4040fd0> is not
>> JSON
>> > serializable
>> >
>> >
>> > Regards,
>> >
>> > D.
>> >
>> >
>> > On Tue, Aug 13, 2013 at 8:10 AM, Roman Chyla 
>> > wrote:
>> >
>> > > Hi Dmitry,
>> > >
>> > >
>> > >
>> > > On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan 
>> > wrote:
>> > >
>> > > > Hi Roman,
>> > > >
>> > > > Good point. I managed to run the command with -C and double quotes:
>> > > >
>> > > > python solrjmeter.py -a -C "g1,cms" -c hour -x
>> ./jmx/SolrQueryTest.jmx
>> > > >
>> > > > As a result got several files (html, css, js, csv) in the running
>> > > directory
>> > > > (any way to specify where the output should be stored in this case?)
>> > > >
>> > >
>> > > i know it is confusing, i plan to change it - but later, now it is too
>> > busy
>> > > here...
>> > >
>> > >
>> > > >
>> > > > When I look onto the comparison dashboard, I see this:
>> > > >
>> > > > http://pbrd.co/17IRI0b
>> > > >
>> > >
>> > > two things: the tests probably took more than one hour to finish, so
>> they
>> > > are not aligned - try generating the comparison with '-c  14400'  (ie.
>> > > 4x3600 secs)
>> > >
>> > > the other thing: if you have only two datapoints, the dygraph will not
>> > show
>> > > anything - there must be more datapoints/measurements
>> > >
>> > >
>> > >
>> > > >
>> > > > One more thing: all the previous tests were run with softCommit
>> > disabled.
>> > > > After enabling it, the tests started to fail:
>> > > >
>> > > > $ python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
>> > > > ./queries/demo/demo.queries -s localhost -p 8983 -a
>> --durationInSecs 60
>> > > -R
>> > > > g1 -t /solr/statements -e statements -U 100
>> > > > $ cd g1
>> > > > Reading results of the previous test
>> > > > $ cd 2013.08.12.16.32.48
>> > > > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter/g1
>> > > > $ mkdir 2013.08.12.16.33.02
>> > > > $ cd 2013.08.12.16.33.02
>> > > > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter/g1
>> > > > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter
>> > > > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter
>> > > > Traceback (most recent call last):
>> > > >   File "solrjmeter.py", line 1427, in 
>> > > > main(sys.argv)
>> > > >   Fil

Re: Measuring SOLR performance

2013-08-14 Thread Dmitry Kan
Hi Roman,

This looks much better, thanks! The ordinary non-comarison mode works. I'll
post here, if there are other findings.

Thanks for quick turnarounds,

Dmitry


On Wed, Aug 14, 2013 at 1:32 AM, Roman Chyla  wrote:

> Hi Dmitry, oh yes, late night fixes... :) The latest commit should make it
> work for you.
> Thanks!
>
> roman
>
>
> On Tue, Aug 13, 2013 at 3:37 AM, Dmitry Kan  wrote:
>
> > Hi Roman,
> >
> > Something bad happened in fresh checkout:
> >
> > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> > ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60
> -R
> > cms -t /solr/statements -e statements -U 100
> >
> > Traceback (most recent call last):
> >   File "solrjmeter.py", line 1392, in 
> > main(sys.argv)
> >   File "solrjmeter.py", line 1347, in main
> > save_into_file('before-test.json', simplejson.dumps(before_test))
> >   File "/usr/lib/python2.7/dist-packages/simplejson/__init__.py", line
> 286,
> > in dumps
> > return _default_encoder.encode(obj)
> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line
> 226,
> > in encode
> > chunks = self.iterencode(o, _one_shot=True)
> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line
> 296,
> > in iterencode
> > return _iterencode(o, 0)
> >   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line
> 202,
> > in default
> > raise TypeError(repr(o) + " is not JSON serializable")
> > TypeError: <__main__.ForgivingValue object at 0x7fc6d4040fd0> is not JSON
> > serializable
> >
> >
> > Regards,
> >
> > D.
> >
> >
> > On Tue, Aug 13, 2013 at 8:10 AM, Roman Chyla 
> > wrote:
> >
> > > Hi Dmitry,
> > >
> > >
> > >
> > > On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan 
> > wrote:
> > >
> > > > Hi Roman,
> > > >
> > > > Good point. I managed to run the command with -C and double quotes:
> > > >
> > > > python solrjmeter.py -a -C "g1,cms" -c hour -x
> ./jmx/SolrQueryTest.jmx
> > > >
> > > > As a result got several files (html, css, js, csv) in the running
> > > directory
> > > > (any way to specify where the output should be stored in this case?)
> > > >
> > >
> > > i know it is confusing, i plan to change it - but later, now it is too
> > busy
> > > here...
> > >
> > >
> > > >
> > > > When I look onto the comparison dashboard, I see this:
> > > >
> > > > http://pbrd.co/17IRI0b
> > > >
> > >
> > > two things: the tests probably took more than one hour to finish, so
> they
> > > are not aligned - try generating the comparison with '-c  14400'  (ie.
> > > 4x3600 secs)
> > >
> > > the other thing: if you have only two datapoints, the dygraph will not
> > show
> > > anything - there must be more datapoints/measurements
> > >
> > >
> > >
> > > >
> > > > One more thing: all the previous tests were run with softCommit
> > disabled.
> > > > After enabling it, the tests started to fail:
> > > >
> > > > $ python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> > > > ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs
> 60
> > > -R
> > > > g1 -t /solr/statements -e statements -U 100
> > > > $ cd g1
> > > > Reading results of the previous test
> > > > $ cd 2013.08.12.16.32.48
> > > > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter/g1
> > > > $ mkdir 2013.08.12.16.33.02
> > > > $ cd 2013.08.12.16.33.02
> > > > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter/g1
> > > > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter
> > > > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter
> > > > Traceback (most recent call last):
> > > >   File "solrjmeter.py", line 1427, in 
> > > > main(sys.argv)
> > > >   File "solrjmeter.py", line 1381, in main
> > > > before_test = harvest_details_about_montysolr(options)
> > > >   File "solrjmeter.py", line 562, in harvest_details_about_montysolr
> > > > indexLstModified =
> > cores_data['status'][cn]['index']['lastModified'],
> > > > KeyError: 'lastModified'
> > > >
> > >
> > > Thanks for letting me know, that info is probably not available in this
> > > situation - i've cooked st quick to fix it, please try the latest
> commit
> > > (hope it doesn't do more harm, i should get some sleep ..;))
> > >
> > > roman
> > >
> > >
> > > >
> > > > In case it matters:  Python 2.7.3, ubuntu, solr 4.3.1.
> > > >
> > > > Thanks,
> > > >
> > > > Dmitry
> > > >
> > > >
> > > > On Thu, Aug 8, 2013 at 2:22 AM, Roman Chyla 
> > > wrote:
> > > >
> > > > > Hi Dmitry,
> > > > > The command seems good. Are you sure your shell is not doing
> > something
> > > > > funny with the params? You could try:
> > > > >
> > > > > python solrjmeter.py -C "g1,foo" -c hour -x ./jmx/SolrQueryTest.jmx
> > -a
> > > > >
> > > > > where g1 and foo are results of the individual runs, ie. something
> > that
> > > > was
> > > > > started and saved with '-R g1' and '-R foo' respectively
> > > > >
> > > > > so, for example, i have these comparisons inside
> > > > > '/var/lib/montysolr/different-java-settings/solrjmeter', so I am
> > > > generatin

Re: Measuring SOLR performance

2013-08-13 Thread Roman Chyla
Hi Dmitry, oh yes, late night fixes... :) The latest commit should make it
work for you.
Thanks!

roman


On Tue, Aug 13, 2013 at 3:37 AM, Dmitry Kan  wrote:

> Hi Roman,
>
> Something bad happened in fresh checkout:
>
> python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60 -R
> cms -t /solr/statements -e statements -U 100
>
> Traceback (most recent call last):
>   File "solrjmeter.py", line 1392, in 
> main(sys.argv)
>   File "solrjmeter.py", line 1347, in main
> save_into_file('before-test.json', simplejson.dumps(before_test))
>   File "/usr/lib/python2.7/dist-packages/simplejson/__init__.py", line 286,
> in dumps
> return _default_encoder.encode(obj)
>   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line 226,
> in encode
> chunks = self.iterencode(o, _one_shot=True)
>   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line 296,
> in iterencode
> return _iterencode(o, 0)
>   File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line 202,
> in default
> raise TypeError(repr(o) + " is not JSON serializable")
> TypeError: <__main__.ForgivingValue object at 0x7fc6d4040fd0> is not JSON
> serializable
>
>
> Regards,
>
> D.
>
>
> On Tue, Aug 13, 2013 at 8:10 AM, Roman Chyla 
> wrote:
>
> > Hi Dmitry,
> >
> >
> >
> > On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan 
> wrote:
> >
> > > Hi Roman,
> > >
> > > Good point. I managed to run the command with -C and double quotes:
> > >
> > > python solrjmeter.py -a -C "g1,cms" -c hour -x ./jmx/SolrQueryTest.jmx
> > >
> > > As a result got several files (html, css, js, csv) in the running
> > directory
> > > (any way to specify where the output should be stored in this case?)
> > >
> >
> > i know it is confusing, i plan to change it - but later, now it is too
> busy
> > here...
> >
> >
> > >
> > > When I look onto the comparison dashboard, I see this:
> > >
> > > http://pbrd.co/17IRI0b
> > >
> >
> > two things: the tests probably took more than one hour to finish, so they
> > are not aligned - try generating the comparison with '-c  14400'  (ie.
> > 4x3600 secs)
> >
> > the other thing: if you have only two datapoints, the dygraph will not
> show
> > anything - there must be more datapoints/measurements
> >
> >
> >
> > >
> > > One more thing: all the previous tests were run with softCommit
> disabled.
> > > After enabling it, the tests started to fail:
> > >
> > > $ python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> > > ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60
> > -R
> > > g1 -t /solr/statements -e statements -U 100
> > > $ cd g1
> > > Reading results of the previous test
> > > $ cd 2013.08.12.16.32.48
> > > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter/g1
> > > $ mkdir 2013.08.12.16.33.02
> > > $ cd 2013.08.12.16.33.02
> > > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter/g1
> > > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter
> > > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter
> > > Traceback (most recent call last):
> > >   File "solrjmeter.py", line 1427, in 
> > > main(sys.argv)
> > >   File "solrjmeter.py", line 1381, in main
> > > before_test = harvest_details_about_montysolr(options)
> > >   File "solrjmeter.py", line 562, in harvest_details_about_montysolr
> > > indexLstModified =
> cores_data['status'][cn]['index']['lastModified'],
> > > KeyError: 'lastModified'
> > >
> >
> > Thanks for letting me know, that info is probably not available in this
> > situation - i've cooked st quick to fix it, please try the latest commit
> > (hope it doesn't do more harm, i should get some sleep ..;))
> >
> > roman
> >
> >
> > >
> > > In case it matters:  Python 2.7.3, ubuntu, solr 4.3.1.
> > >
> > > Thanks,
> > >
> > > Dmitry
> > >
> > >
> > > On Thu, Aug 8, 2013 at 2:22 AM, Roman Chyla 
> > wrote:
> > >
> > > > Hi Dmitry,
> > > > The command seems good. Are you sure your shell is not doing
> something
> > > > funny with the params? You could try:
> > > >
> > > > python solrjmeter.py -C "g1,foo" -c hour -x ./jmx/SolrQueryTest.jmx
> -a
> > > >
> > > > where g1 and foo are results of the individual runs, ie. something
> that
> > > was
> > > > started and saved with '-R g1' and '-R foo' respectively
> > > >
> > > > so, for example, i have these comparisons inside
> > > > '/var/lib/montysolr/different-java-settings/solrjmeter', so I am
> > > generating
> > > > the comparison by:
> > > >
> > > > export
> > > > SOLRJMETER_HOME=/var/lib/montysolr/different-java-settings/solrjmeter
> > > > python solrjmeter.py -C "g1,foo" -c hour -x ./jmx/SolrQueryTest.jmx
> -a
> > > >
> > > >
> > > > roman
> > > >
> > > >
> > > > On Wed, Aug 7, 2013 at 10:03 AM, Dmitry Kan 
> > > wrote:
> > > >
> > > > > Hi Roman,
> > > > >
> > > > > One more question. I tried to compare different runs (g1 vs cms)
> > using
> > > > the
> > > > > command below, but get an error. Should I attach some other
> pa

Re: Measuring SOLR performance

2013-08-13 Thread Dmitry Kan
Hi Roman,

Something bad happened in fresh checkout:

python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60 -R
cms -t /solr/statements -e statements -U 100

Traceback (most recent call last):
  File "solrjmeter.py", line 1392, in 
main(sys.argv)
  File "solrjmeter.py", line 1347, in main
save_into_file('before-test.json', simplejson.dumps(before_test))
  File "/usr/lib/python2.7/dist-packages/simplejson/__init__.py", line 286,
in dumps
return _default_encoder.encode(obj)
  File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line 226,
in encode
chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line 296,
in iterencode
return _iterencode(o, 0)
  File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line 202,
in default
raise TypeError(repr(o) + " is not JSON serializable")
TypeError: <__main__.ForgivingValue object at 0x7fc6d4040fd0> is not JSON
serializable


Regards,

D.


On Tue, Aug 13, 2013 at 8:10 AM, Roman Chyla  wrote:

> Hi Dmitry,
>
>
>
> On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan  wrote:
>
> > Hi Roman,
> >
> > Good point. I managed to run the command with -C and double quotes:
> >
> > python solrjmeter.py -a -C "g1,cms" -c hour -x ./jmx/SolrQueryTest.jmx
> >
> > As a result got several files (html, css, js, csv) in the running
> directory
> > (any way to specify where the output should be stored in this case?)
> >
>
> i know it is confusing, i plan to change it - but later, now it is too busy
> here...
>
>
> >
> > When I look onto the comparison dashboard, I see this:
> >
> > http://pbrd.co/17IRI0b
> >
>
> two things: the tests probably took more than one hour to finish, so they
> are not aligned - try generating the comparison with '-c  14400'  (ie.
> 4x3600 secs)
>
> the other thing: if you have only two datapoints, the dygraph will not show
> anything - there must be more datapoints/measurements
>
>
>
> >
> > One more thing: all the previous tests were run with softCommit disabled.
> > After enabling it, the tests started to fail:
> >
> > $ python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> > ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60
> -R
> > g1 -t /solr/statements -e statements -U 100
> > $ cd g1
> > Reading results of the previous test
> > $ cd 2013.08.12.16.32.48
> > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter/g1
> > $ mkdir 2013.08.12.16.33.02
> > $ cd 2013.08.12.16.33.02
> > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter/g1
> > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter
> > $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter
> > Traceback (most recent call last):
> >   File "solrjmeter.py", line 1427, in 
> > main(sys.argv)
> >   File "solrjmeter.py", line 1381, in main
> > before_test = harvest_details_about_montysolr(options)
> >   File "solrjmeter.py", line 562, in harvest_details_about_montysolr
> > indexLstModified = cores_data['status'][cn]['index']['lastModified'],
> > KeyError: 'lastModified'
> >
>
> Thanks for letting me know, that info is probably not available in this
> situation - i've cooked st quick to fix it, please try the latest commit
> (hope it doesn't do more harm, i should get some sleep ..;))
>
> roman
>
>
> >
> > In case it matters:  Python 2.7.3, ubuntu, solr 4.3.1.
> >
> > Thanks,
> >
> > Dmitry
> >
> >
> > On Thu, Aug 8, 2013 at 2:22 AM, Roman Chyla 
> wrote:
> >
> > > Hi Dmitry,
> > > The command seems good. Are you sure your shell is not doing something
> > > funny with the params? You could try:
> > >
> > > python solrjmeter.py -C "g1,foo" -c hour -x ./jmx/SolrQueryTest.jmx -a
> > >
> > > where g1 and foo are results of the individual runs, ie. something that
> > was
> > > started and saved with '-R g1' and '-R foo' respectively
> > >
> > > so, for example, i have these comparisons inside
> > > '/var/lib/montysolr/different-java-settings/solrjmeter', so I am
> > generating
> > > the comparison by:
> > >
> > > export
> > > SOLRJMETER_HOME=/var/lib/montysolr/different-java-settings/solrjmeter
> > > python solrjmeter.py -C "g1,foo" -c hour -x ./jmx/SolrQueryTest.jmx -a
> > >
> > >
> > > roman
> > >
> > >
> > > On Wed, Aug 7, 2013 at 10:03 AM, Dmitry Kan 
> > wrote:
> > >
> > > > Hi Roman,
> > > >
> > > > One more question. I tried to compare different runs (g1 vs cms)
> using
> > > the
> > > > command below, but get an error. Should I attach some other param(s)?
> > > >
> > > >
> > > > python solrjmeter.py -C g1,foo -c hour -x ./jmx/SolrQueryTest.jmx
> > > > **ERROR**
> > > >   File "solrjmeter.py", line 1427, in 
> > > > main(sys.argv)
> > > >   File "solrjmeter.py", line 1303, in main
> > > > check_options(options, args)
> > > >   File "solrjmeter.py", line 185, in check_options
> > > > error("The folder '%s' does not exist" % rf)
> > > >   File "solrjmeter.py", line 66, in error
> > > > traceback.

Re: Measuring SOLR performance

2013-08-12 Thread Roman Chyla
Hi Dmitry,



On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan  wrote:

> Hi Roman,
>
> Good point. I managed to run the command with -C and double quotes:
>
> python solrjmeter.py -a -C "g1,cms" -c hour -x ./jmx/SolrQueryTest.jmx
>
> As a result got several files (html, css, js, csv) in the running directory
> (any way to specify where the output should be stored in this case?)
>

i know it is confusing, i plan to change it - but later, now it is too busy
here...


>
> When I look onto the comparison dashboard, I see this:
>
> http://pbrd.co/17IRI0b
>

two things: the tests probably took more than one hour to finish, so they
are not aligned - try generating the comparison with '-c  14400'  (ie.
4x3600 secs)

the other thing: if you have only two datapoints, the dygraph will not show
anything - there must be more datapoints/measurements



>
> One more thing: all the previous tests were run with softCommit disabled.
> After enabling it, the tests started to fail:
>
> $ python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60 -R
> g1 -t /solr/statements -e statements -U 100
> $ cd g1
> Reading results of the previous test
> $ cd 2013.08.12.16.32.48
> $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter/g1
> $ mkdir 2013.08.12.16.33.02
> $ cd 2013.08.12.16.33.02
> $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter/g1
> $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter
> $ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter
> Traceback (most recent call last):
>   File "solrjmeter.py", line 1427, in 
> main(sys.argv)
>   File "solrjmeter.py", line 1381, in main
> before_test = harvest_details_about_montysolr(options)
>   File "solrjmeter.py", line 562, in harvest_details_about_montysolr
> indexLstModified = cores_data['status'][cn]['index']['lastModified'],
> KeyError: 'lastModified'
>

Thanks for letting me know, that info is probably not available in this
situation - i've cooked st quick to fix it, please try the latest commit
(hope it doesn't do more harm, i should get some sleep ..;))

roman


>
> In case it matters:  Python 2.7.3, ubuntu, solr 4.3.1.
>
> Thanks,
>
> Dmitry
>
>
> On Thu, Aug 8, 2013 at 2:22 AM, Roman Chyla  wrote:
>
> > Hi Dmitry,
> > The command seems good. Are you sure your shell is not doing something
> > funny with the params? You could try:
> >
> > python solrjmeter.py -C "g1,foo" -c hour -x ./jmx/SolrQueryTest.jmx -a
> >
> > where g1 and foo are results of the individual runs, ie. something that
> was
> > started and saved with '-R g1' and '-R foo' respectively
> >
> > so, for example, i have these comparisons inside
> > '/var/lib/montysolr/different-java-settings/solrjmeter', so I am
> generating
> > the comparison by:
> >
> > export
> > SOLRJMETER_HOME=/var/lib/montysolr/different-java-settings/solrjmeter
> > python solrjmeter.py -C "g1,foo" -c hour -x ./jmx/SolrQueryTest.jmx -a
> >
> >
> > roman
> >
> >
> > On Wed, Aug 7, 2013 at 10:03 AM, Dmitry Kan 
> wrote:
> >
> > > Hi Roman,
> > >
> > > One more question. I tried to compare different runs (g1 vs cms) using
> > the
> > > command below, but get an error. Should I attach some other param(s)?
> > >
> > >
> > > python solrjmeter.py -C g1,foo -c hour -x ./jmx/SolrQueryTest.jmx
> > > **ERROR**
> > >   File "solrjmeter.py", line 1427, in 
> > > main(sys.argv)
> > >   File "solrjmeter.py", line 1303, in main
> > > check_options(options, args)
> > >   File "solrjmeter.py", line 185, in check_options
> > > error("The folder '%s' does not exist" % rf)
> > >   File "solrjmeter.py", line 66, in error
> > > traceback.print_stack()
> > > The folder '0' does not exist
> > >
> > > Dmitry
> > >
> > >
> > >
> > >
> > > On Wed, Aug 7, 2013 at 4:13 PM, Dmitry Kan 
> wrote:
> > >
> > > > Hi Roman,
> > > >
> > > > Finally, this has worked! Thanks for quick support.
> > > >
> > > > The graphs look awesome. At least on the index sample :) It is quite
> > easy
> > > > to setup and run + possible to run directly on the shard server in
> > > > background mode.
> > > >
> > > > my test run was:
> > > >
> > > > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> > > > ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs
> 60
> > > -R
> > > > foo -t /solr/statements -e statements
> > > >
> > > > Thanks!
> > > >
> > > > Dmitry
> > > >
> > > >
> > > > On Wed, Aug 7, 2013 at 6:54 AM, Roman Chyla 
> > > wrote:
> > > >
> > > >> Hi Dmitry,
> > > >>
> > > >> I've modified the solrjmeter to retrieve data from under the core
> (the
> > > -t
> > > >> parameter) and the rest from the /solr/admin - I could test it only
> > > >> against
> > > >> 4.0, but it is there the same as 4.3 - it seems...so you can try the
> > > fresh
> > > >> checkout
> > > >>
> > > >> my test was: python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -t
> > > >> /solr/collection1 -R foo -q ./queries/demo/* -p 9002 -s adsate
> > > >>
> > > >> Thanks!
> > > >>
> > > >> roman
> > 

Re: Measuring SOLR performance

2013-08-12 Thread Dmitry Kan
Hi Roman,

Good point. I managed to run the command with -C and double quotes:

python solrjmeter.py -a -C "g1,cms" -c hour -x ./jmx/SolrQueryTest.jmx

As a result got several files (html, css, js, csv) in the running directory
(any way to specify where the output should be stored in this case?)

When I look onto the comparison dashboard, I see this:

http://pbrd.co/17IRI0b


One more thing: all the previous tests were run with softCommit disabled.
After enabling it, the tests started to fail:

$ python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60 -R
g1 -t /solr/statements -e statements -U 100
$ cd g1
Reading results of the previous test
$ cd 2013.08.12.16.32.48
$ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter/g1
$ mkdir 2013.08.12.16.33.02
$ cd 2013.08.12.16.33.02
$ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter/g1
$ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter
$ cd /home/dmitry/projects/lab/solrjmeter4/solrjmeter
Traceback (most recent call last):
  File "solrjmeter.py", line 1427, in 
main(sys.argv)
  File "solrjmeter.py", line 1381, in main
before_test = harvest_details_about_montysolr(options)
  File "solrjmeter.py", line 562, in harvest_details_about_montysolr
indexLstModified = cores_data['status'][cn]['index']['lastModified'],
KeyError: 'lastModified'

In case it matters:  Python 2.7.3, ubuntu, solr 4.3.1.

Thanks,

Dmitry


On Thu, Aug 8, 2013 at 2:22 AM, Roman Chyla  wrote:

> Hi Dmitry,
> The command seems good. Are you sure your shell is not doing something
> funny with the params? You could try:
>
> python solrjmeter.py -C "g1,foo" -c hour -x ./jmx/SolrQueryTest.jmx -a
>
> where g1 and foo are results of the individual runs, ie. something that was
> started and saved with '-R g1' and '-R foo' respectively
>
> so, for example, i have these comparisons inside
> '/var/lib/montysolr/different-java-settings/solrjmeter', so I am generating
> the comparison by:
>
> export
> SOLRJMETER_HOME=/var/lib/montysolr/different-java-settings/solrjmeter
> python solrjmeter.py -C "g1,foo" -c hour -x ./jmx/SolrQueryTest.jmx -a
>
>
> roman
>
>
> On Wed, Aug 7, 2013 at 10:03 AM, Dmitry Kan  wrote:
>
> > Hi Roman,
> >
> > One more question. I tried to compare different runs (g1 vs cms) using
> the
> > command below, but get an error. Should I attach some other param(s)?
> >
> >
> > python solrjmeter.py -C g1,foo -c hour -x ./jmx/SolrQueryTest.jmx
> > **ERROR**
> >   File "solrjmeter.py", line 1427, in 
> > main(sys.argv)
> >   File "solrjmeter.py", line 1303, in main
> > check_options(options, args)
> >   File "solrjmeter.py", line 185, in check_options
> > error("The folder '%s' does not exist" % rf)
> >   File "solrjmeter.py", line 66, in error
> > traceback.print_stack()
> > The folder '0' does not exist
> >
> > Dmitry
> >
> >
> >
> >
> > On Wed, Aug 7, 2013 at 4:13 PM, Dmitry Kan  wrote:
> >
> > > Hi Roman,
> > >
> > > Finally, this has worked! Thanks for quick support.
> > >
> > > The graphs look awesome. At least on the index sample :) It is quite
> easy
> > > to setup and run + possible to run directly on the shard server in
> > > background mode.
> > >
> > > my test run was:
> > >
> > > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> > > ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60
> > -R
> > > foo -t /solr/statements -e statements
> > >
> > > Thanks!
> > >
> > > Dmitry
> > >
> > >
> > > On Wed, Aug 7, 2013 at 6:54 AM, Roman Chyla 
> > wrote:
> > >
> > >> Hi Dmitry,
> > >>
> > >> I've modified the solrjmeter to retrieve data from under the core (the
> > -t
> > >> parameter) and the rest from the /solr/admin - I could test it only
> > >> against
> > >> 4.0, but it is there the same as 4.3 - it seems...so you can try the
> > fresh
> > >> checkout
> > >>
> > >> my test was: python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -t
> > >> /solr/collection1 -R foo -q ./queries/demo/* -p 9002 -s adsate
> > >>
> > >> Thanks!
> > >>
> > >> roman
> > >>
> > >>
> > >> On Tue, Aug 6, 2013 at 9:46 AM, Dmitry Kan 
> > wrote:
> > >>
> > >> > Hi,
> > >> >
> > >> > Thanks for the clarification, Shawn!
> > >> >
> > >> > So with this in mind, the following work:
> > >> >
> > >> > http://localhost:8983/solr/statements/admin/system?wt=json
> > >> > http://localhost:8983/solr/statements/admin/mbeans?wt=json
> > >> >
> > >> > not copying their output to save space.
> > >> >
> > >> > Roman:
> > >> >
> > >> > is this something that should be set via -t parameter as well?
> > >> >
> > >> > Dmitry
> > >> >
> > >> >
> > >> >
> > >> > On Tue, Aug 6, 2013 at 4:34 PM, Shawn Heisey 
> > wrote:
> > >> >
> > >> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> > >> > > > Of three URLs you asked for, only the 3rd one gave response:
> > >> > > 
> > >> > > > The rest report 404.
> > >> > > >
> > >> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <
> > roman.ch...@gmail.com>
> > >> > > wrote:
> > >> 

Re: Measuring SOLR performance

2013-08-07 Thread Roman Chyla
Hi Dmitry,
The command seems good. Are you sure your shell is not doing something
funny with the params? You could try:

python solrjmeter.py -C "g1,foo" -c hour -x ./jmx/SolrQueryTest.jmx -a

where g1 and foo are results of the individual runs, ie. something that was
started and saved with '-R g1' and '-R foo' respectively

so, for example, i have these comparisons inside
'/var/lib/montysolr/different-java-settings/solrjmeter', so I am generating
the comparison by:

export SOLRJMETER_HOME=/var/lib/montysolr/different-java-settings/solrjmeter
python solrjmeter.py -C "g1,foo" -c hour -x ./jmx/SolrQueryTest.jmx -a


roman


On Wed, Aug 7, 2013 at 10:03 AM, Dmitry Kan  wrote:

> Hi Roman,
>
> One more question. I tried to compare different runs (g1 vs cms) using the
> command below, but get an error. Should I attach some other param(s)?
>
>
> python solrjmeter.py -C g1,foo -c hour -x ./jmx/SolrQueryTest.jmx
> **ERROR**
>   File "solrjmeter.py", line 1427, in 
> main(sys.argv)
>   File "solrjmeter.py", line 1303, in main
> check_options(options, args)
>   File "solrjmeter.py", line 185, in check_options
> error("The folder '%s' does not exist" % rf)
>   File "solrjmeter.py", line 66, in error
> traceback.print_stack()
> The folder '0' does not exist
>
> Dmitry
>
>
>
>
> On Wed, Aug 7, 2013 at 4:13 PM, Dmitry Kan  wrote:
>
> > Hi Roman,
> >
> > Finally, this has worked! Thanks for quick support.
> >
> > The graphs look awesome. At least on the index sample :) It is quite easy
> > to setup and run + possible to run directly on the shard server in
> > background mode.
> >
> > my test run was:
> >
> > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> > ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60
> -R
> > foo -t /solr/statements -e statements
> >
> > Thanks!
> >
> > Dmitry
> >
> >
> > On Wed, Aug 7, 2013 at 6:54 AM, Roman Chyla 
> wrote:
> >
> >> Hi Dmitry,
> >>
> >> I've modified the solrjmeter to retrieve data from under the core (the
> -t
> >> parameter) and the rest from the /solr/admin - I could test it only
> >> against
> >> 4.0, but it is there the same as 4.3 - it seems...so you can try the
> fresh
> >> checkout
> >>
> >> my test was: python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -t
> >> /solr/collection1 -R foo -q ./queries/demo/* -p 9002 -s adsate
> >>
> >> Thanks!
> >>
> >> roman
> >>
> >>
> >> On Tue, Aug 6, 2013 at 9:46 AM, Dmitry Kan 
> wrote:
> >>
> >> > Hi,
> >> >
> >> > Thanks for the clarification, Shawn!
> >> >
> >> > So with this in mind, the following work:
> >> >
> >> > http://localhost:8983/solr/statements/admin/system?wt=json
> >> > http://localhost:8983/solr/statements/admin/mbeans?wt=json
> >> >
> >> > not copying their output to save space.
> >> >
> >> > Roman:
> >> >
> >> > is this something that should be set via -t parameter as well?
> >> >
> >> > Dmitry
> >> >
> >> >
> >> >
> >> > On Tue, Aug 6, 2013 at 4:34 PM, Shawn Heisey 
> wrote:
> >> >
> >> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> >> > > > Of three URLs you asked for, only the 3rd one gave response:
> >> > > 
> >> > > > The rest report 404.
> >> > > >
> >> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <
> roman.ch...@gmail.com>
> >> > > wrote:
> >> > > >
> >> > > >> Hi Dmitry,
> >> > > >> So I think the admin pages are different on your version of solr,
> >> what
> >> > > do
> >> > > >> you see when you request... ?
> >> > > >>
> >> > > >> http://localhost:8983/solr/admin/system?wt=json
> >> > > >> http://localhost:8983/solr/admin/mbeans?wt=json
> >> > > >> http://localhost:8983/solr/admin/cores?wt=json
> >> > >
> >> > > Unless you have a valid defaultCoreName set in your (old-style)
> >> > > solr.xml, the first two URLs won't work, as you've discovered.
> >>  Without
> >> > > that valid defaultCoreName (or if you wanted info from a different
> >> > > core), you'd need to add a core name to the URL for them to work.
> >> > >
> >> > > The third one, which works for you, is a global handler for
> >> manipulating
> >> > > cores, so naturally it doesn't need a core name to function.  The
> URL
> >> > > path for this handler is defined by solr.xml.
> >> > >
> >> > > Thanks,
> >> > > Shawn
> >> > >
> >> > >
> >> >
> >>
> >
> >
>


Re: Measuring SOLR performance

2013-08-07 Thread Dmitry Kan
Hi Roman,

One more question. I tried to compare different runs (g1 vs cms) using the
command below, but get an error. Should I attach some other param(s)?


python solrjmeter.py -C g1,foo -c hour -x ./jmx/SolrQueryTest.jmx
**ERROR**
  File "solrjmeter.py", line 1427, in 
main(sys.argv)
  File "solrjmeter.py", line 1303, in main
check_options(options, args)
  File "solrjmeter.py", line 185, in check_options
error("The folder '%s' does not exist" % rf)
  File "solrjmeter.py", line 66, in error
traceback.print_stack()
The folder '0' does not exist

Dmitry




On Wed, Aug 7, 2013 at 4:13 PM, Dmitry Kan  wrote:

> Hi Roman,
>
> Finally, this has worked! Thanks for quick support.
>
> The graphs look awesome. At least on the index sample :) It is quite easy
> to setup and run + possible to run directly on the shard server in
> background mode.
>
> my test run was:
>
> python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60 -R
> foo -t /solr/statements -e statements
>
> Thanks!
>
> Dmitry
>
>
> On Wed, Aug 7, 2013 at 6:54 AM, Roman Chyla  wrote:
>
>> Hi Dmitry,
>>
>> I've modified the solrjmeter to retrieve data from under the core (the -t
>> parameter) and the rest from the /solr/admin - I could test it only
>> against
>> 4.0, but it is there the same as 4.3 - it seems...so you can try the fresh
>> checkout
>>
>> my test was: python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -t
>> /solr/collection1 -R foo -q ./queries/demo/* -p 9002 -s adsate
>>
>> Thanks!
>>
>> roman
>>
>>
>> On Tue, Aug 6, 2013 at 9:46 AM, Dmitry Kan  wrote:
>>
>> > Hi,
>> >
>> > Thanks for the clarification, Shawn!
>> >
>> > So with this in mind, the following work:
>> >
>> > http://localhost:8983/solr/statements/admin/system?wt=json
>> > http://localhost:8983/solr/statements/admin/mbeans?wt=json
>> >
>> > not copying their output to save space.
>> >
>> > Roman:
>> >
>> > is this something that should be set via -t parameter as well?
>> >
>> > Dmitry
>> >
>> >
>> >
>> > On Tue, Aug 6, 2013 at 4:34 PM, Shawn Heisey  wrote:
>> >
>> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
>> > > > Of three URLs you asked for, only the 3rd one gave response:
>> > > 
>> > > > The rest report 404.
>> > > >
>> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla 
>> > > wrote:
>> > > >
>> > > >> Hi Dmitry,
>> > > >> So I think the admin pages are different on your version of solr,
>> what
>> > > do
>> > > >> you see when you request... ?
>> > > >>
>> > > >> http://localhost:8983/solr/admin/system?wt=json
>> > > >> http://localhost:8983/solr/admin/mbeans?wt=json
>> > > >> http://localhost:8983/solr/admin/cores?wt=json
>> > >
>> > > Unless you have a valid defaultCoreName set in your (old-style)
>> > > solr.xml, the first two URLs won't work, as you've discovered.
>>  Without
>> > > that valid defaultCoreName (or if you wanted info from a different
>> > > core), you'd need to add a core name to the URL for them to work.
>> > >
>> > > The third one, which works for you, is a global handler for
>> manipulating
>> > > cores, so naturally it doesn't need a core name to function.  The URL
>> > > path for this handler is defined by solr.xml.
>> > >
>> > > Thanks,
>> > > Shawn
>> > >
>> > >
>> >
>>
>
>


Re: Measuring SOLR performance

2013-08-07 Thread Dmitry Kan
Hi Roman,

Finally, this has worked! Thanks for quick support.

The graphs look awesome. At least on the index sample :) It is quite easy
to setup and run + possible to run directly on the shard server in
background mode.

my test run was:

python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60 -R
foo -t /solr/statements -e statements

Thanks!

Dmitry


On Wed, Aug 7, 2013 at 6:54 AM, Roman Chyla  wrote:

> Hi Dmitry,
>
> I've modified the solrjmeter to retrieve data from under the core (the -t
> parameter) and the rest from the /solr/admin - I could test it only against
> 4.0, but it is there the same as 4.3 - it seems...so you can try the fresh
> checkout
>
> my test was: python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -t
> /solr/collection1 -R foo -q ./queries/demo/* -p 9002 -s adsate
>
> Thanks!
>
> roman
>
>
> On Tue, Aug 6, 2013 at 9:46 AM, Dmitry Kan  wrote:
>
> > Hi,
> >
> > Thanks for the clarification, Shawn!
> >
> > So with this in mind, the following work:
> >
> > http://localhost:8983/solr/statements/admin/system?wt=json
> > http://localhost:8983/solr/statements/admin/mbeans?wt=json
> >
> > not copying their output to save space.
> >
> > Roman:
> >
> > is this something that should be set via -t parameter as well?
> >
> > Dmitry
> >
> >
> >
> > On Tue, Aug 6, 2013 at 4:34 PM, Shawn Heisey  wrote:
> >
> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> > > > Of three URLs you asked for, only the 3rd one gave response:
> > > 
> > > > The rest report 404.
> > > >
> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla 
> > > wrote:
> > > >
> > > >> Hi Dmitry,
> > > >> So I think the admin pages are different on your version of solr,
> what
> > > do
> > > >> you see when you request... ?
> > > >>
> > > >> http://localhost:8983/solr/admin/system?wt=json
> > > >> http://localhost:8983/solr/admin/mbeans?wt=json
> > > >> http://localhost:8983/solr/admin/cores?wt=json
> > >
> > > Unless you have a valid defaultCoreName set in your (old-style)
> > > solr.xml, the first two URLs won't work, as you've discovered.  Without
> > > that valid defaultCoreName (or if you wanted info from a different
> > > core), you'd need to add a core name to the URL for them to work.
> > >
> > > The third one, which works for you, is a global handler for
> manipulating
> > > cores, so naturally it doesn't need a core name to function.  The URL
> > > path for this handler is defined by solr.xml.
> > >
> > > Thanks,
> > > Shawn
> > >
> > >
> >
>


Re: Measuring SOLR performance

2013-08-06 Thread Roman Chyla
Hi Dmitry,

I've modified the solrjmeter to retrieve data from under the core (the -t
parameter) and the rest from the /solr/admin - I could test it only against
4.0, but it is there the same as 4.3 - it seems...so you can try the fresh
checkout

my test was: python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -t
/solr/collection1 -R foo -q ./queries/demo/* -p 9002 -s adsate

Thanks!

roman


On Tue, Aug 6, 2013 at 9:46 AM, Dmitry Kan  wrote:

> Hi,
>
> Thanks for the clarification, Shawn!
>
> So with this in mind, the following work:
>
> http://localhost:8983/solr/statements/admin/system?wt=json
> http://localhost:8983/solr/statements/admin/mbeans?wt=json
>
> not copying their output to save space.
>
> Roman:
>
> is this something that should be set via -t parameter as well?
>
> Dmitry
>
>
>
> On Tue, Aug 6, 2013 at 4:34 PM, Shawn Heisey  wrote:
>
> > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> > > Of three URLs you asked for, only the 3rd one gave response:
> > 
> > > The rest report 404.
> > >
> > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla 
> > wrote:
> > >
> > >> Hi Dmitry,
> > >> So I think the admin pages are different on your version of solr, what
> > do
> > >> you see when you request... ?
> > >>
> > >> http://localhost:8983/solr/admin/system?wt=json
> > >> http://localhost:8983/solr/admin/mbeans?wt=json
> > >> http://localhost:8983/solr/admin/cores?wt=json
> >
> > Unless you have a valid defaultCoreName set in your (old-style)
> > solr.xml, the first two URLs won't work, as you've discovered.  Without
> > that valid defaultCoreName (or if you wanted info from a different
> > core), you'd need to add a core name to the URL for them to work.
> >
> > The third one, which works for you, is a global handler for manipulating
> > cores, so naturally it doesn't need a core name to function.  The URL
> > path for this handler is defined by solr.xml.
> >
> > Thanks,
> > Shawn
> >
> >
>


Re: Measuring SOLR performance

2013-08-06 Thread Dmitry Kan
Hi,

Thanks for the clarification, Shawn!

So with this in mind, the following work:

http://localhost:8983/solr/statements/admin/system?wt=json
http://localhost:8983/solr/statements/admin/mbeans?wt=json

not copying their output to save space.

Roman:

is this something that should be set via -t parameter as well?

Dmitry



On Tue, Aug 6, 2013 at 4:34 PM, Shawn Heisey  wrote:

> On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> > Of three URLs you asked for, only the 3rd one gave response:
> 
> > The rest report 404.
> >
> > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla 
> wrote:
> >
> >> Hi Dmitry,
> >> So I think the admin pages are different on your version of solr, what
> do
> >> you see when you request... ?
> >>
> >> http://localhost:8983/solr/admin/system?wt=json
> >> http://localhost:8983/solr/admin/mbeans?wt=json
> >> http://localhost:8983/solr/admin/cores?wt=json
>
> Unless you have a valid defaultCoreName set in your (old-style)
> solr.xml, the first two URLs won't work, as you've discovered.  Without
> that valid defaultCoreName (or if you wanted info from a different
> core), you'd need to add a core name to the URL for them to work.
>
> The third one, which works for you, is a global handler for manipulating
> cores, so naturally it doesn't need a core name to function.  The URL
> path for this handler is defined by solr.xml.
>
> Thanks,
> Shawn
>
>


Re: Measuring SOLR performance

2013-08-06 Thread Shawn Heisey
On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> Of three URLs you asked for, only the 3rd one gave response:

> The rest report 404.
> 
> On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla  wrote:
> 
>> Hi Dmitry,
>> So I think the admin pages are different on your version of solr, what do
>> you see when you request... ?
>>
>> http://localhost:8983/solr/admin/system?wt=json
>> http://localhost:8983/solr/admin/mbeans?wt=json
>> http://localhost:8983/solr/admin/cores?wt=json

Unless you have a valid defaultCoreName set in your (old-style)
solr.xml, the first two URLs won't work, as you've discovered.  Without
that valid defaultCoreName (or if you wanted info from a different
core), you'd need to add a core name to the URL for them to work.

The third one, which works for you, is a global handler for manipulating
cores, so naturally it doesn't need a core name to function.  The URL
path for this handler is defined by solr.xml.

Thanks,
Shawn



Re: Measuring SOLR performance

2013-08-06 Thread Dmitry Kan
Hi Roman,

With fresh checkout, the reported admin_endpoint is:
http://localhost:8983/solr/admin. This url redirects to
http://localhost:8983/solr/#/ . I'm using solr 4.3.1. Is your tool
supporting this version?

Of three URLs you asked for, only the 3rd one gave response:

{"responseHeader":{"status":0,"QTime":5},"defaultCoreName":null,"initFailures":{},"status":{"metadata":{"name":"metadata","isDefaultCore":false,"instanceDir":"multicore/metadata/","dataDir":"/home/dmitry/projects/SOLR/solr4/solr-4.3.1/example/multicore/metadata/data/","config":"solrconfig.xml","schema":"schema.xml","startTime":"2013-08-06T12:10:43.438Z","uptime":260200,"index":{"numDocs":0,"maxDoc":0,"deletedDocs":0,"version":1,"segmentCount":0,"current":true,"hasDeletions":false,"directory":"org.apache.lucene.store.NRTCachingDirectory:NRTCachingDirectory(org.apache.lucene.store.MMapDirectory@/home/dmitry/projects/SOLR/solr4/solr-4.3.1/example/multicore/metadata/data/index
lockFactory=org.apache.lucene.store.NativeFSLockFactory@2d23b007;
maxCacheMB=48.0
maxMergeSizeMB=4.0)","userData":{},"sizeInBytes":65,"size":"65
bytes"}},"statements":{"name":"statements","isDefaultCore":false,"instanceDir":"multicore/statements/","dataDir":"/home/dmitry/projects/SOLR/solr4/solr-4.3.1/example/multicore/statements/data/","config":"solrconfig.xml","schema":"schema.xml","startTime":"2013-08-06T12:10:43.468Z","uptime":260172,"index":{"numDocs":2588869,"maxDoc":2588869,"deletedDocs":0,"version":45,"segmentCount":1,"current":true,"hasDeletions":false,"directory":"org.apache.lucene.store.NRTCachingDirectory:NRTCachingDirectory(org.apache.lucene.store.MMapDirectory@/home/dmitry/projects/SOLR/solr4/solr-4.3.1/example/multicore/statements/data/index
lockFactory=org.apache.lucene.store.NativeFSLockFactory@1f9b2b8;
maxCacheMB=48.0
maxMergeSizeMB=4.0)","userData":{"commitTimeMSec":"1375447171849"},"lastModified":"2013-08-02T12:39:31.849Z","sizeInBytes":597238578,"size":"569.57
MB"


The rest report 404.

Dmitry


On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla  wrote:

> Hi Dmitry,
> So I think the admin pages are different on your version of solr, what do
> you see when you request... ?
>
> http://localhost:8983/solr/admin/system?wt=json
> http://localhost:8983/solr/admin/mbeans?wt=json
> http://localhost:8983/solr/admin/cores?wt=json
>
> If your core -t was '/solr/statements', the script should assume admin is
> at: /solr/admin (the script checks for /admin/system/cores - so that url
> already exists), thus I am guessing /admin/system is not there.
>
> if you can, please check out the latest version - the script will print its
> environment, the 'admin_endpoint' is the one that we are interested in.
> I'll update the docs, btw. you may want to use '-e statements' to indicate
> what core_name you want to harvest details for
>
> thanks,
>
> roman
>
>
>
>
>
>
>
> On Mon, Aug 5, 2013 at 6:22 AM, Dmitry Kan  wrote:
>
> > Hi Roman,
> >
> > No problem. Still trying to launch the thing..
> >
> > The query with the added -t parameter generated an error:
> >
> > 1. python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> > ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60
> -R
> > test -t /solr/statements   [passed relative path to -q param]
> >
> > (as you can see I added -t param and made -q param simpler)
> >
> > Traceback (most recent call last):
> >   File "solrjmeter.py", line 1425, in 
> > main(sys.argv)
> >   File "solrjmeter.py", line 1379, in main
> > before_test = harvest_details_about_montysolr(options)
> >   File "solrjmeter.py", line 505, in harvest_details_about_montysolr
> > system_data = req('%s/system' % options.admin_endpoint)
> >   File "solrjmeter.py", line 113, in req
> > raise r
> > simplejson.decoder.JSONDecodeError: No JSON object could be decoded:
> line 1
> > column 0 (char 0)
> >
> >
> > The README.md on the github is somehow outdated, it suggests using -q
> > ./demo/queries/demo.queries, but there is no such path in the fresh
> > checkout.
> >
> > Nice to have the -t param.
> >
> > Dmitry
> >
> >
> > On Sat, Aug 3, 2013 at 5:01 AM, Roman Chyla 
> wrote:
> >
> > > Hi Dmitry,
> > >
> > > Thanks, It was a toothing problem, fixed now, please try the fresh
> > checkout
> > > AND add the following to your arguments: -t /solr/core1
> > >
> > > that sets the path under which solr should be contacted, the handler is
> > set
> > > in the jmeter configuration, so if you were using different query
> > handlers
> > > than /select, it should be edited there (SolrQueryTest.jmx)
> > >
> > > I hope it works this time, the script is trying to guess the admin page
> > > (when one cannot be contacted - but if the new solr introduces some new
> > > paths, i may be wrong - i am short on time to investigate deeper)
> > >
> > >
> > > roman
> > >
> > >
> > > On Fri, Aug 2, 2013 at 7:27 AM, Dmitry Kan 
> wrote:
> > >
> > > > Hi Roman,
> > > >
> > > > Sure:
> > > >
> > > > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> > > >

Re: Measuring SOLR performance

2013-08-05 Thread Roman Chyla
Hi Dmitry,
So I think the admin pages are different on your version of solr, what do
you see when you request... ?

http://localhost:8983/solr/admin/system?wt=json
http://localhost:8983/solr/admin/mbeans?wt=json
http://localhost:8983/solr/admin/cores?wt=json

If your core -t was '/solr/statements', the script should assume admin is
at: /solr/admin (the script checks for /admin/system/cores - so that url
already exists), thus I am guessing /admin/system is not there.

if you can, please check out the latest version - the script will print its
environment, the 'admin_endpoint' is the one that we are interested in.
I'll update the docs, btw. you may want to use '-e statements' to indicate
what core_name you want to harvest details for

thanks,

roman







On Mon, Aug 5, 2013 at 6:22 AM, Dmitry Kan  wrote:

> Hi Roman,
>
> No problem. Still trying to launch the thing..
>
> The query with the added -t parameter generated an error:
>
> 1. python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> ./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60 -R
> test -t /solr/statements   [passed relative path to -q param]
>
> (as you can see I added -t param and made -q param simpler)
>
> Traceback (most recent call last):
>   File "solrjmeter.py", line 1425, in 
> main(sys.argv)
>   File "solrjmeter.py", line 1379, in main
> before_test = harvest_details_about_montysolr(options)
>   File "solrjmeter.py", line 505, in harvest_details_about_montysolr
> system_data = req('%s/system' % options.admin_endpoint)
>   File "solrjmeter.py", line 113, in req
> raise r
> simplejson.decoder.JSONDecodeError: No JSON object could be decoded: line 1
> column 0 (char 0)
>
>
> The README.md on the github is somehow outdated, it suggests using -q
> ./demo/queries/demo.queries, but there is no such path in the fresh
> checkout.
>
> Nice to have the -t param.
>
> Dmitry
>
>
> On Sat, Aug 3, 2013 at 5:01 AM, Roman Chyla  wrote:
>
> > Hi Dmitry,
> >
> > Thanks, It was a toothing problem, fixed now, please try the fresh
> checkout
> > AND add the following to your arguments: -t /solr/core1
> >
> > that sets the path under which solr should be contacted, the handler is
> set
> > in the jmeter configuration, so if you were using different query
> handlers
> > than /select, it should be edited there (SolrQueryTest.jmx)
> >
> > I hope it works this time, the script is trying to guess the admin page
> > (when one cannot be contacted - but if the new solr introduces some new
> > paths, i may be wrong - i am short on time to investigate deeper)
> >
> >
> > roman
> >
> >
> > On Fri, Aug 2, 2013 at 7:27 AM, Dmitry Kan  wrote:
> >
> > > Hi Roman,
> > >
> > > Sure:
> > >
> > > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> > > /home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries -s
> > localhost
> > > -p 8983 -a --durationInSecs 60 -R test
> > >
> > > This is vanilla install (git clone) except for one change that I had to
> > do
> > > related to solr cores:
> > >
> > > > git diff
> > > diff --git a/solrjmeter.py b/solrjmeter.py
> > > index d18145a..7a0d2af 100644
> > > --- a/solrjmeter.py
> > > +++ b/solrjmeter.py
> > > @@ -129,7 +129,7 @@ def check_options(options, args):
> > >  if not options.serverName and not options.serverPort:
> > >  error("You must specify both server and port")
> > >
> > > -options.query_endpoint = 'http://%s:%s/solr' %
> (options.serverName,
> > > options.serverPort)
> > > +options.query_endpoint = 'http://%s:%s/solr/core1' %
> > > (options.serverName, options.serverPort)
> > >
> > >  jmx_options = []
> > >  for k, v in options.__dict__.items():
> > >
> > >
> > >
> > > Dmitry
> > >
> > >
> > > On Thu, Aug 1, 2013 at 6:41 PM, Roman Chyla 
> > wrote:
> > >
> > > > Dmitry,
> > > > Can you post the entire invocation line?
> > > > roman
> > > >
> > > >
> > > > On Thu, Aug 1, 2013 at 7:46 AM, Dmitry Kan 
> > wrote:
> > > >
> > > > > Hi Roman,
> > > > >
> > > > > When I try to run with -q
> > > > > /home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries
> > > > >
> > > > > here what is reported:
> > > > > Traceback (most recent call last):
> > > > >   File "solrjmeter.py", line 1390, in 
> > > > > main(sys.argv)
> > > > >   File "solrjmeter.py", line 1309, in main
> > > > > tests = find_tests(options)
> > > > >   File "solrjmeter.py", line 461, in find_tests
> > > > > with changed_dir(pattern):
> > > > >   File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
> > > > > return self.gen.next()
> > > > >   File "solrjmeter.py", line 229, in changed_dir
> > > > > os.chdir(new)
> > > > > OSError: [Errno 20] Not a directory:
> > > > > '/home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries'
> > > > >
> > > > > Best,
> > > > >
> > > > > Dmitry
> > > > >
> > > > >
> > > > >
> > > > > On Wed, Jul 31, 2013 at 7:21 PM, Roman Chyla <
> roman.ch...@gmail.com>
> > > > > wrote:
> > > > >
> > > > > > Hi Dmitry,
> > > > > > prob

Re: Measuring SOLR performance

2013-08-05 Thread Dmitry Kan
Hi Roman,

No problem. Still trying to launch the thing..

The query with the added -t parameter generated an error:

1. python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
./queries/demo/demo.queries -s localhost -p 8983 -a --durationInSecs 60 -R
test -t /solr/statements   [passed relative path to -q param]

(as you can see I added -t param and made -q param simpler)

Traceback (most recent call last):
  File "solrjmeter.py", line 1425, in 
main(sys.argv)
  File "solrjmeter.py", line 1379, in main
before_test = harvest_details_about_montysolr(options)
  File "solrjmeter.py", line 505, in harvest_details_about_montysolr
system_data = req('%s/system' % options.admin_endpoint)
  File "solrjmeter.py", line 113, in req
raise r
simplejson.decoder.JSONDecodeError: No JSON object could be decoded: line 1
column 0 (char 0)


The README.md on the github is somehow outdated, it suggests using -q
./demo/queries/demo.queries, but there is no such path in the fresh
checkout.

Nice to have the -t param.

Dmitry


On Sat, Aug 3, 2013 at 5:01 AM, Roman Chyla  wrote:

> Hi Dmitry,
>
> Thanks, It was a toothing problem, fixed now, please try the fresh checkout
> AND add the following to your arguments: -t /solr/core1
>
> that sets the path under which solr should be contacted, the handler is set
> in the jmeter configuration, so if you were using different query handlers
> than /select, it should be edited there (SolrQueryTest.jmx)
>
> I hope it works this time, the script is trying to guess the admin page
> (when one cannot be contacted - but if the new solr introduces some new
> paths, i may be wrong - i am short on time to investigate deeper)
>
>
> roman
>
>
> On Fri, Aug 2, 2013 at 7:27 AM, Dmitry Kan  wrote:
>
> > Hi Roman,
> >
> > Sure:
> >
> > python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> > /home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries -s
> localhost
> > -p 8983 -a --durationInSecs 60 -R test
> >
> > This is vanilla install (git clone) except for one change that I had to
> do
> > related to solr cores:
> >
> > > git diff
> > diff --git a/solrjmeter.py b/solrjmeter.py
> > index d18145a..7a0d2af 100644
> > --- a/solrjmeter.py
> > +++ b/solrjmeter.py
> > @@ -129,7 +129,7 @@ def check_options(options, args):
> >  if not options.serverName and not options.serverPort:
> >  error("You must specify both server and port")
> >
> > -options.query_endpoint = 'http://%s:%s/solr' % (options.serverName,
> > options.serverPort)
> > +options.query_endpoint = 'http://%s:%s/solr/core1' %
> > (options.serverName, options.serverPort)
> >
> >  jmx_options = []
> >  for k, v in options.__dict__.items():
> >
> >
> >
> > Dmitry
> >
> >
> > On Thu, Aug 1, 2013 at 6:41 PM, Roman Chyla 
> wrote:
> >
> > > Dmitry,
> > > Can you post the entire invocation line?
> > > roman
> > >
> > >
> > > On Thu, Aug 1, 2013 at 7:46 AM, Dmitry Kan 
> wrote:
> > >
> > > > Hi Roman,
> > > >
> > > > When I try to run with -q
> > > > /home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries
> > > >
> > > > here what is reported:
> > > > Traceback (most recent call last):
> > > >   File "solrjmeter.py", line 1390, in 
> > > > main(sys.argv)
> > > >   File "solrjmeter.py", line 1309, in main
> > > > tests = find_tests(options)
> > > >   File "solrjmeter.py", line 461, in find_tests
> > > > with changed_dir(pattern):
> > > >   File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
> > > > return self.gen.next()
> > > >   File "solrjmeter.py", line 229, in changed_dir
> > > > os.chdir(new)
> > > > OSError: [Errno 20] Not a directory:
> > > > '/home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries'
> > > >
> > > > Best,
> > > >
> > > > Dmitry
> > > >
> > > >
> > > >
> > > > On Wed, Jul 31, 2013 at 7:21 PM, Roman Chyla 
> > > > wrote:
> > > >
> > > > > Hi Dmitry,
> > > > > probably mistake in the readme, try calling it with -q
> > > > > /home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries
> > > > >
> > > > > as for the base_url, i was testing it on solr4.0, where it tries
> > > > contactin
> > > > > /solr/admin/system - is it different for 4.3? I guess I should make
> > it
> > > > > configurable (it already is, the endpoint is set at the
> > > check_options())
> > > > >
> > > > > thanks
> > > > >
> > > > > roman
> > > > >
> > > > >
> > > > > On Wed, Jul 31, 2013 at 10:01 AM, Dmitry Kan  >
> > > > wrote:
> > > > >
> > > > > > Ok, got the error fixed by modifying the base solr ulr in
> > > solrjmeter.py
> > > > > > (added core name after /solr part).
> > > > > > Next error is:
> > > > > >
> > > > > > WARNING: no test name(s) supplied nor found in:
> > > > > >
> ['/home/dmitry/projects/lab/solrjmeter/demo/queries/demo.queries']
> > > > > >
> > > > > > It is a 'slow start with new tool' symptom I guess.. :)
> > > > > >
> > > > > >
> > > > > > On Wed, Jul 31, 2013 at 4:39 PM, Dmitry Kan <
> solrexp...@gmail.com>
> > > > > wrote:
> > > > > >
> > > > > >> 

Re: Measuring SOLR performance

2013-08-02 Thread Roman Chyla
Hi Dmitry,

Thanks, It was a toothing problem, fixed now, please try the fresh checkout
AND add the following to your arguments: -t /solr/core1

that sets the path under which solr should be contacted, the handler is set
in the jmeter configuration, so if you were using different query handlers
than /select, it should be edited there (SolrQueryTest.jmx)

I hope it works this time, the script is trying to guess the admin page
(when one cannot be contacted - but if the new solr introduces some new
paths, i may be wrong - i am short on time to investigate deeper)


roman


On Fri, Aug 2, 2013 at 7:27 AM, Dmitry Kan  wrote:

> Hi Roman,
>
> Sure:
>
> python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
> /home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries -s localhost
> -p 8983 -a --durationInSecs 60 -R test
>
> This is vanilla install (git clone) except for one change that I had to do
> related to solr cores:
>
> > git diff
> diff --git a/solrjmeter.py b/solrjmeter.py
> index d18145a..7a0d2af 100644
> --- a/solrjmeter.py
> +++ b/solrjmeter.py
> @@ -129,7 +129,7 @@ def check_options(options, args):
>  if not options.serverName and not options.serverPort:
>  error("You must specify both server and port")
>
> -options.query_endpoint = 'http://%s:%s/solr' % (options.serverName,
> options.serverPort)
> +options.query_endpoint = 'http://%s:%s/solr/core1' %
> (options.serverName, options.serverPort)
>
>  jmx_options = []
>  for k, v in options.__dict__.items():
>
>
>
> Dmitry
>
>
> On Thu, Aug 1, 2013 at 6:41 PM, Roman Chyla  wrote:
>
> > Dmitry,
> > Can you post the entire invocation line?
> > roman
> >
> >
> > On Thu, Aug 1, 2013 at 7:46 AM, Dmitry Kan  wrote:
> >
> > > Hi Roman,
> > >
> > > When I try to run with -q
> > > /home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries
> > >
> > > here what is reported:
> > > Traceback (most recent call last):
> > >   File "solrjmeter.py", line 1390, in 
> > > main(sys.argv)
> > >   File "solrjmeter.py", line 1309, in main
> > > tests = find_tests(options)
> > >   File "solrjmeter.py", line 461, in find_tests
> > > with changed_dir(pattern):
> > >   File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
> > > return self.gen.next()
> > >   File "solrjmeter.py", line 229, in changed_dir
> > > os.chdir(new)
> > > OSError: [Errno 20] Not a directory:
> > > '/home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries'
> > >
> > > Best,
> > >
> > > Dmitry
> > >
> > >
> > >
> > > On Wed, Jul 31, 2013 at 7:21 PM, Roman Chyla 
> > > wrote:
> > >
> > > > Hi Dmitry,
> > > > probably mistake in the readme, try calling it with -q
> > > > /home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries
> > > >
> > > > as for the base_url, i was testing it on solr4.0, where it tries
> > > contactin
> > > > /solr/admin/system - is it different for 4.3? I guess I should make
> it
> > > > configurable (it already is, the endpoint is set at the
> > check_options())
> > > >
> > > > thanks
> > > >
> > > > roman
> > > >
> > > >
> > > > On Wed, Jul 31, 2013 at 10:01 AM, Dmitry Kan 
> > > wrote:
> > > >
> > > > > Ok, got the error fixed by modifying the base solr ulr in
> > solrjmeter.py
> > > > > (added core name after /solr part).
> > > > > Next error is:
> > > > >
> > > > > WARNING: no test name(s) supplied nor found in:
> > > > > ['/home/dmitry/projects/lab/solrjmeter/demo/queries/demo.queries']
> > > > >
> > > > > It is a 'slow start with new tool' symptom I guess.. :)
> > > > >
> > > > >
> > > > > On Wed, Jul 31, 2013 at 4:39 PM, Dmitry Kan 
> > > > wrote:
> > > > >
> > > > >> Hi Roman,
> > > > >>
> > > > >> What  version and config of SOLR does the tool expect?
> > > > >>
> > > > >> Tried to run, but got:
> > > > >>
> > > > >> **ERROR**
> > > > >>   File "solrjmeter.py", line 1390, in 
> > > > >> main(sys.argv)
> > > > >>   File "solrjmeter.py", line 1296, in main
> > > > >> check_prerequisities(options)
> > > > >>   File "solrjmeter.py", line 351, in check_prerequisities
> > > > >> error('Cannot contact: %s' % options.query_endpoint)
> > > > >>   File "solrjmeter.py", line 66, in error
> > > > >> traceback.print_stack()
> > > > >> Cannot contact: http://localhost:8983/solr
> > > > >>
> > > > >>
> > > > >> complains about URL, clicking which leads properly to the admin
> > > page...
> > > > >> solr 4.3.1, 2 cores shard
> > > > >>
> > > > >> Dmitry
> > > > >>
> > > > >>
> > > > >> On Wed, Jul 31, 2013 at 3:59 AM, Roman Chyla <
> roman.ch...@gmail.com
> > > > >wrote:
> > > > >>
> > > > >>> Hello,
> > > > >>>
> > > > >>> I have been wanting some tools for measuring performance of SOLR,
> > > > similar
> > > > >>> to Mike McCandles' lucene benchmark.
> > > > >>>
> > > > >>> so yet another monitor was born, is described here:
> > > > >>>
> > > >
> > http://29min.wordpress.com/2013/07/31/measuring-solr-query-performance/
> > > > >>>
> > > > >>> I tested it on the problem of garbage collectors (see the b

Re: Measuring SOLR performance

2013-08-02 Thread Dmitry Kan
Hi Roman,

Sure:

python solrjmeter.py -a -x ./jmx/SolrQueryTest.jmx -q
/home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries -s localhost
-p 8983 -a --durationInSecs 60 -R test

This is vanilla install (git clone) except for one change that I had to do
related to solr cores:

> git diff
diff --git a/solrjmeter.py b/solrjmeter.py
index d18145a..7a0d2af 100644
--- a/solrjmeter.py
+++ b/solrjmeter.py
@@ -129,7 +129,7 @@ def check_options(options, args):
 if not options.serverName and not options.serverPort:
 error("You must specify both server and port")

-options.query_endpoint = 'http://%s:%s/solr' % (options.serverName,
options.serverPort)
+options.query_endpoint = 'http://%s:%s/solr/core1' %
(options.serverName, options.serverPort)

 jmx_options = []
 for k, v in options.__dict__.items():



Dmitry


On Thu, Aug 1, 2013 at 6:41 PM, Roman Chyla  wrote:

> Dmitry,
> Can you post the entire invocation line?
> roman
>
>
> On Thu, Aug 1, 2013 at 7:46 AM, Dmitry Kan  wrote:
>
> > Hi Roman,
> >
> > When I try to run with -q
> > /home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries
> >
> > here what is reported:
> > Traceback (most recent call last):
> >   File "solrjmeter.py", line 1390, in 
> > main(sys.argv)
> >   File "solrjmeter.py", line 1309, in main
> > tests = find_tests(options)
> >   File "solrjmeter.py", line 461, in find_tests
> > with changed_dir(pattern):
> >   File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
> > return self.gen.next()
> >   File "solrjmeter.py", line 229, in changed_dir
> > os.chdir(new)
> > OSError: [Errno 20] Not a directory:
> > '/home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries'
> >
> > Best,
> >
> > Dmitry
> >
> >
> >
> > On Wed, Jul 31, 2013 at 7:21 PM, Roman Chyla 
> > wrote:
> >
> > > Hi Dmitry,
> > > probably mistake in the readme, try calling it with -q
> > > /home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries
> > >
> > > as for the base_url, i was testing it on solr4.0, where it tries
> > contactin
> > > /solr/admin/system - is it different for 4.3? I guess I should make it
> > > configurable (it already is, the endpoint is set at the
> check_options())
> > >
> > > thanks
> > >
> > > roman
> > >
> > >
> > > On Wed, Jul 31, 2013 at 10:01 AM, Dmitry Kan 
> > wrote:
> > >
> > > > Ok, got the error fixed by modifying the base solr ulr in
> solrjmeter.py
> > > > (added core name after /solr part).
> > > > Next error is:
> > > >
> > > > WARNING: no test name(s) supplied nor found in:
> > > > ['/home/dmitry/projects/lab/solrjmeter/demo/queries/demo.queries']
> > > >
> > > > It is a 'slow start with new tool' symptom I guess.. :)
> > > >
> > > >
> > > > On Wed, Jul 31, 2013 at 4:39 PM, Dmitry Kan 
> > > wrote:
> > > >
> > > >> Hi Roman,
> > > >>
> > > >> What  version and config of SOLR does the tool expect?
> > > >>
> > > >> Tried to run, but got:
> > > >>
> > > >> **ERROR**
> > > >>   File "solrjmeter.py", line 1390, in 
> > > >> main(sys.argv)
> > > >>   File "solrjmeter.py", line 1296, in main
> > > >> check_prerequisities(options)
> > > >>   File "solrjmeter.py", line 351, in check_prerequisities
> > > >> error('Cannot contact: %s' % options.query_endpoint)
> > > >>   File "solrjmeter.py", line 66, in error
> > > >> traceback.print_stack()
> > > >> Cannot contact: http://localhost:8983/solr
> > > >>
> > > >>
> > > >> complains about URL, clicking which leads properly to the admin
> > page...
> > > >> solr 4.3.1, 2 cores shard
> > > >>
> > > >> Dmitry
> > > >>
> > > >>
> > > >> On Wed, Jul 31, 2013 at 3:59 AM, Roman Chyla  > > >wrote:
> > > >>
> > > >>> Hello,
> > > >>>
> > > >>> I have been wanting some tools for measuring performance of SOLR,
> > > similar
> > > >>> to Mike McCandles' lucene benchmark.
> > > >>>
> > > >>> so yet another monitor was born, is described here:
> > > >>>
> > >
> http://29min.wordpress.com/2013/07/31/measuring-solr-query-performance/
> > > >>>
> > > >>> I tested it on the problem of garbage collectors (see the blogs for
> > > >>> details) and so far I can't conclude whether highly customized G1
> is
> > > >>> better
> > > >>> than highly customized CMS, but I think interesting details can be
> > seen
> > > >>> there.
> > > >>>
> > > >>> Hope this helps someone, and of course, feel free to improve the
> tool
> > > and
> > > >>> share!
> > > >>>
> > > >>> roman
> > > >>>
> > > >>
> > > >>
> > > >
> > >
> >
>


Re: Measuring SOLR performance

2013-08-02 Thread Erick Erickson
Roman:

Thanks for putting this together. I confess I haven't dug in in detail yet,
but having the numbers available is a nice resource.

Best
Erick


On Thu, Aug 1, 2013 at 6:23 PM, Roman Chyla  wrote:

> On Thu, Aug 1, 2013 at 6:11 PM, Shawn Heisey  wrote:
>
> > On 8/1/2013 2:08 PM, Roman Chyla wrote:
> >
> >> Hi, here is a short post describing the results of the yesterday run
> with
> >> added parameters as per Shawn's recommendation, have fun getting
> confused
> >> ;)
> >>
> >>
> http://29min.wordpress.com/**2013/08/01/measuring-solr-**performance-ii/<
> http://29min.wordpress.com/2013/08/01/measuring-solr-performance-ii/>
> >>
> >
> > I am having a very difficult time with the graphs.  I have no idea what
> > I'm looking at.  The graphs are probably self-explanatory to you, because
> > you created them and you've been staring at them for hours. There are
> both
> > lines and shaded areas, and I can't tell what they mean.
> >
>
> I know :) but I am rather investing time in preparing a better test,
> because as you said, worst case is the aim - and I would like to trigger
> the worst case (btw, all these remaining GC configs have comparable max
> execution time of less than 1.5s - that is the worst case in their case so
> far and with so a few measurements, there is no meaningful analysis of
> significance between them). But when I look at the heights of the areas, in
> the charts, the higher means worse - so the yellow seems to be the worst
> (g1-custom), your preferred configuration (i think it was cms-x1, green)
> seems better than g1-custom. But 'SEEMS' is an important qualifier here
>
>
> >
> > Tables with numbers, if they have a good legend, would be awesome.
> >
>
> tables are there, just hidden, you would have to run it - the code is there
> as well...
>
>
> >
> > One thing I'd like to see, and when I have some time of my own I will do
> > some comprehensive long-term comparisons on production systems, is to see
> > what adding or changing *one* GC tuning parameter at a time does, so I
> can
> > find the ideal settings and have some idea of which settings make the
> most
> > difference.
> >
> > My concern with garbage collection tuning has been mostly worst-case
> > scenario pauses.  I certainly do want averages to come down, but it's
> > really the worst-case that concerns me.
> >
> > Let's say that one of my typical queries takes 100 milliseconds on
> average
> > with my GC config.  Somebody comes up with another GC config that makes
> the
> > same query take 25 milliseconds or less on average.  If that config also
> > results in rare stop-the-world garbage collections that take 5 full
> > seconds, I won't be using it.  I'd rather deal with the slower average
> > queries than the GC pause problems.
> >
>
> exactly
>
>
> >
> > I had to let my production systems run for days with jHiccup before I
> > really noticed that I had a GC pause problem.  I've since learned that
> if I
> > look at GC logs with GCLogViewer, I can get much the same information.
> >
>
> well, and instead of days, I think it is possible to trigger the worst case
> scenario in a matter of hours (but that is my conjecture, to be proven
> wrong... ;))
>
> roman
>
>
> >
> > Thanks,
> > Shawn
> >
> >
>


Re: Measuring SOLR performance

2013-08-01 Thread Roman Chyla
On Thu, Aug 1, 2013 at 6:11 PM, Shawn Heisey  wrote:

> On 8/1/2013 2:08 PM, Roman Chyla wrote:
>
>> Hi, here is a short post describing the results of the yesterday run with
>> added parameters as per Shawn's recommendation, have fun getting confused
>> ;)
>>
>> http://29min.wordpress.com/**2013/08/01/measuring-solr-**performance-ii/
>>
>
> I am having a very difficult time with the graphs.  I have no idea what
> I'm looking at.  The graphs are probably self-explanatory to you, because
> you created them and you've been staring at them for hours. There are both
> lines and shaded areas, and I can't tell what they mean.
>

I know :) but I am rather investing time in preparing a better test,
because as you said, worst case is the aim - and I would like to trigger
the worst case (btw, all these remaining GC configs have comparable max
execution time of less than 1.5s - that is the worst case in their case so
far and with so a few measurements, there is no meaningful analysis of
significance between them). But when I look at the heights of the areas, in
the charts, the higher means worse - so the yellow seems to be the worst
(g1-custom), your preferred configuration (i think it was cms-x1, green)
seems better than g1-custom. But 'SEEMS' is an important qualifier here


>
> Tables with numbers, if they have a good legend, would be awesome.
>

tables are there, just hidden, you would have to run it - the code is there
as well...


>
> One thing I'd like to see, and when I have some time of my own I will do
> some comprehensive long-term comparisons on production systems, is to see
> what adding or changing *one* GC tuning parameter at a time does, so I can
> find the ideal settings and have some idea of which settings make the most
> difference.
>
> My concern with garbage collection tuning has been mostly worst-case
> scenario pauses.  I certainly do want averages to come down, but it's
> really the worst-case that concerns me.
>
> Let's say that one of my typical queries takes 100 milliseconds on average
> with my GC config.  Somebody comes up with another GC config that makes the
> same query take 25 milliseconds or less on average.  If that config also
> results in rare stop-the-world garbage collections that take 5 full
> seconds, I won't be using it.  I'd rather deal with the slower average
> queries than the GC pause problems.
>

exactly


>
> I had to let my production systems run for days with jHiccup before I
> really noticed that I had a GC pause problem.  I've since learned that if I
> look at GC logs with GCLogViewer, I can get much the same information.
>

well, and instead of days, I think it is possible to trigger the worst case
scenario in a matter of hours (but that is my conjecture, to be proven
wrong... ;))

roman


>
> Thanks,
> Shawn
>
>


Re: Measuring SOLR performance

2013-08-01 Thread Shawn Heisey

On 8/1/2013 2:08 PM, Roman Chyla wrote:

Hi, here is a short post describing the results of the yesterday run with
added parameters as per Shawn's recommendation, have fun getting confused ;)

http://29min.wordpress.com/2013/08/01/measuring-solr-performance-ii/


I am having a very difficult time with the graphs.  I have no idea what 
I'm looking at.  The graphs are probably self-explanatory to you, 
because you created them and you've been staring at them for hours. 
There are both lines and shaded areas, and I can't tell what they mean.


Tables with numbers, if they have a good legend, would be awesome.

One thing I'd like to see, and when I have some time of my own I will do 
some comprehensive long-term comparisons on production systems, is to 
see what adding or changing *one* GC tuning parameter at a time does, so 
I can find the ideal settings and have some idea of which settings make 
the most difference.


My concern with garbage collection tuning has been mostly worst-case 
scenario pauses.  I certainly do want averages to come down, but it's 
really the worst-case that concerns me.


Let's say that one of my typical queries takes 100 milliseconds on 
average with my GC config.  Somebody comes up with another GC config 
that makes the same query take 25 milliseconds or less on average.  If 
that config also results in rare stop-the-world garbage collections that 
take 5 full seconds, I won't be using it.  I'd rather deal with the 
slower average queries than the GC pause problems.


I had to let my production systems run for days with jHiccup before I 
really noticed that I had a GC pause problem.  I've since learned that 
if I look at GC logs with GCLogViewer, I can get much the same information.


Thanks,
Shawn



Re: Measuring SOLR performance

2013-08-01 Thread Roman Chyla
Hi, here is a short post describing the results of the yesterday run with
added parameters as per Shawn's recommendation, have fun getting confused ;)

http://29min.wordpress.com/2013/08/01/measuring-solr-performance-ii/

roman


On Wed, Jul 31, 2013 at 12:32 PM, Roman Chyla  wrote:

> I'll try to run it with the new parameters and let you know how it goes.
> I've rechecked details for the G1 (default) garbage collector run and I can
> confirm that 2 out of 3 runs were showing high max response times, in some
> cases even 10secs, but the customized G1 never - so definitely the
> parameters had effect because the max time for the customized G1 never went
> higher than 1.5secs (and that happend for 2 query classes only). Both the
> cms-custom and G1-custom are similar, the G1 seems to have higher values in
> the max fields, but that may be random. So, yes, now I am sure what to
> think of default G1 as 'bad', and that these G1 parameters, even if they
> don't seem G1 specific, have real effect.
> Thanks,
>
> roman
>
>
> On Tue, Jul 30, 2013 at 11:01 PM, Shawn Heisey  wrote:
>
>> On 7/30/2013 6:59 PM, Roman Chyla wrote:
>> > I have been wanting some tools for measuring performance of SOLR,
>> similar
>> > to Mike McCandles' lucene benchmark.
>> >
>> > so yet another monitor was born, is described here:
>> > http://29min.wordpress.com/2013/07/31/measuring-solr-query-performance/
>> >
>> > I tested it on the problem of garbage collectors (see the blogs for
>> > details) and so far I can't conclude whether highly customized G1 is
>> better
>> > than highly customized CMS, but I think interesting details can be seen
>> > there.
>> >
>> > Hope this helps someone, and of course, feel free to improve the tool
>> and
>> > share!
>>
>> I have a CMS config that's even more tuned than before, and it has made
>> things MUCH better.  This new config is inspired by more info that I got
>> on IRC:
>>
>> http://wiki.apache.org/solr/ShawnHeisey#GC_Tuning
>>
>> The G1 customizations in your blog post don't look like they are really
>> G1-specific - they may be useful with CMS as well.  This statement also
>> applies to some of the CMS parameters, so I would use those with G1 as
>> well for any testing.
>>
>> UseNUMA looks interesting for machines that actually are NUMA.  All the
>> information that I can find says it is only for the throughput
>> (parallel) collector, so it's probably not doing anything for G1.
>>
>> The pause parameters you've got for G1 are targets only.  It will *try*
>> to stick within those parameters, but if a collection requires more than
>> 50 milliseconds or has to happen more often than once a second, the
>> collector will ignore what you have told it.
>>
>> Thanks,
>> Shawn
>>
>>
>


Re: Measuring SOLR performance

2013-08-01 Thread Roman Chyla
Hi Bernd,



On Thu, Aug 1, 2013 at 4:07 AM, Bernd Fehling <
bernd.fehl...@uni-bielefeld.de> wrote:

> Yes, UseNuma is only for Parallel Scavenger garbage collector and only
> for Solaris 9 and higher and Linux kernel 2.6.19 and glibc 2.6.1.
> And it performs with 64-bit better than 32-bit.
> So no effects for G1.
>
> With standard applications CMS is very slightly better than G1 but
> when it comes to huge heaps with high fragmentation G1 is better than CMS.
> The documentation says, one benefit of G1 is if the application has
> more than 50% of the Java heap occupied with live data.
>

Could you rephrase this bit please?  I don't understand it, but I think it
is important concern.


So first step is to size the heap that you have about 3/4 of the heap
> occupied with live data and then go on comparing CMS against G1.
>

Thanks,

  roman




> Otherwise G1 and CMS are about same or as I said CMS might be slightly
> better.
>
> Also, either turn swap off or also record vmstat. This should make sure
> that during a garbage collection no other system activity, like moving
> JVM heap to swap in background, is distorting your measurements.
>
>
> Bernd
>
>
> Am 31.07.2013 05:01, schrieb Shawn Heisey:
> > On 7/30/2013 6:59 PM, Roman Chyla wrote:
> >> I have been wanting some tools for measuring performance of SOLR,
> similar
> >> to Mike McCandles' lucene benchmark.
> >>
> >> so yet another monitor was born, is described here:
> >> http://29min.wordpress.com/2013/07/31/measuring-solr-query-performance/
> >>
> >> I tested it on the problem of garbage collectors (see the blogs for
> >> details) and so far I can't conclude whether highly customized G1 is
> better
> >> than highly customized CMS, but I think interesting details can be seen
> >> there.
> >>
> >> Hope this helps someone, and of course, feel free to improve the tool
> and
> >> share!
> >
> > I have a CMS config that's even more tuned than before, and it has made
> > things MUCH better.  This new config is inspired by more info that I got
> > on IRC:
> >
> > http://wiki.apache.org/solr/ShawnHeisey#GC_Tuning
> >
> > The G1 customizations in your blog post don't look like they are really
> > G1-specific - they may be useful with CMS as well.  This statement also
> > applies to some of the CMS parameters, so I would use those with G1 as
> > well for any testing.
> >
> > UseNUMA looks interesting for machines that actually are NUMA.  All the
> > information that I can find says it is only for the throughput
> > (parallel) collector, so it's probably not doing anything for G1.
> >
> > The pause parameters you've got for G1 are targets only.  It will *try*
> > to stick within those parameters, but if a collection requires more than
> > 50 milliseconds or has to happen more often than once a second, the
> > collector will ignore what you have told it.
> >
> > Thanks,
> > Shawn
> >
>
>


Re: Measuring SOLR performance

2013-08-01 Thread Roman Chyla
Dmitry,
Can you post the entire invocation line?
roman


On Thu, Aug 1, 2013 at 7:46 AM, Dmitry Kan  wrote:

> Hi Roman,
>
> When I try to run with -q
> /home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries
>
> here what is reported:
> Traceback (most recent call last):
>   File "solrjmeter.py", line 1390, in 
> main(sys.argv)
>   File "solrjmeter.py", line 1309, in main
> tests = find_tests(options)
>   File "solrjmeter.py", line 461, in find_tests
> with changed_dir(pattern):
>   File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
> return self.gen.next()
>   File "solrjmeter.py", line 229, in changed_dir
> os.chdir(new)
> OSError: [Errno 20] Not a directory:
> '/home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries'
>
> Best,
>
> Dmitry
>
>
>
> On Wed, Jul 31, 2013 at 7:21 PM, Roman Chyla 
> wrote:
>
> > Hi Dmitry,
> > probably mistake in the readme, try calling it with -q
> > /home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries
> >
> > as for the base_url, i was testing it on solr4.0, where it tries
> contactin
> > /solr/admin/system - is it different for 4.3? I guess I should make it
> > configurable (it already is, the endpoint is set at the check_options())
> >
> > thanks
> >
> > roman
> >
> >
> > On Wed, Jul 31, 2013 at 10:01 AM, Dmitry Kan 
> wrote:
> >
> > > Ok, got the error fixed by modifying the base solr ulr in solrjmeter.py
> > > (added core name after /solr part).
> > > Next error is:
> > >
> > > WARNING: no test name(s) supplied nor found in:
> > > ['/home/dmitry/projects/lab/solrjmeter/demo/queries/demo.queries']
> > >
> > > It is a 'slow start with new tool' symptom I guess.. :)
> > >
> > >
> > > On Wed, Jul 31, 2013 at 4:39 PM, Dmitry Kan 
> > wrote:
> > >
> > >> Hi Roman,
> > >>
> > >> What  version and config of SOLR does the tool expect?
> > >>
> > >> Tried to run, but got:
> > >>
> > >> **ERROR**
> > >>   File "solrjmeter.py", line 1390, in 
> > >> main(sys.argv)
> > >>   File "solrjmeter.py", line 1296, in main
> > >> check_prerequisities(options)
> > >>   File "solrjmeter.py", line 351, in check_prerequisities
> > >> error('Cannot contact: %s' % options.query_endpoint)
> > >>   File "solrjmeter.py", line 66, in error
> > >> traceback.print_stack()
> > >> Cannot contact: http://localhost:8983/solr
> > >>
> > >>
> > >> complains about URL, clicking which leads properly to the admin
> page...
> > >> solr 4.3.1, 2 cores shard
> > >>
> > >> Dmitry
> > >>
> > >>
> > >> On Wed, Jul 31, 2013 at 3:59 AM, Roman Chyla  > >wrote:
> > >>
> > >>> Hello,
> > >>>
> > >>> I have been wanting some tools for measuring performance of SOLR,
> > similar
> > >>> to Mike McCandles' lucene benchmark.
> > >>>
> > >>> so yet another monitor was born, is described here:
> > >>>
> > http://29min.wordpress.com/2013/07/31/measuring-solr-query-performance/
> > >>>
> > >>> I tested it on the problem of garbage collectors (see the blogs for
> > >>> details) and so far I can't conclude whether highly customized G1 is
> > >>> better
> > >>> than highly customized CMS, but I think interesting details can be
> seen
> > >>> there.
> > >>>
> > >>> Hope this helps someone, and of course, feel free to improve the tool
> > and
> > >>> share!
> > >>>
> > >>> roman
> > >>>
> > >>
> > >>
> > >
> >
>


Re: Measuring SOLR performance

2013-08-01 Thread Dmitry Kan
Hi Roman,

When I try to run with -q
/home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries

here what is reported:
Traceback (most recent call last):
  File "solrjmeter.py", line 1390, in 
main(sys.argv)
  File "solrjmeter.py", line 1309, in main
tests = find_tests(options)
  File "solrjmeter.py", line 461, in find_tests
with changed_dir(pattern):
  File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
  File "solrjmeter.py", line 229, in changed_dir
os.chdir(new)
OSError: [Errno 20] Not a directory:
'/home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries'

Best,

Dmitry



On Wed, Jul 31, 2013 at 7:21 PM, Roman Chyla  wrote:

> Hi Dmitry,
> probably mistake in the readme, try calling it with -q
> /home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries
>
> as for the base_url, i was testing it on solr4.0, where it tries contactin
> /solr/admin/system - is it different for 4.3? I guess I should make it
> configurable (it already is, the endpoint is set at the check_options())
>
> thanks
>
> roman
>
>
> On Wed, Jul 31, 2013 at 10:01 AM, Dmitry Kan  wrote:
>
> > Ok, got the error fixed by modifying the base solr ulr in solrjmeter.py
> > (added core name after /solr part).
> > Next error is:
> >
> > WARNING: no test name(s) supplied nor found in:
> > ['/home/dmitry/projects/lab/solrjmeter/demo/queries/demo.queries']
> >
> > It is a 'slow start with new tool' symptom I guess.. :)
> >
> >
> > On Wed, Jul 31, 2013 at 4:39 PM, Dmitry Kan 
> wrote:
> >
> >> Hi Roman,
> >>
> >> What  version and config of SOLR does the tool expect?
> >>
> >> Tried to run, but got:
> >>
> >> **ERROR**
> >>   File "solrjmeter.py", line 1390, in 
> >> main(sys.argv)
> >>   File "solrjmeter.py", line 1296, in main
> >> check_prerequisities(options)
> >>   File "solrjmeter.py", line 351, in check_prerequisities
> >> error('Cannot contact: %s' % options.query_endpoint)
> >>   File "solrjmeter.py", line 66, in error
> >> traceback.print_stack()
> >> Cannot contact: http://localhost:8983/solr
> >>
> >>
> >> complains about URL, clicking which leads properly to the admin page...
> >> solr 4.3.1, 2 cores shard
> >>
> >> Dmitry
> >>
> >>
> >> On Wed, Jul 31, 2013 at 3:59 AM, Roman Chyla  >wrote:
> >>
> >>> Hello,
> >>>
> >>> I have been wanting some tools for measuring performance of SOLR,
> similar
> >>> to Mike McCandles' lucene benchmark.
> >>>
> >>> so yet another monitor was born, is described here:
> >>>
> http://29min.wordpress.com/2013/07/31/measuring-solr-query-performance/
> >>>
> >>> I tested it on the problem of garbage collectors (see the blogs for
> >>> details) and so far I can't conclude whether highly customized G1 is
> >>> better
> >>> than highly customized CMS, but I think interesting details can be seen
> >>> there.
> >>>
> >>> Hope this helps someone, and of course, feel free to improve the tool
> and
> >>> share!
> >>>
> >>> roman
> >>>
> >>
> >>
> >
>


Re: Measuring SOLR performance

2013-08-01 Thread Bernd Fehling
Yes, UseNuma is only for Parallel Scavenger garbage collector and only
for Solaris 9 and higher and Linux kernel 2.6.19 and glibc 2.6.1.
And it performs with 64-bit better than 32-bit.
So no effects for G1.

With standard applications CMS is very slightly better than G1 but
when it comes to huge heaps with high fragmentation G1 is better than CMS.
The documentation says, one benefit of G1 is if the application has
more than 50% of the Java heap occupied with live data.
So first step is to size the heap that you have about 3/4 of the heap
occupied with live data and then go on comparing CMS against G1.
Otherwise G1 and CMS are about same or as I said CMS might be slightly better.

Also, either turn swap off or also record vmstat. This should make sure
that during a garbage collection no other system activity, like moving
JVM heap to swap in background, is distorting your measurements.


Bernd


Am 31.07.2013 05:01, schrieb Shawn Heisey:
> On 7/30/2013 6:59 PM, Roman Chyla wrote:
>> I have been wanting some tools for measuring performance of SOLR, similar
>> to Mike McCandles' lucene benchmark.
>>
>> so yet another monitor was born, is described here:
>> http://29min.wordpress.com/2013/07/31/measuring-solr-query-performance/
>>
>> I tested it on the problem of garbage collectors (see the blogs for
>> details) and so far I can't conclude whether highly customized G1 is better
>> than highly customized CMS, but I think interesting details can be seen
>> there.
>>
>> Hope this helps someone, and of course, feel free to improve the tool and
>> share!
> 
> I have a CMS config that's even more tuned than before, and it has made
> things MUCH better.  This new config is inspired by more info that I got
> on IRC:
> 
> http://wiki.apache.org/solr/ShawnHeisey#GC_Tuning
> 
> The G1 customizations in your blog post don't look like they are really
> G1-specific - they may be useful with CMS as well.  This statement also
> applies to some of the CMS parameters, so I would use those with G1 as
> well for any testing.
> 
> UseNUMA looks interesting for machines that actually are NUMA.  All the
> information that I can find says it is only for the throughput
> (parallel) collector, so it's probably not doing anything for G1.
> 
> The pause parameters you've got for G1 are targets only.  It will *try*
> to stick within those parameters, but if a collection requires more than
> 50 milliseconds or has to happen more often than once a second, the
> collector will ignore what you have told it.
> 
> Thanks,
> Shawn
> 



Re: Measuring SOLR performance

2013-07-31 Thread Roman Chyla
No, I haven't had time for that (and unlikely won't have for the next few
weeks), but it is on the list - if it is 25% improvement, it would be
really worth of the change to G1.
Thanks,

roman


On Wed, Jul 31, 2013 at 1:00 PM, Markus Jelsma
wrote:

> Did you also test indexing speed? With default G1GC settings we're seeing
> a slightly higher latency for queries than CMS. However, G1GC allows for
> much higher throughput than CMS when indexing. I haven't got the raw
> numbers here but it is roughly 45 minutes against 60 in favour of G1GC!
>
> Load is obviously higher with G1GC.
>
>
> -Original message-
> > From:Roman Chyla 
> > Sent: Wednesday 31st July 2013 18:32
> > To: solr-user@lucene.apache.org
> > Subject: Re: Measuring SOLR performance
> >
> > I'll try to run it with the new parameters and let you know how it goes.
> > I've rechecked details for the G1 (default) garbage collector run and I
> can
> > confirm that 2 out of 3 runs were showing high max response times, in
> some
> > cases even 10secs, but the customized G1 never - so definitely the
> > parameters had effect because the max time for the customized G1 never
> went
> > higher than 1.5secs (and that happend for 2 query classes only). Both the
> > cms-custom and G1-custom are similar, the G1 seems to have higher values
> in
> > the max fields, but that may be random. So, yes, now I am sure what to
> > think of default G1 as 'bad', and that these G1 parameters, even if they
> > don't seem G1 specific, have real effect.
> > Thanks,
> >
> > roman
> >
> >
> > On Tue, Jul 30, 2013 at 11:01 PM, Shawn Heisey 
> wrote:
> >
> > > On 7/30/2013 6:59 PM, Roman Chyla wrote:
> > > > I have been wanting some tools for measuring performance of SOLR,
> similar
> > > > to Mike McCandles' lucene benchmark.
> > > >
> > > > so yet another monitor was born, is described here:
> > > >
> http://29min.wordpress.com/2013/07/31/measuring-solr-query-performance/
> > > >
> > > > I tested it on the problem of garbage collectors (see the blogs for
> > > > details) and so far I can't conclude whether highly customized G1 is
> > > better
> > > > than highly customized CMS, but I think interesting details can be
> seen
> > > > there.
> > > >
> > > > Hope this helps someone, and of course, feel free to improve the
> tool and
> > > > share!
> > >
> > > I have a CMS config that's even more tuned than before, and it has made
> > > things MUCH better.  This new config is inspired by more info that I
> got
> > > on IRC:
> > >
> > > http://wiki.apache.org/solr/ShawnHeisey#GC_Tuning
> > >
> > > The G1 customizations in your blog post don't look like they are really
> > > G1-specific - they may be useful with CMS as well.  This statement also
> > > applies to some of the CMS parameters, so I would use those with G1 as
> > > well for any testing.
> > >
> > > UseNUMA looks interesting for machines that actually are NUMA.  All the
> > > information that I can find says it is only for the throughput
> > > (parallel) collector, so it's probably not doing anything for G1.
> > >
> > > The pause parameters you've got for G1 are targets only.  It will *try*
> > > to stick within those parameters, but if a collection requires more
> than
> > > 50 milliseconds or has to happen more often than once a second, the
> > > collector will ignore what you have told it.
> > >
> > > Thanks,
> > > Shawn
> > >
> > >
> >
>


RE: Measuring SOLR performance

2013-07-31 Thread Markus Jelsma
Did you also test indexing speed? With default G1GC settings we're seeing a 
slightly higher latency for queries than CMS. However, G1GC allows for much 
higher throughput than CMS when indexing. I haven't got the raw numbers here 
but it is roughly 45 minutes against 60 in favour of G1GC!

Load is obviously higher with G1GC.
 
 
-Original message-
> From:Roman Chyla 
> Sent: Wednesday 31st July 2013 18:32
> To: solr-user@lucene.apache.org
> Subject: Re: Measuring SOLR performance
> 
> I'll try to run it with the new parameters and let you know how it goes.
> I've rechecked details for the G1 (default) garbage collector run and I can
> confirm that 2 out of 3 runs were showing high max response times, in some
> cases even 10secs, but the customized G1 never - so definitely the
> parameters had effect because the max time for the customized G1 never went
> higher than 1.5secs (and that happend for 2 query classes only). Both the
> cms-custom and G1-custom are similar, the G1 seems to have higher values in
> the max fields, but that may be random. So, yes, now I am sure what to
> think of default G1 as 'bad', and that these G1 parameters, even if they
> don't seem G1 specific, have real effect.
> Thanks,
> 
> roman
> 
> 
> On Tue, Jul 30, 2013 at 11:01 PM, Shawn Heisey  wrote:
> 
> > On 7/30/2013 6:59 PM, Roman Chyla wrote:
> > > I have been wanting some tools for measuring performance of SOLR, similar
> > > to Mike McCandles' lucene benchmark.
> > >
> > > so yet another monitor was born, is described here:
> > > http://29min.wordpress.com/2013/07/31/measuring-solr-query-performance/
> > >
> > > I tested it on the problem of garbage collectors (see the blogs for
> > > details) and so far I can't conclude whether highly customized G1 is
> > better
> > > than highly customized CMS, but I think interesting details can be seen
> > > there.
> > >
> > > Hope this helps someone, and of course, feel free to improve the tool and
> > > share!
> >
> > I have a CMS config that's even more tuned than before, and it has made
> > things MUCH better.  This new config is inspired by more info that I got
> > on IRC:
> >
> > http://wiki.apache.org/solr/ShawnHeisey#GC_Tuning
> >
> > The G1 customizations in your blog post don't look like they are really
> > G1-specific - they may be useful with CMS as well.  This statement also
> > applies to some of the CMS parameters, so I would use those with G1 as
> > well for any testing.
> >
> > UseNUMA looks interesting for machines that actually are NUMA.  All the
> > information that I can find says it is only for the throughput
> > (parallel) collector, so it's probably not doing anything for G1.
> >
> > The pause parameters you've got for G1 are targets only.  It will *try*
> > to stick within those parameters, but if a collection requires more than
> > 50 milliseconds or has to happen more often than once a second, the
> > collector will ignore what you have told it.
> >
> > Thanks,
> > Shawn
> >
> >
> 


Re: Measuring SOLR performance

2013-07-31 Thread Roman Chyla
I'll try to run it with the new parameters and let you know how it goes.
I've rechecked details for the G1 (default) garbage collector run and I can
confirm that 2 out of 3 runs were showing high max response times, in some
cases even 10secs, but the customized G1 never - so definitely the
parameters had effect because the max time for the customized G1 never went
higher than 1.5secs (and that happend for 2 query classes only). Both the
cms-custom and G1-custom are similar, the G1 seems to have higher values in
the max fields, but that may be random. So, yes, now I am sure what to
think of default G1 as 'bad', and that these G1 parameters, even if they
don't seem G1 specific, have real effect.
Thanks,

roman


On Tue, Jul 30, 2013 at 11:01 PM, Shawn Heisey  wrote:

> On 7/30/2013 6:59 PM, Roman Chyla wrote:
> > I have been wanting some tools for measuring performance of SOLR, similar
> > to Mike McCandles' lucene benchmark.
> >
> > so yet another monitor was born, is described here:
> > http://29min.wordpress.com/2013/07/31/measuring-solr-query-performance/
> >
> > I tested it on the problem of garbage collectors (see the blogs for
> > details) and so far I can't conclude whether highly customized G1 is
> better
> > than highly customized CMS, but I think interesting details can be seen
> > there.
> >
> > Hope this helps someone, and of course, feel free to improve the tool and
> > share!
>
> I have a CMS config that's even more tuned than before, and it has made
> things MUCH better.  This new config is inspired by more info that I got
> on IRC:
>
> http://wiki.apache.org/solr/ShawnHeisey#GC_Tuning
>
> The G1 customizations in your blog post don't look like they are really
> G1-specific - they may be useful with CMS as well.  This statement also
> applies to some of the CMS parameters, so I would use those with G1 as
> well for any testing.
>
> UseNUMA looks interesting for machines that actually are NUMA.  All the
> information that I can find says it is only for the throughput
> (parallel) collector, so it's probably not doing anything for G1.
>
> The pause parameters you've got for G1 are targets only.  It will *try*
> to stick within those parameters, but if a collection requires more than
> 50 milliseconds or has to happen more often than once a second, the
> collector will ignore what you have told it.
>
> Thanks,
> Shawn
>
>


Re: Measuring SOLR performance

2013-07-31 Thread Roman Chyla
Hi Dmitry,
probably mistake in the readme, try calling it with -q
/home/dmitry/projects/lab/solrjmeter/queries/demo/demo.queries

as for the base_url, i was testing it on solr4.0, where it tries contactin
/solr/admin/system - is it different for 4.3? I guess I should make it
configurable (it already is, the endpoint is set at the check_options())

thanks

roman


On Wed, Jul 31, 2013 at 10:01 AM, Dmitry Kan  wrote:

> Ok, got the error fixed by modifying the base solr ulr in solrjmeter.py
> (added core name after /solr part).
> Next error is:
>
> WARNING: no test name(s) supplied nor found in:
> ['/home/dmitry/projects/lab/solrjmeter/demo/queries/demo.queries']
>
> It is a 'slow start with new tool' symptom I guess.. :)
>
>
> On Wed, Jul 31, 2013 at 4:39 PM, Dmitry Kan  wrote:
>
>> Hi Roman,
>>
>> What  version and config of SOLR does the tool expect?
>>
>> Tried to run, but got:
>>
>> **ERROR**
>>   File "solrjmeter.py", line 1390, in 
>> main(sys.argv)
>>   File "solrjmeter.py", line 1296, in main
>> check_prerequisities(options)
>>   File "solrjmeter.py", line 351, in check_prerequisities
>> error('Cannot contact: %s' % options.query_endpoint)
>>   File "solrjmeter.py", line 66, in error
>> traceback.print_stack()
>> Cannot contact: http://localhost:8983/solr
>>
>>
>> complains about URL, clicking which leads properly to the admin page...
>> solr 4.3.1, 2 cores shard
>>
>> Dmitry
>>
>>
>> On Wed, Jul 31, 2013 at 3:59 AM, Roman Chyla wrote:
>>
>>> Hello,
>>>
>>> I have been wanting some tools for measuring performance of SOLR, similar
>>> to Mike McCandles' lucene benchmark.
>>>
>>> so yet another monitor was born, is described here:
>>> http://29min.wordpress.com/2013/07/31/measuring-solr-query-performance/
>>>
>>> I tested it on the problem of garbage collectors (see the blogs for
>>> details) and so far I can't conclude whether highly customized G1 is
>>> better
>>> than highly customized CMS, but I think interesting details can be seen
>>> there.
>>>
>>> Hope this helps someone, and of course, feel free to improve the tool and
>>> share!
>>>
>>> roman
>>>
>>
>>
>


Re: Measuring SOLR performance

2013-07-31 Thread Shawn Heisey
On 7/31/2013 12:24 AM, William Bell wrote:
> But that link does not tell me which on you are using?
> 
> You are listing like 4 versions on your site.
> 
> Also, what did it fix? Pause times?
> 
> 
> Any other words of wisdom ?

I'm not sure whether that was directed at me or Roman, but here's my
answers:

I run one copy of my index on Solr 3.5.0 and another copy on Solr 4.2.1.
 I have a completely separate (and much smaller) index using SolrCloud
on 4.2.1.

I was seeing GC pause times of 8-10 seconds on both 3.5.0 and 4.2.1 with
an untuned CMS collector.  When I switched that to G1 (also untuned), I
was seeing pause times of 12 seconds.  The average GC time did go down,
but the long stop-the-world pauses were worse.  I used the jHiccup tool
to see the problem.

I went to a CMS config much like what Roman used on his benchmarks, and
that improved things greatly, but I was still seeing occasional pauses
long enough to make my load balancer ping check (5 second timeout) think
that the index had gone down.

I later tried the CMS config that's on my wiki page.  That seems to have
fixed my load balancer problem.  I do still see pauses of up to a
second, but they are not frequent.  We have more page load delay from
our webapp than we do from Solr, so users aren't noticing when searches
occasionally take a little longer.

Thanks,
Shawn



Re: Measuring SOLR performance

2013-07-31 Thread Dmitry Kan
Ok, got the error fixed by modifying the base solr ulr in solrjmeter.py
(added core name after /solr part).
Next error is:

WARNING: no test name(s) supplied nor found in:
['/home/dmitry/projects/lab/solrjmeter/demo/queries/demo.queries']

It is a 'slow start with new tool' symptom I guess.. :)


On Wed, Jul 31, 2013 at 4:39 PM, Dmitry Kan  wrote:

> Hi Roman,
>
> What  version and config of SOLR does the tool expect?
>
> Tried to run, but got:
>
> **ERROR**
>   File "solrjmeter.py", line 1390, in 
> main(sys.argv)
>   File "solrjmeter.py", line 1296, in main
> check_prerequisities(options)
>   File "solrjmeter.py", line 351, in check_prerequisities
> error('Cannot contact: %s' % options.query_endpoint)
>   File "solrjmeter.py", line 66, in error
> traceback.print_stack()
> Cannot contact: http://localhost:8983/solr
>
>
> complains about URL, clicking which leads properly to the admin page...
> solr 4.3.1, 2 cores shard
>
> Dmitry
>
>
> On Wed, Jul 31, 2013 at 3:59 AM, Roman Chyla wrote:
>
>> Hello,
>>
>> I have been wanting some tools for measuring performance of SOLR, similar
>> to Mike McCandles' lucene benchmark.
>>
>> so yet another monitor was born, is described here:
>> http://29min.wordpress.com/2013/07/31/measuring-solr-query-performance/
>>
>> I tested it on the problem of garbage collectors (see the blogs for
>> details) and so far I can't conclude whether highly customized G1 is
>> better
>> than highly customized CMS, but I think interesting details can be seen
>> there.
>>
>> Hope this helps someone, and of course, feel free to improve the tool and
>> share!
>>
>> roman
>>
>
>


Re: Measuring SOLR performance

2013-07-31 Thread Dmitry Kan
Hi Roman,

What  version and config of SOLR does the tool expect?

Tried to run, but got:

**ERROR**
  File "solrjmeter.py", line 1390, in 
main(sys.argv)
  File "solrjmeter.py", line 1296, in main
check_prerequisities(options)
  File "solrjmeter.py", line 351, in check_prerequisities
error('Cannot contact: %s' % options.query_endpoint)
  File "solrjmeter.py", line 66, in error
traceback.print_stack()
Cannot contact: http://localhost:8983/solr


complains about URL, clicking which leads properly to the admin page...
solr 4.3.1, 2 cores shard

Dmitry


On Wed, Jul 31, 2013 at 3:59 AM, Roman Chyla  wrote:

> Hello,
>
> I have been wanting some tools for measuring performance of SOLR, similar
> to Mike McCandles' lucene benchmark.
>
> so yet another monitor was born, is described here:
> http://29min.wordpress.com/2013/07/31/measuring-solr-query-performance/
>
> I tested it on the problem of garbage collectors (see the blogs for
> details) and so far I can't conclude whether highly customized G1 is better
> than highly customized CMS, but I think interesting details can be seen
> there.
>
> Hope this helps someone, and of course, feel free to improve the tool and
> share!
>
> roman
>


Re: Measuring SOLR performance

2013-07-30 Thread William Bell
But that link does not tell me which on you are using?

You are listing like 4 versions on your site.

Also, what did it fix? Pause times?


Any other words of wisdom ?



On Tue, Jul 30, 2013 at 9:01 PM, Shawn Heisey  wrote:

> On 7/30/2013 6:59 PM, Roman Chyla wrote:
> > I have been wanting some tools for measuring performance of SOLR, similar
> > to Mike McCandles' lucene benchmark.
> >
> > so yet another monitor was born, is described here:
> > http://29min.wordpress.com/2013/07/31/measuring-solr-query-performance/
> >
> > I tested it on the problem of garbage collectors (see the blogs for
> > details) and so far I can't conclude whether highly customized G1 is
> better
> > than highly customized CMS, but I think interesting details can be seen
> > there.
> >
> > Hope this helps someone, and of course, feel free to improve the tool and
> > share!
>
> I have a CMS config that's even more tuned than before, and it has made
> things MUCH better.  This new config is inspired by more info that I got
> on IRC:
>
> http://wiki.apache.org/solr/ShawnHeisey#GC_Tuning
>
> The G1 customizations in your blog post don't look like they are really
> G1-specific - they may be useful with CMS as well.  This statement also
> applies to some of the CMS parameters, so I would use those with G1 as
> well for any testing.
>
> UseNUMA looks interesting for machines that actually are NUMA.  All the
> information that I can find says it is only for the throughput
> (parallel) collector, so it's probably not doing anything for G1.
>
> The pause parameters you've got for G1 are targets only.  It will *try*
> to stick within those parameters, but if a collection requires more than
> 50 milliseconds or has to happen more often than once a second, the
> collector will ignore what you have told it.
>
> Thanks,
> Shawn
>
>


-- 
Bill Bell
billnb...@gmail.com
cell 720-256-8076


Re: Measuring SOLR performance

2013-07-30 Thread Shawn Heisey
On 7/30/2013 6:59 PM, Roman Chyla wrote:
> I have been wanting some tools for measuring performance of SOLR, similar
> to Mike McCandles' lucene benchmark.
> 
> so yet another monitor was born, is described here:
> http://29min.wordpress.com/2013/07/31/measuring-solr-query-performance/
> 
> I tested it on the problem of garbage collectors (see the blogs for
> details) and so far I can't conclude whether highly customized G1 is better
> than highly customized CMS, but I think interesting details can be seen
> there.
> 
> Hope this helps someone, and of course, feel free to improve the tool and
> share!

I have a CMS config that's even more tuned than before, and it has made
things MUCH better.  This new config is inspired by more info that I got
on IRC:

http://wiki.apache.org/solr/ShawnHeisey#GC_Tuning

The G1 customizations in your blog post don't look like they are really
G1-specific - they may be useful with CMS as well.  This statement also
applies to some of the CMS parameters, so I would use those with G1 as
well for any testing.

UseNUMA looks interesting for machines that actually are NUMA.  All the
information that I can find says it is only for the throughput
(parallel) collector, so it's probably not doing anything for G1.

The pause parameters you've got for G1 are targets only.  It will *try*
to stick within those parameters, but if a collection requires more than
50 milliseconds or has to happen more often than once a second, the
collector will ignore what you have told it.

Thanks,
Shawn