Yeah, a Solr interpreter is a bit more of a lift, this interpreter just handles firing off parameterized benchmarks and deals with results.
It would be nice to have a Solr interpreter as well even for this use case though, so you can easily query the state of things after a benchmark run. A decent Solr interpreter would likely be accepted into Zeppelin itself when ready. MRM On Mon, Aug 9, 2021 at 12:37 PM Jason Gerlowski <gerlowsk...@gmail.com> wrote: > Thanks for the info! > > The Zeppelin stuff in particular piques my interest: I explored a > Zeppelin/Solr integration a bit in SOLR-15080, but ultimately never > committed it because of some lukewarm feedback from David S on the PR > and some shifting personal priorities. If others are using Zeppelin > maybe the idea is worth revisiting though... > > Jason > > On Wed, Aug 4, 2021 at 10:42 PM Mark Miller <markrmil...@gmail.com> wrote: > > > > Yes, it’s a new Gradle module called benchmark. > > > > I’ll likely commit the base early tomorrow. It’s been working through > pre commit checks. > > > > There are currently only two benchmarks to start, but I have more that > I’ll be adding. > > > > Once I have a reasonable number in, I’ll run some comparisons with the > 8x branch. Eventually, I’ll do some comparisons with the ref branch as > well, but probably not that soon. > > > > I also have a subproject for the module that builds an Apache Zeppelin > interpreter, which allows creating a notebook of parametrized benchmarks > which can be versioned and allows for organizing various run plans, > charting, and various other things. > > > > You can turn on a variety of profilers via command line, gc, jfr, and > the async profiler being the most common I’ve used. > > > > I’ve been using it on both relatively small runs as well as runs against > up to 150 GB of index. > > > > I’ve also used it in docker and will add more support I have to make > that simple option. My main motivation there being to be able to control > and vary hardware resources. > > > > Mark > > > > On Sun, Aug 1, 2021 at 2:01 PM Jason Gerlowski <gerlowsk...@gmail.com> > wrote: > >> > >> Just clarifyng, but the "Solr Benchmark Module" you're referring to > >> here is your work from SOLR-15428? Or something else? > >> > >> Jason > >> > >> On Sun, Aug 1, 2021 at 12:16 AM Mark Miller <markrmil...@gmail.com> > wrote: > >> > > >> > I’m about ready to commit the first iteration of the Solr benchmark > module. > >> > > >> > It is meant to target both micro and macro benchmarks, though it is > additive to, not a replacement for, Gatling and a full performance cluster. > >> > > >> > The inner workings of Solr and SolrCloud have always been something > of a mystery to me. Benchmarking has been as well. Not that I ever spent > any time thinking clearly about that. > >> > > >> > If I had, I wouldn’t have had an alternative plan to rectify it. And > it didn’t matter. It didn’t affect me getting work. It didn’t affect my > bonus from the boss. > >> > > >> > Over the past few years I did start to learn something about these > mysteries though. Not with a genius plan of attack. Not with a strategy I > can write down on the wiki and successfully share with you. I did it by > attacking everything in sight. And then improving my sight. > >> > > >> > If some genius computer God once said “don’t do this”, I did and > found out why not. If something looked huge effort for unlikely reasonable > return, I did it. And maybe scrapped it. If something took literally 16 > hours just to manually process the code changes with 0 thought the whole > time and repetitive pain and loud expletives accompanying the final hours, > I did it. And sometimes maybe scrapped it later. If there was a rabbit > hole, I went down it. > >> > > >> > I used the tests to chase features and code and surface area I’d > never have touched or even known existed. I spent hundreds of hours or more > building tools and hundreds more coopting existing tools to expand my grasp > and view. I went after other code bases with a similar attack and less > depth to raise my vantage point. > >> > > >> > And I could go on, except that illustrates my point and there is > little value in doing so. > >> > > >> > So I learned a couple things on that journey. And I found an answer > or two. Formed an opinion or three. And I’ve had to think. Think about how > I can turn that into some value for Apache Solr. I chose to do that work, > but I was also paid during that time. Paid for work that is supposed to end > up returning value. The basic employer / employee contract. > >> > > >> > I will never march down that path again. The destination was never > really the point. No sane developer would or could join the full trip. > >> > > >> > I have to use that journey to plot a new one. > >> > > >> > Thought one: there was huge value in playing around with the system. > Trying a wide range of things simply. Getting valuable and low effort > feedback and introspection easily. > >> > > >> > Thought two: I did not play around or explore much before, or see it > done, because it was high effort to explore even a small surface area. Even > more effort to properly vet or ensure getting quality results or > information from it. > >> > > >> > Thought three: Continuing on thought two, setting up good experiments > is very difficult. Collecting results and evaluating the quality of those > results is very difficult. More difficult than many developers who would > immediately agree with those statements even know. In the way that Elon > Musk knew fully self driving cars would be difficult. But he didn’t know it > would be “that” difficult. Of course a smaller percentage of developers do > know the extent of it. > >> > > >> > Thought four: When the above was even attempted, it was generally by > developers working in isolation. And climbing on their own scaffolding that > was not peer reviewed and either tossed out, abandoned, reconstructed, or > maybe eventually reused by one. > >> > > >> > Thought five: Building something that allows for exploration and > experimentation essentially always reduces to some kind of benchmark type > framework. And benchmarks are notoriously and ridiculously difficult. See > above. Any project that wants to truly benefit from them needs to work on > them together. And retain them. And improve them. And retain and improve > the knowledge behind them. > >> > > >> > And so we come to the Solr benchmark module. I’ve poured some of my > knowledge and experience into standing up an initial framework. I will > document it. I will share a video explaining some of the what and why and > how. And I will make it so easy to join in on that the only reason a > developer will not join the effort is because they have no interest in > understanding or improving the system and their changes. > >> > > >> > So I will make a commit next week. And then I will continue to move > it forward. I encourage you to take a look and evaluate what return for > what effort you might get from joining in. > >> > > >> > MRM > >> > > >> > > >> > -- > >> > - Mark > >> > > >> > http://about.me/markrmiller > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: dev-unsubscr...@solr.apache.org > >> For additional commands, e-mail: dev-h...@solr.apache.org > >> > > -- > > - Mark > > > > http://about.me/markrmiller > -- - Mark http://about.me/markrmiller