Shop with 3,000 Products - Is Kirby Fast Enough?

performance

#1

Hi all!

I wonder whether anyone has tried setting up a Kirby site with a few thousand pages - and whether searching is still fast?..

I have a new project, which is an online shop for technical products (small parts) where visitors will find the item they need either by typing in a product code directly, or by searching through product descriptions. The catalogue is quite large: at the moment, they have almost 2,500 products, and they expect to extend it with more products before we launch, so it’ll be close to 3,000.

Normally, I’d assume that I’d need to use a database for this kind of project. I would assume that searching for products through 3,000 files would not be sufficiently fast - and searching is the main function of the site, so it DOES need to be fast.

But today I’ve come across discussions about flat-file CMSs where developers describe how they’ve been using things like Grav for similar sites, and setting up sites with TENS of thousands of pages, and still managed to keep the CMS search under 2 seconds…

Has anyone had any experience with this in Kirby? Do we have any benchmarks or info?


#2

I dont have any vital statistics, but from seeing similar posts about page volume i don’t think your numbers look scary.

You can always use service like Algolia, theres even a plugin for it. Or if you want to keep it all inhouse, you could try something like Lunr. I tried to integrate this once and it was beyond my javascript powers. Bascially it creates an index of your pages upfront into a single file as JSON and searches that instead.


#3

There are already several topics on Kirby performance with lots of pages, for example: Kirby performance with over 60K simple pages

I think you should really do a test yourself, it’s not difficult to set up a test site with some fake data. As long as you keep a tree structure, use a VPS with SSD instead of shared hosting, I don’t think you will run into problems. You could even add a SQL-Lite database for indexing.

@bnomei, for example, claims he has created a Kirby site with 3000+ pages


#4

Would be nice as a plugin. Populate with dummy content files and possible to clean it up as well.


#5

@luxlogica like i said before. kirby can do this but there are some caveats like avoiding index() or at least cache its results. but usage of index() might be triggered indirectly like when using search or plugins like autoid.
i suggest investigating http://algolia.com/ to outsource search – just in case you notice performance drops. they have an js and php api.
a simple way to track performance issues would be using something like https://github.com/jokkedk/webgrind.


#6

#7

@texnixe about 1800 visible and some thousand more hidden pages. http://bit.ly/2FuOjL8


#8

My gallery also happens to be in the 2k range and runs without an issue. It’s hosted on the 2gb plan on webfaction and I haven’t encounter any performance issue so far.

The search also runs pretty fast, I don’t search through a ton of informations, just the title and a bunch of tags.

You can give it try if you want, you can simply start typing and the search will activate at the top of the page.

Only thing I think you should try to avoid is to have thousand of pages in a single folder. Other than that I think you’ll be just fine using kirby.


#9

Yes, this is especially true for the Panel.


#10

And personally I think it’s good for site organization in general. Having thousand of items in one folder is a pain to manage in the long run. But that’s just my personal preference