SolutionsData

Search and performance

Slow searches and screens made fast enough that people use them again.

How we deliver it

  • We measure what is slow, and why, before proposing anything.
  • We match the data store to how the data is actually queried.
  • We migrate without downtime, then measure again.

How it works

Slowness is a symptom, and the cure depends on the cause. Tuning a system that is built for the wrong kind of work buys months at best. So we measure first, find out why, and only then change what needs changing, which is often less than expected.

MEASUREDIAGNOSEMATCHMIGRATEVERIFYWhat isslowWhy itis slowStore fitsthe queriesNodowntimeMeasuredagainWhat isslowWhy itis slowStore fitsthe queriesNodowntimeMeasuredagain
Measure before changing anything, and after.

The cause decides the fix

Most slow systems fall into one of three cases. Each has a different fix, and only one of them means adding a new kind of store.

WHAT IS SLOWFIXTRADE-OFFRight store,slow queriesLoose searchover documentsReports onthe live dataIndexes andquery fixesSearchengineSeparateanalyticsstoreSmallestchangeFast, a secondcopy to keepApp staysfastRight store,slow queriesLoose searchover documentsReports onthe live dataIndexes andquery fixesSearchengineSeparateanalyticsstoreSmallestchangeFast, a secondcopy to keepApp staysfast
Three common causes, three different fixes.

What decides it

Which screens matter
The searches and screens people actually use, measured in production, not the ones that look slow in a demo.
How fresh results must be
A search copy can lag the main data by seconds. If results must reflect a change the instant it is saved, that shapes the design.
Who may see what
When several customers share one system, every search must stay within what that person is allowed to see. Speed never comes at the cost of that boundary.
Downtime
Usually none is acceptable. The new path runs alongside the old one and takes over once it has been checked against it.

Hand over or run

Your choice, per solution. We hand it over with documentation your team can work from, or we keep it running: upgrades, monitoring and incidents, with one of us on call 24/7.

Proof

500msaverage search, from over 10s
20/200qps sustained, average / peak
1.5TBindexed and searchable

A multi-tenant search over 1.5TB took more than ten seconds per query. We replaced its data layer; it now answers in 500ms on average.

Talk to the person who builds it

Tell us what is slow, stuck, or held together by a spreadsheet. We will tell you what we think in one call, before any proposal.

DanielCo-Founder

daniel@arendal.ca