You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Roman Chyla <ro...@gmail.com> on 2013/07/31 02:59:06 UTC
Measuring SOLR performance
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
Posted by Erick Erickson <er...@gmail.com>.
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 <ro...@gmail.com> wrote:
> On Thu, Aug 1, 2013 at 6:11 PM, Shawn Heisey <so...@elyograg.org> 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
Posted by Roman Chyla <ro...@gmail.com>.
On Thu, Aug 1, 2013 at 6:11 PM, Shawn Heisey <so...@elyograg.org> 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
Posted by Shawn Heisey <so...@elyograg.org>.
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
Posted by Roman Chyla <ro...@gmail.com>.
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 <ro...@gmail.com> 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 <so...@elyograg.org> 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
Posted by Roman Chyla <ro...@gmail.com>.
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
<ma...@openindex.io>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 <ro...@gmail.com>
> > 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 <so...@elyograg.org>
> 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
Posted by Roman Chyla <ro...@gmail.com>.
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 <so...@elyograg.org> 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
Posted by Shawn Heisey <so...@elyograg.org>.
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
Posted by William Bell <bi...@gmail.com>.
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 <so...@elyograg.org> 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
billnbell@gmail.com
cell 720-256-8076
Re: Measuring SOLR performance
Posted by Roman Chyla <ro...@gmail.com>.
Hi Bernd,
On Thu, Aug 1, 2013 at 4:07 AM, Bernd Fehling <
bernd.fehling@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
Posted by Bernd Fehling <be...@uni-bielefeld.de>.
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
Posted by Shawn Heisey <so...@elyograg.org>.
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
Posted by Shawn Heisey <so...@elyograg.org>.
On 7/31/2013 3:32 PM, Roman Chyla wrote:
> thanks, so i should add a way to specify a core, or rather i will make
> the whole endpoint user configurable
Good plan.
> and which urls will work? /solr/admin/collection or
> /solr/collection/admin? can we assume the info handlers will be
> available under the "collection url" as well?
The URL for the CoreAdmin API handler is:
/solr/admin/cores
Similarly, the URL for the Collections API is the following, but without
URL parameters, this one won't do anything useful at this
time:
/solr/admin/collections
For some reason I thought SOLR-4943 had been committed to Solr 4.4, but
it's not there. In 4.5, you'll be able to access the following URL
without a core name in the URL or the defaultCoreName setting in solr.xml:
/solr/admin/info/system
There are also some other info handler URLs, see SOLR-4943 comments.
Thanks,
Shawn
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org
Re: Measuring SOLR performance
Posted by Roman Chyla <ro...@gmail.com>.
On Wed, Jul 31, 2013 at 1:21 PM, Shawn Heisey <so...@elyograg.org> wrote:
> On 7/31/2013 10:21 AM, 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())
>>
>
> /solr URLs that don't include a core name (like /solr/admin/system) will
> only work if you have a defaultCoreName attribute in your solr.xml file and
> its value refers to an existing core. Behind the scenes, Solr just directs
> those queries to the default core.
>
thanks, so i should add a way to specify a core, or rather i will make the
whole endpoint user configurable
>
> If you use the new solr.xml format (required in trunk), then there is no
> defaultCoreName, so these URLs currently don't work at all. I think this
> behavior is correct, but it's early days for this feature. The default
> core name might get re-introduced.
>
and which urls will work? /solr/admin/collection or /solr/collection/admin?
can we assume the info handlers will be available under the "collection
url" as well?
>
> Exceptions to the above rule include the CoreAdmin API, the Collections
> API, and the new admin info handler introduced in Solr 4.4 by SOLR-4943.
>
> In 4.5, SOLR-3633 will use the new info handler allow the UI to work when
> there are no cores present.
>
hmm, ok, i guess i'm fine now, i'll worry about that later
roman
> Thanks,
> Shawn
>
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.**org<de...@lucene.apache.org>
> For additional commands, e-mail: dev-help@lucene.apache.org
>
>
Re: Measuring SOLR performance
Posted by Shawn Heisey <so...@elyograg.org>.
On 7/31/2013 10:21 AM, 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())
/solr URLs that don't include a core name (like /solr/admin/system) will
only work if you have a defaultCoreName attribute in your solr.xml file
and its value refers to an existing core. Behind the scenes, Solr just
directs those queries to the default core.
If you use the new solr.xml format (required in trunk), then there is no
defaultCoreName, so these URLs currently don't work at all. I think
this behavior is correct, but it's early days for this feature. The
default core name might get re-introduced.
Exceptions to the above rule include the CoreAdmin API, the Collections
API, and the new admin info handler introduced in Solr 4.4 by SOLR-4943.
In 4.5, SOLR-3633 will use the new info handler allow the UI to work
when there are no cores present.
Thanks,
Shawn
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org
Re: Measuring SOLR performance
Posted by Dmitry Kan <so...@gmail.com>.
Hi Roman,
Ok, I will. Thanks!
Cheers,
Dmitry
On Tue, Sep 3, 2013 at 4:46 PM, Roman Chyla <ro...@gmail.com> 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 <so...@gmail.com> 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.<clinit>(UniversalRunner.java:55)
> > at
> >
> kg.apc.cmd.UniversalRunner.buildUpdatedClassPath(UniversalRunner.java:109)
> > at kg.apc.cmd.UniversalRunner.<clinit>(UniversalRunner.java:55)
> >
> > at
> >
> kg.apc.cmd.UniversalRunner.buildUpdatedClassPath(UniversalRunner.java:109)
> > at kg.apc.cmd.UniversalRunner.<clinit>(UniversalRunner.java:55)
> >
> >
> >
> > On Tue, Sep 3, 2013 at 2:50 AM, Roman Chyla <ro...@gmail.com>
> 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 <so...@gmail.com>
> 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 <
> > erickerickson@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 <so...@gmail.com>
> > > 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 <
> solrexpert@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.chyla@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 <
> > solrexpert@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:
> > > > > > >> >
> > > > > > >> > [code]
> > > > > > >> > <solr persistent="false">
> > > > > > >> >
> > > > > > >> > <!--
> > > > > > >> > adminPath: RequestHandler path to manage cores.
> > > > > > >> > If 'null' (or absent), cores will not be manageable via
> > > > request
> > > > > > >> handler
> > > > > > >> > -->
> > > > > > >> > <cores adminPath="/admin/cores" host="${host:}"
> > > > > > >> > hostPort="${jetty.port:8983}"
> > hostContext="${hostContext:solr}">
> > > > > > >> > <core name="metadata" instanceDir="metadata" />
> > > > > > >> > <core name="statements" instanceDir="statements" />
> > > > > > >> > </cores>
> > > > > > >> > </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 <module>
> > > > > > >> > 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 <
> > > solrexpert@gmail.com
> > > > >
> > > > > > >> 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.chyla@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 <
> > > > > solrexpert@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 <module>
> > > > > > >> > >> > 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.chyla@gmail.com>
> > > > > > >> > >> > wrote:
> > > > > > >> > >> >
> > > > > > >> > >> > > Hi Dmitry,
> > > > > > >> > >> > >
> > > > > > >> > >> > >
> > > > > > >> > >> > >
> > > > > > >> > >> > > On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan <
> > > > > > >> solrexpert@gmail.com>
> > > > > > >> > >> > 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 <module>
> > > > > > >> > >> > > > 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 <
> > > > > > >> > roman.chyla@gmail.com>
> > > > > > >> > >> > > 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 <
> > > > > > >> > solrexpert@gmail.com
> > > > > > >> > >> >
> > > > > > >> > >> > > > 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 <module>
> > > > > > >> > >> > > > > > 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 <
> > > > > > >> > >> solrexpert@gmail.com>
> > > > > > >> > >> > > > 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 <
> > > > > > >> > >> > roman.chyla@gmail.com
> > > > > > >> > >> > > >
> > > > > > >> > >> > > > > > 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 <
> > > > > > >> > >> > solrexpert@gmail.com>
> > > > > > >> > >> > > > > > 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 <
> > > > > > >> > >> > solr@elyograg.org
> > > > > > >> > >> > > >
> > > > > > >> > >> > > > > > wrote:
> > > > > > >> > >> > > > > > >> >
> > > > > > >> > >> > > > > > >> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> > > > > > >> > >> > > > > > >> > > > Of three URLs you asked for, only the
> > 3rd
> > > > one
> > > > > > gave
> > > > > > >> > >> > response:
> > > > > > >> > >> > > > > > >> > > <snip>
> > > > > > >> > >> > > > > > >> > > > The rest report 404.
> > > > > > >> > >> > > > > > >> > > >
> > > > > > >> > >> > > > > > >> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman
> > > Chyla
> > > > <
> > > > > > >> > >> > > > > > roman.chyla@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
Posted by Roman Chyla <ro...@gmail.com>.
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 <so...@gmail.com> 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.<clinit>(UniversalRunner.java:55)
> at
> kg.apc.cmd.UniversalRunner.buildUpdatedClassPath(UniversalRunner.java:109)
> at kg.apc.cmd.UniversalRunner.<clinit>(UniversalRunner.java:55)
>
> at
> kg.apc.cmd.UniversalRunner.buildUpdatedClassPath(UniversalRunner.java:109)
> at kg.apc.cmd.UniversalRunner.<clinit>(UniversalRunner.java:55)
>
>
>
> On Tue, Sep 3, 2013 at 2:50 AM, Roman Chyla <ro...@gmail.com> 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 <so...@gmail.com> 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 <
> erickerickson@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 <so...@gmail.com>
> > 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 <so...@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.chyla@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 <
> solrexpert@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:
> > > > > >> >
> > > > > >> > [code]
> > > > > >> > <solr persistent="false">
> > > > > >> >
> > > > > >> > <!--
> > > > > >> > adminPath: RequestHandler path to manage cores.
> > > > > >> > If 'null' (or absent), cores will not be manageable via
> > > request
> > > > > >> handler
> > > > > >> > -->
> > > > > >> > <cores adminPath="/admin/cores" host="${host:}"
> > > > > >> > hostPort="${jetty.port:8983}"
> hostContext="${hostContext:solr}">
> > > > > >> > <core name="metadata" instanceDir="metadata" />
> > > > > >> > <core name="statements" instanceDir="statements" />
> > > > > >> > </cores>
> > > > > >> > </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 <module>
> > > > > >> > 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 <
> > solrexpert@gmail.com
> > > >
> > > > > >> 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.chyla@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 <
> > > > solrexpert@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 <module>
> > > > > >> > >> > 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.chyla@gmail.com>
> > > > > >> > >> > wrote:
> > > > > >> > >> >
> > > > > >> > >> > > Hi Dmitry,
> > > > > >> > >> > >
> > > > > >> > >> > >
> > > > > >> > >> > >
> > > > > >> > >> > > On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan <
> > > > > >> solrexpert@gmail.com>
> > > > > >> > >> > 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 <module>
> > > > > >> > >> > > > 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 <
> > > > > >> > roman.chyla@gmail.com>
> > > > > >> > >> > > 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 <
> > > > > >> > solrexpert@gmail.com
> > > > > >> > >> >
> > > > > >> > >> > > > 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 <module>
> > > > > >> > >> > > > > > 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 <
> > > > > >> > >> solrexpert@gmail.com>
> > > > > >> > >> > > > 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 <
> > > > > >> > >> > roman.chyla@gmail.com
> > > > > >> > >> > > >
> > > > > >> > >> > > > > > 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 <
> > > > > >> > >> > solrexpert@gmail.com>
> > > > > >> > >> > > > > > 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 <
> > > > > >> > >> > solr@elyograg.org
> > > > > >> > >> > > >
> > > > > >> > >> > > > > > wrote:
> > > > > >> > >> > > > > > >> >
> > > > > >> > >> > > > > > >> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> > > > > >> > >> > > > > > >> > > > Of three URLs you asked for, only the
> 3rd
> > > one
> > > > > gave
> > > > > >> > >> > response:
> > > > > >> > >> > > > > > >> > > <snip>
> > > > > >> > >> > > > > > >> > > > The rest report 404.
> > > > > >> > >> > > > > > >> > > >
> > > > > >> > >> > > > > > >> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman
> > Chyla
> > > <
> > > > > >> > >> > > > > > roman.chyla@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
Posted by Dmitry Kan <so...@gmail.com>.
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.<clinit>(UniversalRunner.java:55)
at
kg.apc.cmd.UniversalRunner.buildUpdatedClassPath(UniversalRunner.java:109)
at kg.apc.cmd.UniversalRunner.<clinit>(UniversalRunner.java:55)
at
kg.apc.cmd.UniversalRunner.buildUpdatedClassPath(UniversalRunner.java:109)
at kg.apc.cmd.UniversalRunner.<clinit>(UniversalRunner.java:55)
On Tue, Sep 3, 2013 at 2:50 AM, Roman Chyla <ro...@gmail.com> 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 <so...@gmail.com> 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 <erickerickson@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 <so...@gmail.com>
> 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 <so...@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.chyla@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 <solrexpert@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:
> > > > >> >
> > > > >> > [code]
> > > > >> > <solr persistent="false">
> > > > >> >
> > > > >> > <!--
> > > > >> > adminPath: RequestHandler path to manage cores.
> > > > >> > If 'null' (or absent), cores will not be manageable via
> > request
> > > > >> handler
> > > > >> > -->
> > > > >> > <cores adminPath="/admin/cores" host="${host:}"
> > > > >> > hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
> > > > >> > <core name="metadata" instanceDir="metadata" />
> > > > >> > <core name="statements" instanceDir="statements" />
> > > > >> > </cores>
> > > > >> > </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 <module>
> > > > >> > 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 <
> solrexpert@gmail.com
> > >
> > > > >> 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.chyla@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 <
> > > solrexpert@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 <module>
> > > > >> > >> > 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.chyla@gmail.com>
> > > > >> > >> > wrote:
> > > > >> > >> >
> > > > >> > >> > > Hi Dmitry,
> > > > >> > >> > >
> > > > >> > >> > >
> > > > >> > >> > >
> > > > >> > >> > > On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan <
> > > > >> solrexpert@gmail.com>
> > > > >> > >> > 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 <module>
> > > > >> > >> > > > 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 <
> > > > >> > roman.chyla@gmail.com>
> > > > >> > >> > > 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 <
> > > > >> > solrexpert@gmail.com
> > > > >> > >> >
> > > > >> > >> > > > 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 <module>
> > > > >> > >> > > > > > 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 <
> > > > >> > >> solrexpert@gmail.com>
> > > > >> > >> > > > 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 <
> > > > >> > >> > roman.chyla@gmail.com
> > > > >> > >> > > >
> > > > >> > >> > > > > > 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 <
> > > > >> > >> > solrexpert@gmail.com>
> > > > >> > >> > > > > > 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 <
> > > > >> > >> > solr@elyograg.org
> > > > >> > >> > > >
> > > > >> > >> > > > > > wrote:
> > > > >> > >> > > > > > >> >
> > > > >> > >> > > > > > >> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> > > > >> > >> > > > > > >> > > > Of three URLs you asked for, only the 3rd
> > one
> > > > gave
> > > > >> > >> > response:
> > > > >> > >> > > > > > >> > > <snip>
> > > > >> > >> > > > > > >> > > > The rest report 404.
> > > > >> > >> > > > > > >> > > >
> > > > >> > >> > > > > > >> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman
> Chyla
> > <
> > > > >> > >> > > > > > roman.chyla@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
Posted by Roman Chyla <ro...@gmail.com>.
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 <so...@gmail.com> 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 <erickerickson@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 <so...@gmail.com> 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 <so...@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.chyla@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 <so...@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:
> > > >> >
> > > >> > [code]
> > > >> > <solr persistent="false">
> > > >> >
> > > >> > <!--
> > > >> > adminPath: RequestHandler path to manage cores.
> > > >> > If 'null' (or absent), cores will not be manageable via
> request
> > > >> handler
> > > >> > -->
> > > >> > <cores adminPath="/admin/cores" host="${host:}"
> > > >> > hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
> > > >> > <core name="metadata" instanceDir="metadata" />
> > > >> > <core name="statements" instanceDir="statements" />
> > > >> > </cores>
> > > >> > </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 <module>
> > > >> > 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 <solrexpert@gmail.com
> >
> > > >> 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.chyla@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 <
> > solrexpert@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 <module>
> > > >> > >> > 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.chyla@gmail.com>
> > > >> > >> > wrote:
> > > >> > >> >
> > > >> > >> > > Hi Dmitry,
> > > >> > >> > >
> > > >> > >> > >
> > > >> > >> > >
> > > >> > >> > > On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan <
> > > >> solrexpert@gmail.com>
> > > >> > >> > 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 <module>
> > > >> > >> > > > 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 <
> > > >> > roman.chyla@gmail.com>
> > > >> > >> > > 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 <
> > > >> > solrexpert@gmail.com
> > > >> > >> >
> > > >> > >> > > > 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 <module>
> > > >> > >> > > > > > 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 <
> > > >> > >> solrexpert@gmail.com>
> > > >> > >> > > > 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 <
> > > >> > >> > roman.chyla@gmail.com
> > > >> > >> > > >
> > > >> > >> > > > > > 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 <
> > > >> > >> > solrexpert@gmail.com>
> > > >> > >> > > > > > 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 <
> > > >> > >> > solr@elyograg.org
> > > >> > >> > > >
> > > >> > >> > > > > > wrote:
> > > >> > >> > > > > > >> >
> > > >> > >> > > > > > >> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> > > >> > >> > > > > > >> > > > Of three URLs you asked for, only the 3rd
> one
> > > gave
> > > >> > >> > response:
> > > >> > >> > > > > > >> > > <snip>
> > > >> > >> > > > > > >> > > > The rest report 404.
> > > >> > >> > > > > > >> > > >
> > > >> > >> > > > > > >> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla
> <
> > > >> > >> > > > > > roman.chyla@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
Posted by Dmitry Kan <so...@gmail.com>.
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 <er...@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 <so...@gmail.com> 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 <so...@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.chyla@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 <so...@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:
> > >> >
> > >> > [code]
> > >> > <solr persistent="false">
> > >> >
> > >> > <!--
> > >> > adminPath: RequestHandler path to manage cores.
> > >> > If 'null' (or absent), cores will not be manageable via request
> > >> handler
> > >> > -->
> > >> > <cores adminPath="/admin/cores" host="${host:}"
> > >> > hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
> > >> > <core name="metadata" instanceDir="metadata" />
> > >> > <core name="statements" instanceDir="statements" />
> > >> > </cores>
> > >> > </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 <module>
> > >> > 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 <so...@gmail.com>
> > >> 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.chyla@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 <
> solrexpert@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 <module>
> > >> > >> > 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.chyla@gmail.com>
> > >> > >> > wrote:
> > >> > >> >
> > >> > >> > > Hi Dmitry,
> > >> > >> > >
> > >> > >> > >
> > >> > >> > >
> > >> > >> > > On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan <
> > >> solrexpert@gmail.com>
> > >> > >> > 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 <module>
> > >> > >> > > > 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 <
> > >> > roman.chyla@gmail.com>
> > >> > >> > > 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 <
> > >> > solrexpert@gmail.com
> > >> > >> >
> > >> > >> > > > 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 <module>
> > >> > >> > > > > > 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 <
> > >> > >> solrexpert@gmail.com>
> > >> > >> > > > 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 <
> > >> > >> > roman.chyla@gmail.com
> > >> > >> > > >
> > >> > >> > > > > > 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 <
> > >> > >> > solrexpert@gmail.com>
> > >> > >> > > > > > 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 <
> > >> > >> > solr@elyograg.org
> > >> > >> > > >
> > >> > >> > > > > > wrote:
> > >> > >> > > > > > >> >
> > >> > >> > > > > > >> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> > >> > >> > > > > > >> > > > Of three URLs you asked for, only the 3rd one
> > gave
> > >> > >> > response:
> > >> > >> > > > > > >> > > <snip>
> > >> > >> > > > > > >> > > > The rest report 404.
> > >> > >> > > > > > >> > > >
> > >> > >> > > > > > >> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <
> > >> > >> > > > > > roman.chyla@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
Posted by Erick Erickson <er...@gmail.com>.
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 <so...@gmail.com> 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 <so...@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.chyla@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 <so...@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:
> >> >
> >> > [code]
> >> > <solr persistent="false">
> >> >
> >> > <!--
> >> > adminPath: RequestHandler path to manage cores.
> >> > If 'null' (or absent), cores will not be manageable via request
> >> handler
> >> > -->
> >> > <cores adminPath="/admin/cores" host="${host:}"
> >> > hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
> >> > <core name="metadata" instanceDir="metadata" />
> >> > <core name="statements" instanceDir="statements" />
> >> > </cores>
> >> > </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 <module>
> >> > 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 <so...@gmail.com>
> >> 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.chyla@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 <so...@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 <module>
> >> > >> > 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.chyla@gmail.com>
> >> > >> > wrote:
> >> > >> >
> >> > >> > > Hi Dmitry,
> >> > >> > >
> >> > >> > >
> >> > >> > >
> >> > >> > > On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan <
> >> solrexpert@gmail.com>
> >> > >> > 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 <module>
> >> > >> > > > 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 <
> >> > roman.chyla@gmail.com>
> >> > >> > > 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 <
> >> > solrexpert@gmail.com
> >> > >> >
> >> > >> > > > 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 <module>
> >> > >> > > > > > 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 <
> >> > >> solrexpert@gmail.com>
> >> > >> > > > 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 <
> >> > >> > roman.chyla@gmail.com
> >> > >> > > >
> >> > >> > > > > > 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 <
> >> > >> > solrexpert@gmail.com>
> >> > >> > > > > > 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 <
> >> > >> > solr@elyograg.org
> >> > >> > > >
> >> > >> > > > > > wrote:
> >> > >> > > > > > >> >
> >> > >> > > > > > >> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> >> > >> > > > > > >> > > > Of three URLs you asked for, only the 3rd one
> gave
> >> > >> > response:
> >> > >> > > > > > >> > > <snip>
> >> > >> > > > > > >> > > > The rest report 404.
> >> > >> > > > > > >> > > >
> >> > >> > > > > > >> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <
> >> > >> > > > > > roman.chyla@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
Posted by Dmitry Kan <so...@gmail.com>.
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 <so...@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 <ro...@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 <so...@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:
>> >
>> > [code]
>> > <solr persistent="false">
>> >
>> > <!--
>> > adminPath: RequestHandler path to manage cores.
>> > If 'null' (or absent), cores will not be manageable via request
>> handler
>> > -->
>> > <cores adminPath="/admin/cores" host="${host:}"
>> > hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
>> > <core name="metadata" instanceDir="metadata" />
>> > <core name="statements" instanceDir="statements" />
>> > </cores>
>> > </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 <module>
>> > 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 <so...@gmail.com>
>> 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.chyla@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 <so...@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 <module>
>> > >> > 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.chyla@gmail.com>
>> > >> > wrote:
>> > >> >
>> > >> > > Hi Dmitry,
>> > >> > >
>> > >> > >
>> > >> > >
>> > >> > > On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan <
>> solrexpert@gmail.com>
>> > >> > 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 <module>
>> > >> > > > 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 <
>> > roman.chyla@gmail.com>
>> > >> > > 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 <
>> > solrexpert@gmail.com
>> > >> >
>> > >> > > > 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 <module>
>> > >> > > > > > 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 <
>> > >> solrexpert@gmail.com>
>> > >> > > > 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 <
>> > >> > roman.chyla@gmail.com
>> > >> > > >
>> > >> > > > > > 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 <
>> > >> > solrexpert@gmail.com>
>> > >> > > > > > 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 <
>> > >> > solr@elyograg.org
>> > >> > > >
>> > >> > > > > > wrote:
>> > >> > > > > > >> >
>> > >> > > > > > >> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
>> > >> > > > > > >> > > > Of three URLs you asked for, only the 3rd one gave
>> > >> > response:
>> > >> > > > > > >> > > <snip>
>> > >> > > > > > >> > > > The rest report 404.
>> > >> > > > > > >> > > >
>> > >> > > > > > >> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <
>> > >> > > > > > roman.chyla@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
Posted by Dmitry Kan <so...@gmail.com>.
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 <ro...@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 <so...@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:
> >
> > [code]
> > <solr persistent="false">
> >
> > <!--
> > adminPath: RequestHandler path to manage cores.
> > If 'null' (or absent), cores will not be manageable via request
> handler
> > -->
> > <cores adminPath="/admin/cores" host="${host:}"
> > hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
> > <core name="metadata" instanceDir="metadata" />
> > <core name="statements" instanceDir="statements" />
> > </cores>
> > </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 <module>
> > 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 <so...@gmail.com>
> 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.chyla@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 <so...@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 <module>
> > >> > 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.chyla@gmail.com
> >
> > >> > wrote:
> > >> >
> > >> > > Hi Dmitry,
> > >> > >
> > >> > >
> > >> > >
> > >> > > On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan <solrexpert@gmail.com
> >
> > >> > 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 <module>
> > >> > > > 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 <
> > roman.chyla@gmail.com>
> > >> > > 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 <
> > solrexpert@gmail.com
> > >> >
> > >> > > > 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 <module>
> > >> > > > > > 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 <
> > >> solrexpert@gmail.com>
> > >> > > > 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 <
> > >> > roman.chyla@gmail.com
> > >> > > >
> > >> > > > > > 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 <
> > >> > solrexpert@gmail.com>
> > >> > > > > > 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 <
> > >> > solr@elyograg.org
> > >> > > >
> > >> > > > > > wrote:
> > >> > > > > > >> >
> > >> > > > > > >> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> > >> > > > > > >> > > > Of three URLs you asked for, only the 3rd one gave
> > >> > response:
> > >> > > > > > >> > > <snip>
> > >> > > > > > >> > > > The rest report 404.
> > >> > > > > > >> > > >
> > >> > > > > > >> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <
> > >> > > > > > roman.chyla@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
Posted by Roman Chyla <ro...@gmail.com>.
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 <so...@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:
>
> [code]
> <solr persistent="false">
>
> <!--
> adminPath: RequestHandler path to manage cores.
> If 'null' (or absent), cores will not be manageable via request handler
> -->
> <cores adminPath="/admin/cores" host="${host:}"
> hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
> <core name="metadata" instanceDir="metadata" />
> <core name="statements" instanceDir="statements" />
> </cores>
> </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 <module>
> 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 <so...@gmail.com> 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.chyla@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 <so...@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 <module>
> >> > 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 <ro...@gmail.com>
> >> > wrote:
> >> >
> >> > > Hi Dmitry,
> >> > >
> >> > >
> >> > >
> >> > > On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan <so...@gmail.com>
> >> > 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 <module>
> >> > > > 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 <
> roman.chyla@gmail.com>
> >> > > 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 <
> solrexpert@gmail.com
> >> >
> >> > > > 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 <module>
> >> > > > > > 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 <
> >> solrexpert@gmail.com>
> >> > > > 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 <
> >> > roman.chyla@gmail.com
> >> > > >
> >> > > > > > 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 <
> >> > solrexpert@gmail.com>
> >> > > > > > 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 <
> >> > solr@elyograg.org
> >> > > >
> >> > > > > > wrote:
> >> > > > > > >> >
> >> > > > > > >> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> >> > > > > > >> > > > Of three URLs you asked for, only the 3rd one gave
> >> > response:
> >> > > > > > >> > > <snip>
> >> > > > > > >> > > > The rest report 404.
> >> > > > > > >> > > >
> >> > > > > > >> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <
> >> > > > > > roman.chyla@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
Posted by Dmitry Kan <so...@gmail.com>.
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]
<solr persistent="false">
<!--
adminPath: RequestHandler path to manage cores.
If 'null' (or absent), cores will not be manageable via request handler
-->
<cores adminPath="/admin/cores" host="${host:}"
hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
<core name="metadata" instanceDir="metadata" />
<core name="statements" instanceDir="statements" />
</cores>
</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 <module>
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 <so...@gmail.com> 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 <ro...@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 <so...@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 <module>
>> > 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 <ro...@gmail.com>
>> > wrote:
>> >
>> > > Hi Dmitry,
>> > >
>> > >
>> > >
>> > > On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan <so...@gmail.com>
>> > 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 <module>
>> > > > 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 <ro...@gmail.com>
>> > > 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 <solrexpert@gmail.com
>> >
>> > > > 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 <module>
>> > > > > > 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 <
>> solrexpert@gmail.com>
>> > > > 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 <
>> > roman.chyla@gmail.com
>> > > >
>> > > > > > 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 <
>> > solrexpert@gmail.com>
>> > > > > > 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 <
>> > solr@elyograg.org
>> > > >
>> > > > > > wrote:
>> > > > > > >> >
>> > > > > > >> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
>> > > > > > >> > > > Of three URLs you asked for, only the 3rd one gave
>> > response:
>> > > > > > >> > > <snip>
>> > > > > > >> > > > The rest report 404.
>> > > > > > >> > > >
>> > > > > > >> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <
>> > > > > > roman.chyla@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
Posted by Dmitry Kan <so...@gmail.com>.
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 <ro...@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 <so...@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 <module>
> > 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 <ro...@gmail.com>
> > wrote:
> >
> > > Hi Dmitry,
> > >
> > >
> > >
> > > On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan <so...@gmail.com>
> > 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 <module>
> > > > 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 <ro...@gmail.com>
> > > 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 <so...@gmail.com>
> > > > 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 <module>
> > > > > > 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 <solrexpert@gmail.com
> >
> > > > 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 <
> > roman.chyla@gmail.com
> > > >
> > > > > > 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 <
> > solrexpert@gmail.com>
> > > > > > 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 <
> > solr@elyograg.org
> > > >
> > > > > > wrote:
> > > > > > >> >
> > > > > > >> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> > > > > > >> > > > Of three URLs you asked for, only the 3rd one gave
> > response:
> > > > > > >> > > <snip>
> > > > > > >> > > > The rest report 404.
> > > > > > >> > > >
> > > > > > >> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <
> > > > > > roman.chyla@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
Posted by Roman Chyla <ro...@gmail.com>.
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 <so...@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 <module>
> 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 <ro...@gmail.com>
> wrote:
>
> > Hi Dmitry,
> >
> >
> >
> > On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan <so...@gmail.com>
> 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 <module>
> > > 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 <ro...@gmail.com>
> > 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 <so...@gmail.com>
> > > 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 <module>
> > > > > 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 <so...@gmail.com>
> > > 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 <
> roman.chyla@gmail.com
> > >
> > > > > 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 <
> solrexpert@gmail.com>
> > > > > 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 <
> solr@elyograg.org
> > >
> > > > > wrote:
> > > > > >> >
> > > > > >> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> > > > > >> > > > Of three URLs you asked for, only the 3rd one gave
> response:
> > > > > >> > > <snip>
> > > > > >> > > > The rest report 404.
> > > > > >> > > >
> > > > > >> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <
> > > > > roman.chyla@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
Posted by Dmitry Kan <so...@gmail.com>.
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 <module>
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 <ro...@gmail.com> wrote:
> Hi Dmitry,
>
>
>
> On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan <so...@gmail.com> 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 <module>
> > 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 <ro...@gmail.com>
> 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 <so...@gmail.com>
> > 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 <module>
> > > > 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 <so...@gmail.com>
> > 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 <roman.chyla@gmail.com
> >
> > > > 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 <so...@gmail.com>
> > > > 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 <solr@elyograg.org
> >
> > > > wrote:
> > > > >> >
> > > > >> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> > > > >> > > > Of three URLs you asked for, only the 3rd one gave response:
> > > > >> > > <snip>
> > > > >> > > > The rest report 404.
> > > > >> > > >
> > > > >> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <
> > > > roman.chyla@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
Posted by Roman Chyla <ro...@gmail.com>.
Hi Dmitry,
On Mon, Aug 12, 2013 at 9:36 AM, Dmitry Kan <so...@gmail.com> 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 <module>
> 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 <ro...@gmail.com> 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 <so...@gmail.com>
> 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 <module>
> > > 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 <so...@gmail.com>
> 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 <ro...@gmail.com>
> > > 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 <so...@gmail.com>
> > > 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 <so...@elyograg.org>
> > > wrote:
> > > >> >
> > > >> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> > > >> > > > Of three URLs you asked for, only the 3rd one gave response:
> > > >> > > <snip>
> > > >> > > > The rest report 404.
> > > >> > > >
> > > >> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <
> > > roman.chyla@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
Posted by Dmitry Kan <so...@gmail.com>.
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 <module>
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 <ro...@gmail.com> 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 <so...@gmail.com> 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 <module>
> > 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 <so...@gmail.com> 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 <ro...@gmail.com>
> > 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 <so...@gmail.com>
> > 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 <so...@elyograg.org>
> > wrote:
> > >> >
> > >> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> > >> > > > Of three URLs you asked for, only the 3rd one gave response:
> > >> > > <snip>
> > >> > > > The rest report 404.
> > >> > > >
> > >> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <
> > roman.chyla@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
Posted by Roman Chyla <ro...@gmail.com>.
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 <so...@gmail.com> 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 <module>
> 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 <so...@gmail.com> 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 <ro...@gmail.com>
> 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 <so...@gmail.com>
> 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 <so...@elyograg.org>
> wrote:
> >> >
> >> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> >> > > > Of three URLs you asked for, only the 3rd one gave response:
> >> > > <snip>
> >> > > > The rest report 404.
> >> > > >
> >> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <
> roman.chyla@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
Posted by Dmitry Kan <so...@gmail.com>.
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 <module>
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 <so...@gmail.com> 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 <ro...@gmail.com> 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 <so...@gmail.com> 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 <so...@elyograg.org> wrote:
>> >
>> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
>> > > > Of three URLs you asked for, only the 3rd one gave response:
>> > > <snip>
>> > > > The rest report 404.
>> > > >
>> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <ro...@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
Posted by Dmitry Kan <so...@gmail.com>.
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 <ro...@gmail.com> 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 <so...@gmail.com> 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 <so...@elyograg.org> wrote:
> >
> > > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> > > > Of three URLs you asked for, only the 3rd one gave response:
> > > <snip>
> > > > The rest report 404.
> > > >
> > > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <ro...@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
Posted by Roman Chyla <ro...@gmail.com>.
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 <so...@gmail.com> 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 <so...@elyograg.org> wrote:
>
> > On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> > > Of three URLs you asked for, only the 3rd one gave response:
> > <snip>
> > > The rest report 404.
> > >
> > > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <ro...@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
Posted by Dmitry Kan <so...@gmail.com>.
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 <so...@elyograg.org> wrote:
> On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> > Of three URLs you asked for, only the 3rd one gave response:
> <snip>
> > The rest report 404.
> >
> > On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <ro...@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
Posted by Shawn Heisey <so...@elyograg.org>.
On 8/6/2013 6:17 AM, Dmitry Kan wrote:
> Of three URLs you asked for, only the 3rd one gave response:
<snip>
> The rest report 404.
>
> On Mon, Aug 5, 2013 at 8:38 PM, Roman Chyla <ro...@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
Posted by Dmitry Kan <so...@gmail.com>.
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 <ro...@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
>
> 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 <so...@gmail.com> 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 <module>
> > 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 <ro...@gmail.com>
> 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 <so...@gmail.com>
> 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 <ro...@gmail.com>
> > > wrote:
> > > >
> > > > > Dmitry,
> > > > > Can you post the entire invocation line?
> > > > > roman
> > > > >
> > > > >
> > > > > On Thu, Aug 1, 2013 at 7:46 AM, Dmitry Kan <so...@gmail.com>
> > > 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 <module>
> > > > > > 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.chyla@gmail.com>
> > > > > > 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 <
> > solrexpert@gmail.com
> > > >
> > > > > > 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 <
> > > solrexpert@gmail.com>
> > > > > > > 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 <module>
> > > > > > > >> 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.chyla@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
> > 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
Posted by Roman Chyla <ro...@gmail.com>.
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 <so...@gmail.com> 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 <module>
> 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 <ro...@gmail.com> 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 <so...@gmail.com> 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 <ro...@gmail.com>
> > wrote:
> > >
> > > > Dmitry,
> > > > Can you post the entire invocation line?
> > > > roman
> > > >
> > > >
> > > > On Thu, Aug 1, 2013 at 7:46 AM, Dmitry Kan <so...@gmail.com>
> > 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 <module>
> > > > > 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.chyla@gmail.com>
> > > > > 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 <
> solrexpert@gmail.com
> > >
> > > > > 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 <
> > solrexpert@gmail.com>
> > > > > > 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 <module>
> > > > > > >> 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.chyla@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
> 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
Posted by Dmitry Kan <so...@gmail.com>.
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 <module>
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 <ro...@gmail.com> 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 <so...@gmail.com> 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 <ro...@gmail.com>
> wrote:
> >
> > > Dmitry,
> > > Can you post the entire invocation line?
> > > roman
> > >
> > >
> > > On Thu, Aug 1, 2013 at 7:46 AM, Dmitry Kan <so...@gmail.com>
> 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 <module>
> > > > 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 <ro...@gmail.com>
> > > > 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 <solrexpert@gmail.com
> >
> > > > 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 <
> solrexpert@gmail.com>
> > > > > 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 <module>
> > > > > >> 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.chyla@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 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
Posted by Roman Chyla <ro...@gmail.com>.
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 <so...@gmail.com> 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 <ro...@gmail.com> wrote:
>
> > Dmitry,
> > Can you post the entire invocation line?
> > roman
> >
> >
> > On Thu, Aug 1, 2013 at 7:46 AM, Dmitry Kan <so...@gmail.com> 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 <module>
> > > 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 <ro...@gmail.com>
> > > 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 <so...@gmail.com>
> > > 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 <so...@gmail.com>
> > > > 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 <module>
> > > > >> 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.chyla@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 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
Posted by Dmitry Kan <so...@gmail.com>.
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 <ro...@gmail.com> wrote:
> Dmitry,
> Can you post the entire invocation line?
> roman
>
>
> On Thu, Aug 1, 2013 at 7:46 AM, Dmitry Kan <so...@gmail.com> 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 <module>
> > 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 <ro...@gmail.com>
> > 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 <so...@gmail.com>
> > 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 <so...@gmail.com>
> > > 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 <module>
> > > >> 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.chyla@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 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
Posted by Roman Chyla <ro...@gmail.com>.
Dmitry,
Can you post the entire invocation line?
roman
On Thu, Aug 1, 2013 at 7:46 AM, Dmitry Kan <so...@gmail.com> 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 <module>
> 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 <ro...@gmail.com>
> 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 <so...@gmail.com>
> 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 <so...@gmail.com>
> > 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 <module>
> > >> 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.chyla@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 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
Posted by Dmitry Kan <so...@gmail.com>.
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 <module>
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 <ro...@gmail.com> 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 <so...@gmail.com> 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 <so...@gmail.com>
> 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 <module>
> >> 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.chyla@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 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
Posted by Dmitry Kan <so...@gmail.com>.
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 <module>
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 <ro...@gmail.com> 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 <so...@gmail.com> 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 <so...@gmail.com>
> 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 <module>
> >> 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.chyla@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 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
Posted by Roman Chyla <ro...@gmail.com>.
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 <so...@gmail.com> 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 <so...@gmail.com> 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 <module>
>> 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 <ro...@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 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
Posted by Roman Chyla <ro...@gmail.com>.
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 <so...@gmail.com> 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 <so...@gmail.com> 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 <module>
>> 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 <ro...@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 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
Posted by Dmitry Kan <so...@gmail.com>.
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 <so...@gmail.com> 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 <module>
> 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 <ro...@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 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
Posted by Dmitry Kan <so...@gmail.com>.
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 <so...@gmail.com> 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 <module>
> 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 <ro...@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 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
Posted by Dmitry Kan <so...@gmail.com>.
Hi Roman,
What version and config of SOLR does the tool expect?
Tried to run, but got:
**ERROR**
File "solrjmeter.py", line 1390, in <module>
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 <ro...@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 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
Posted by Dmitry Kan <so...@gmail.com>.
Hi Roman,
What version and config of SOLR does the tool expect?
Tried to run, but got:
**ERROR**
File "solrjmeter.py", line 1390, in <module>
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 <ro...@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 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
Posted by Markus Jelsma <ma...@openindex.io>.
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 <ro...@gmail.com>
> 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 <so...@elyograg.org> 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
> >
> >
>