XF 2.3 700 nodes. Would it be too much for a forum, performance wise?

securedme

Well-known member
Yes I know it's a lot. Currently it's still under development. I can't see any problem with the loading speed as it's still behind the firewall. What if it's made public?
 
It shouldn't cause any issues in the front end but rebuilds may take a while when doing permissions, adding user groups, etc.

I would posit however that having that many will be a less than optimal experience for users.
 
I would say even it it did work, your members will frequently not post in the "correct" node.

XenForo search works well, enhanced search even better, users will still find the content with less nodes and will post in the correct node more often with less nodes. I would suggest broader node names, which equals less nodes, which will actually result in more organized content.

If you force so many nodes on your members it will likely be too overwhelming. In organizing into so many nodes, the look and feel will likely be just the opposite, resulting in a disjointed and disorganized look and feel. Also consider using thread prefixes, instead of separate nodes, if it will fit your needs.

Strictly performance wise, it will likely work. I've seen other XenForo sites with 300+ nodes. XenForo 2.3+ queries are pretty optimized at this point, but server specs could come into play.
 
I have just under 1000 forums and 60ish user groups right now. It runs fine. If you organize things well its not terrible to manage.

Why not use prefixes? How are users going to be able to post in the correct node? Start small and build up esp for a new forum.
That just is not always feasible. It mainly depends on the topic of your forum, and what the goals are.
 
This is a shot of the biggest Category on my site. Each one of those forums under Hosted Mods is dedicated to a major mod of that platform. Some of those forums have a few subforums each for map development or artwork or whatever. The campaign scripts in these games its its own language, and they all have forums dedicated to scripting.

Some of those forums have 100k plus posts. Trying sort this with prefixes would be impossible and not very useful. Some people only have interest in one particular mod, forcing them to wade through 200 mods and prefixes to see the info they want would be counterproductive.

@securedme, build your site in a way that is useful to your users, not to you.


structure.webp
 
Last edited:
If permission rebuild times are exploding (due to node x user group combination explosion), you may wish to consider this (paid) addon which cuts permission rebuild times down to a couple page-loads:


It does require redis + my redis cache add-on however.
 
This is a shot of the biggest Category on my site. Each one of those forums under Hosted Mods is dedicated to a major mod of that platform. Some of those forums have a few subforums each for map development or artwork or whatever. The campaign scripts in these games its its own language, and they all have forums dedicated to scripting.

Some of those forums have 100k plus posts. Trying sort this with prefixes would be impossible and not very useful. Some people only have interest in one particular mod, forcing them to wade through 200 mods and prefixes to see the info they want would be counterproductive.

@securedme, build your site in a way that is useful to your users, not to you.


View attachment 322681

Truly appreciate your comments. Yes, proper use of sub-nodes not only makes navigation easier, but also keeps the structure more organized and manageable, rather than messy. :D

Knowing that your 1000-ish nodes run smoothly without performance issues really puts my mind at ease!
 
Strictly performance wise, it will likely work. I've seen other XenForo sites with 300+ nodes. XenForo 2.3+ queries are pretty optimized at this point, but server specs could come into play.
Performance wise, you can have thousands before the front-page starts becoming an issue. The most noticeable and painful performance is the permission rebuild times when an admin touches some groups. It basically becomes user-groups x node count number of permissions if you have a lot of per-forum permissions.

On SB with about 80 forums, and about 60 user groups, rebuild times got upto about 2-4 minutes if you touched the registered users group before I wrote that Cache Permission Checks add-on
 
Performance wise, you can have thousands before the front-page starts becoming an issue. The most noticeable and painful performance is the permission rebuild times when an admin touches some groups. It basically becomes user-groups x node count number of permissions if you have a lot of per-forum permissions.

On SB with about 80 forums, and about 60 user groups, rebuild times got upto about 2-4 minutes if you touched the registered users group before I wrote that Cache Permission Checks add-on
This is very true.

One of the things that people tend to screw up is how permissions inherit. If you start having too many different permission sets then it can get really confusing to keep track of and takes a lot of processing. Set the base permissions for your Registered group and only add the ones you really need to on individual forum permissions.

For instance on my board with all the mod Dev Groups, we give them access to their Dev forums by only changing the permission to View the forum. All their other permissions there are normal. In their main public forum we will give the rights to Stick/Unstick, but otherwise no changes. Leave everything possible to Inherit, do not go setting each permission for each group for every single forum.
 
And absolutely use user-group instead of per-mod individual permissions. Since mods will come and go, but the role will last for much longer. Worse, add-ons will use permissions as feature-flags which means the permission set is very large, which makes managing many mods with individualized permissions utterly painful.

One of the things that people tend to screw up is how permissions inherit. If you start having too many different permission sets then it can get really confusing to keep track of and takes a lot of processing. Set the base permissions for your Registered group and only add the ones you really need to on individual forum permissions.
There is a reason I tell people for permission debugging in support tickets to tell me the output of the "analyze permission" feature and not just look at the a couple of groups to determine if someone has a permission.
 
And absolutely use user-group instead of per-mod individual permissions. Since mods will come and go, but the role will last for much longer. Worse, add-ons will use permissions as feature-flags which means the permission set is very large, which makes managing many mods with individualized permissions utterly painful.
I totally agree.

Its easy to get lazy about this, especially when you are testing stuff, and just go clicking permissions when something does not work as expected. On a test board with 10 members that is not a big deal, other than it builds bad habits. But you need to think in scale. What happens when you have 10,000 members? Or 100,000? And millions of posts.

When you are starting out take your time and do it right. Diagnose the problem, don't just pick a group and add a permission. It will save you many hours of headache when you get to that 10k member mark and a million posts and find you have to rebuild everything from the ground up.

Also document it. Setup a forum visible to only your admins, even if it us just you at first. Document your settings and when you change something update your documents. When you bring on an admin to help with stuff they need to make sure and stick to it. There is a learning curve with managing a big forum, you are not just born knowing how it works. People are going to make mistakes but as long as you have records to fall back on then its a lot easier to correct.


There is a reason I tell people for permission debugging in support tickets to tell me the output of the "analyze permission" feature and not just look at the a couple of groups to determine if someone has a permission.
Yeah that is a nice feature that vBulletin did not have. I was not aware of it at first. That NEVER option in the permissions can sneak up and bite you if you really do not understand how it works.
 
Yeah that is a nice feature that vBulletin did not have. I was not aware of it at first. That NEVER option in the permissions can sneak up and bite you if you really do not understand how it works.
XenForo still makes it tricky to find permissions if you aren't starting from a user. For example if you want to figure out all the groups which have some permission.

I wrote a (paid) addon which allows you to filter the user-group & node list by which groups/nodes have a permission explicitly set. Very niche, but it sure beats doing manual database queries to find this information
 
I wrote a (paid) addon which allows you to filter the user-group & node list by which groups/nodes have a permission explicitly set. Very niche, but it sure beats doing manual database queries to find this information
That's pretty clever. I have a bash script for resetting vBulletin user groups around here someplace. I haven't used it in years. I should update that for XenForo.
 
Back
Top Bottom