New to Kirby, a couple of performance questions if I may

I’m a long time Wordpress user and would like to make the jump to Kirby with an upcoming project.
Without getting into too many details I have to questions I’ve been unable to answer from reading the docs:

  1. User registration seems to be supported, but is there a hard user limit that will cause problems? I read that having more than hundreds of content items in the same directory is a problem. I assume the same is true for users? Is there any way around this?

  2. What do you do with archive content? Aka I would like to automatically move content older than lets say a year to an archive state so it wont slow down the site. Do I just create a cron action that moves files older than X to a different folder, possibly organised by years (or months, depending on number of items) ?

Thanks

There’s no hard limit but depending on your use-case it might make sense to use a database for the users. What are the users supposed to do? Are you planning to create a lot of backend users or are the users used for frontend features?

If you have a lot of pages in a category (like a lot of blog posts), it might make sense to use a year-based structure in the first place. Then there’s no need to move anything (moving has the disadvantage that old links break).

I’m trying to create a repository for Photography contests / competitions (I’m an avid photographer and these contests are a great way to gain exposure).

There are about 200-300 active competitions in a given moment after which I’m happy to move them to an archived state - however this can’t be based on years / months initially (as each competition runs for a different time frame). That’s why I thought a cronjob might be simplest? The idea was to have an archive section with the last 12 months and another cron job that will clean that folder of older competitions.

Regarding users - it’s a rather niche market so I’m not expecting to be bombarded by tens of thousands, but I’d be quite happy if I’d end the first year with around 10k Assuming Kirby is good enough with that number I can then start planning what I’ll do when it gets bigger when (and if) that becomes an issue. I’m just worried that there will be performance degradation much sooner.

Well, you could do that, but as I wrote, it’s not optimal as the URIs will change (and cool URIs don’t change).
Couldn’t you use the year directories as the year when the competition started? You can then delete old year directories manually if you ever think that they are not relevant anymore (or you could as well leave them, they won’t affect the performance of the current year).

If it’s really that many users, it might make sense to use a database table in the first place. Kirby has database functions that make it easy to do. You could use SQLite if you want to keep it simple, the performance will still be good.

Only thing you would need to do manually is to check the logins, manage the sessions and so on, but should definitely be doable.

i have created a very big page with kirby… 3000+ pages. no performance issues. but if you want to edit the pages in the panel you should split the pages to years/month folders or the sidebar of the panel slows down to a crawl. you should also avoid using filtering all pages (like $pages->index()->filterBy(…)) which will be to slow.