XF 2.2 xf_permission_cache_content table is consuming 86 GB. Suggestions to optimise the table growth

Hi Team,

We had a requirement in which the users have to be provided with Post access to certain forums and partial view access to a few forums based on certain logic. To address this we had initially created user-level access in which an email will get post access to forums. But since we were very new to the Xenforo architecture unfortunately this workflow did not work for us and we experienced the memory issues that we discussed here as the xf_permission_cache_content and xf_permission_combination tables started growing exponentially.

However, to resolve this issue, we changed our approach, first, we reset the mentioned tables as before and now for each forum that gets created we create a user group for the same with the same name and add the users to the groups. This helped in reducing the number of entries in the above-mentioned tables however, the xf_permission_cache_content table continues to grow and the current consumption is 86GB. In the past week, we have faced MySQL consuming 100% storage twice as the data in the xf_permission_cache_content table is growing.

Request you to suggest if there is any way to optimize the table growth. Currently, we have increased our MySQL storage but we are anticipating we will be exhausting that in a few months.

Current forums count - 916
Current groups count - 852

Looking forward to hearing from you all,



Well-known member
A high number of entries in xf_permission_cache_content is to be expected with that many user groups and nodes (with different user group permissions per node).

Do you think there's a way to reduce the number of one of them (or both)?

Do you experience performance issues or only worry about a "full disc"? If it's the latter and you feel fine with your current solution, I would not worry too much and invest a few dollars in a bigger disc. I don't know your exact use case and your budget, but changing permissions feels always tricky and prone to errors to me :-/