How We Made Our Search Faster with Meilisearch
At Prayers Connect, our engineering team is continuously striving to enhance the UI, UX, reliability, and performance, despite budget and resource constraints. In achieving this, we frequently utilize free or sponsored tools.
We are incredibly grateful to Algolia for sponsoring us with a premium plan, including 10K documents, alongside our other generous sponsors. This plan served us exceptionally well when our services were solely confined to the USA. However, as we expanded into other countries, the document limitation became a stumbling block. As a result, we had to revert to the standard MySQL search.
Let’s take a look at the performance metrics provided by another one of our sponsored tools, Sentry, when using our un-optimized MySQL search:
We found that it took nearly 2 seconds per API call. Once we pinpointed this issue, we initiated a search for low-cost, affordable alternatives. Our research led us to Meilisearch, an option that required minimal learning curve and promised significant improvements in response time. Once implemented in production, here’s the change we observed:
The response time has dramatically improved, now measuring below 100ms – approximately 19 times faster than before. This acceleration has also effectively raised the Apdex (more is better) score from 0.32 to 0.77, while simultaneously lowering the user misery index (less is better) from 0.65 to 0.55.
This is a clear victory, yet our journey towards optimization is far from over. Given that this search is executed server-side, no data can be served until the completion of this and other API calls. Therefore, we remain committed to enhancing the performance of server-side rendering.