Replies: 1 comment 3 replies
-
It's hard to say what exactly would be the issue, but chances are it is the file system. The files you see are part of the indexes that are used in the backend so the server can quickly find which pods are associated with which account and so on. All these files should be independent of each other as these are for all different accounts and pods, but perhaps once you have 40,000 files in the same folder, the file system starts having issues. With those numbers you probably want an actual database in the backend instead of a simulated one on the file system, but currently there is no implementation of that in CSS so that would have to be newly made.
I would expect so.
This is still available: https://communitysolidserver.github.io/CommunitySolidServer/latest/usage/starting-server/#configuring-the-server. But if the issue is the file system, I'm not sure how much this will help. But definitely something you can try out. |
Beta Was this translation helpful? Give feedback.
-
Recently I generated 40,000 accounts on my local CSS for test purposes. For every account I created one pod linked to one webID of the account. The server took a lot of time to generate all this accounts and pods and it did not feel efficient to me. My end goal is querying all of these accounts for resources in their pods, and because this first step took such a long time (there were a lot of internal server errors so I often needed to restart the process and look for wrongly generated accounts and pods manually in my file explorer) I decided to limit the further steps (generating tokens, creating resources in the pods, granting accesses) to only 1,000 accounts.
I checked my .internal folder after the 40,000th pod was generated and it contained around the 400,000 files, so that would mean the server stores 10 files per pod if every pod is linked to one account. Is the reason for the slow handling of the http requests the fact that the server needs to run over and search all these files with every request? Or is this not how it works? How does it work and will the sever react faster if it only needs to read data compared to generate new data (accounts, webids, pods, tokens, resources)?
Is it possible to run the server in multi-thread mode? I found an out dated version of the CS server where u could enable this by adding -w in the run command. Is this still possible in the most recent version of the server? If not would it be interesting to use multi-threading in the client that sends requests to the server or does this not matter?
For the generation of the accounts, pods and tokens I used the json API of the CSS.
Thanks in advance and please correct me if I misinterpret something or if I don't understand something correctly. I hope my problem is clear, if not don't hesitate to ask.
Beta Was this translation helpful? Give feedback.
All reactions