It is a simple PHP application using Mysql as the database backend. We are using a domain driven design architecture across the application and decided to skip the slow ORMs in favor of a repository layer with hand written sql.
We are framework agnostic to not be locked into any flow but you will see classes from Symfony and Laravel. The goal has always been to make Leantime as lean as possible to allow hosting it on any shared host out there. That means we don't use any exotic extensions or OS features. You can run it safely on the smallest Godaddy instance if you wanted to.
We recently introduced htmx into the stack to offload some of the rendering back to the server and we love it.
PHP itself is really not a bottle neck anymore especially since PHP 8.0
We haven't had a chance to run a lot of large scale load tests yet so take the following with a grain of salt but a direct Task hit currently takes about 2.08 sec to load on our production site. (that includes javascript processing time as it loads in a modal)
I know we have instances with thousands of tasks and users in the wild and generally performance is not an issue we get reports on on our github repo.
Where is that time spent?
As mentioned in a comment below php execution including db call is: P95 is 120.9ms P99 is 634.11ms
Which means the rest is DNS lookups and js execution.
One of the biggest complaints about Jira is how slow it is. While I'm really interested in potential alternatives, I'm curious if you think PHP might be a bottleneck.
If I follow a direct link to either a single existing issue, or a create new issue page, how fast does the page load?
How well does the backend scale to 100k or 1M issues?
How well does the frontend scale if you try to open a view with 1k or 10k issues?