Jump to content

IPS Forums - not ready for a large number of forums?


Ibragim Pupkevich

Recommended Posts

Hi guys.

You may remember, recently I was sharing my concerns about general low performance of IPS 4.x.

It is still making me a little bit crazy. The most slow page I have is board index (where all the forums are listed). Sometimes it takes up to 3-5 seconds to load this page.

Just to remind: I have powerful multi-core CPU + SSD + a lot of RAM dedicated server running my community.

I tried everything. I tried to disable all plugins and 3rd party app to make my community become virgin again. I tried to tune up MySQL settings, I tried to enable OPchache. Whatever you can imagine.

At the same time I was always looking at official InvisionPower community (this one, yeah), I always looked how fast board index page is loading here and it was making me nervous all the way. God, how come it works so fast? - I thought in hearts.

And finally today I have noticed the main difference between my community and this one (InvisionPower official). We have almost same number of visitors (avg. 300-500 online at the same time), almost same number of posts (over 500k). But there is one difference. We have different number of forums. My community has over 500 forums, but IPS community has just few (I think less than 50, I'm lazy to count preceisely). And therefore my board index page is quite long (3 or 4 screens), but IPS community board index is very short, even less than 1 screen.

What I tried to do, you know? I just tried to make a copy of my community on test server and remove all forums except few. I left just 4 or 5 forums.

And you know what? After I have reduced number of forums, my board index page is just flying like damned swallow in the sky before summer rain.

Meanwhile I have to say, that almost all other pages (forum view, topic view etc.) are loading quite fast even with high number of forums.

So... dear IPS team. Could you kindly comment on this? I'm really frustrated a bit that you are running such great and powerful app with beautiful code. But there is such bottle neck right on index page.

Hope you will investigate this problem ASAP and get back with positive feedback!

Thanks!

Link to comment
Share on other sites

Also I have enabled SQL queries log display (to see them all right to the page) and I found, that page caches are writing to DB instead of file system, althrough I have set to store chache in file system in ACP. Why?

/datastore/ folder is writable, all tems. files and folders inside are also writable, no any "frozen" files.

Link to comment
Share on other sites

48 minutes ago, Ibragim Pupkevich said:

My community has over 500 forums, but IPS community has just few (I think less than 50, I'm lazy to count preceisely). And therefore my board index page is quite long (3 or 4 screens)

Hope you get help from ipb team, they´re great

Anyway 500 forums is just crazy, that´s your bootleneck!

Maybe a way to hide those subforums from the home... I think there´s something like that in the marketplace

Link to comment
Share on other sites

Just now, SammyS said:

Maybe a way to hide those subforums from the home... I think there´s something like that in the marketplace

I tried to use that plugin from marketplace to hide subforums from board index. Unfortunately it doesn't improve performance of board index page at all :( 

Can't really reduce number of forums. But I know very old community, which is still running 3.x or even older version (http://4pda.ru/forum/), they have more than 2000 forums and over 10000 online users at the same time is absolutely fine for their board...

Link to comment
Share on other sites

Unfortunately I see the same in terms of performance. IPS 4.1 requires a lot more resources than IPS 3.4, in my experience. 

As far as I've been able to investigate it seems the system spends a substantial amount of time with the language system. And because IPS made the forum names able to have language specific names, a lot of node items will likely contribute to slower loads as there are more language strings that needs to be parsed out. It's frustrating, because in my case I only need the forums etc. to be in one language. :) 

The community I'm seeing this on has 15 million+ posts and thousands of visitors visiting at the same time.

Link to comment
Share on other sites

1 minute ago, TSP said:

a lot of node items will likely contribute to slower loads as there are more language strings that needs to be parsed out

I don't think that parsing of variables may become huge workload for high-performance server. If you have a lot of free RAM, everything should be cached well in RAM and work fast. But what I see is that if you set IPS to cache pages for guests, it will write cache to DB ignoring any caching method you choose/configure in ACP data store settings page.

I was really frustrated, when I saw first time, how many GB are transfering to/from DB... now it seems I try to understand the root cause.

Link to comment
Share on other sites

1 hour ago, Ibragim Pupkevich said:

When you are running community about mobile phones and other products of some brand for 5 years and you have to create 1 forum for each model + at least 3 sub-forums for each - it's real and infortunately there is no better way to organize content :)

But how you do this? I would make a cat with main makers, like Apple, Samsung, Asus, LG, etc., and models inside as subforums. That would reduce a lot. 

Of course I'm commenting without see your index so not sure it is like that. Maybe it's just a question of organization. Sorry if it isn't. 

Link to comment
Share on other sites

We're running with +2000 forums and subforums and it loads pretty quick. We are the ones who commissioedn that plugin someone above referred to and we're also run that but I don't see an impact of load with it one way or the other, it's for UX (it is getting a UX overhaul soon FYI). We are, however, not rolling our own server. We are on IPS Enterprise.

Link to comment
Share on other sites

12 hours ago, Ibragim Pupkevich said:

We have different number of forums. My community has over 500 forums, but IPS community has just few (I think less than 50, I'm lazy to count preceisely). And therefore my board index page is quite long (3 or 4 screens), but IPS community board index is very short, even less than 1 screen.

That's where a better "prefix" configuration than what is available in IPS would be handy.
A competitive script allows you to predefine prefixes for certain forum nodes that are selectable at time of post creation, and using an add-on that allows you to enhance it gives you this

588b21c140ff2_ScreenShot2017-01-27at4_29_59AM.thumb.png.b5de5467678bb3048c0505aa7b6ff346.png

 

588b21f73c728_ScreenShot2017-01-27at4_32_55AM.png.7db090b80abf9702de7685a31a22f319.png

This way I have one forum node for Trikes, with selectable manufacturers defined as a prefix for that specific node instead of having a forum node for each brand.  It works out really well - on my motorcycle site I had a section for for each line of the Harley and the models of each line were set as a prefix.  Before using the prefixes I had around 50 forum nodes... it allowed me to reduce it to about 5 when I converted the different models to prefixes under each style.

In my other script it has a very similar ability

588b23ef73e1a_ScreenShot2017-01-27at4_40_58AM.png.96c86114694efb55219f4faac19603d7.png

588b23fcc67c5_ScreenShot2017-01-27at4_40_32AM.png.ebe5e0edc1f4007980cfbb1b2b052f2c.png

 

I haven't figured out a way to duplicate that ability in IPS yet... 

Link to comment
Share on other sites

@Lindy please kindly check the bug I've reported above (page cache for guests are stored in DB instead of file system). If I choose any custom cacher (like memcached or redis), page cache goes to the right selected cacher. But if no special cacher selected and configured, engine will store page caches to DB even if file system is set as right place to store cache.

 

Thx.

Link to comment
Share on other sites

15 hours ago, Adriano Faria said:

Not sure. I'd try to create one main cats for Phones, Tablets, etc. 

Inside Phones, makers. Then models inside makers, etc.

The way it is all is in the index. It worths a test.

I'd not even do that to be honest.

I'd have the main categories for the companies that make them, Apple, Samsung, etc.

Then sub categories of Phones, Tablets, etc.

Then rather than creating a subgroup for each device model, just set a forum to require the author to put the model in the title/post/tag.

That way you have considerably fewer forums/subforums and each of the boards are active. 

500+ forums must be a nightmare to moderate. 

Link to comment
Share on other sites

@Tracy Perry @CalvinK on one hand you are absolutely right and I'd fully agree with you.

But on other hand - now I have >20k daily visitors, which are mosgly coming from search engines (~70% of traffic comes from google+yandex). And this is pure organic income. 

I'm really afraid that if I will destroy forum-per-model structure and switch to prefixes, I will lose a lot...

So, it's not so easy to switch and you see - this subject is quite sensitive in my case :(

Link to comment
Share on other sites

2 hours ago, Ibragim Pupkevich said:

I'm really afraid that if I will destroy forum-per-model structure and switch to prefixes, I will lose a lot...

So, it's not so easy to switch and you see - this subject is quite sensitive in my case :(

Actually, if coded correctly, the prefixes would become part of the link juice.

Link to comment
Share on other sites

I have to agree with the OP. Before we upgraded to version 4, we only needed two gigs of RAM and 2 CPU's on our server and ran like a dream. However since upgrading version 4, we have had to upgrade our servers to 8gig RAM and 3 CPU's to handle the extra load and soon as we hit over 300 users on line we start to struggle (I'm sure this me be down to a possible server config issues).

Link to comment
Share on other sites

  • 3 weeks later...
1 hour ago, trananhls said:

Me too. After each upgrade, my forum needs more RAM and CPU core. My forum has about 70 members online at the same time... Now needs 4gb RAM and sometimes it's overload. Don't use Apache with IPS 4.:(

Apache swallows ram, as easy as Apache is to configure nginx is so much lighter.

Link to comment
Share on other sites

On 1/26/2017 at 4:44 PM, Ibragim Pupkevich said:

When you are running community about mobile phones and other products of some brand for 5 years and you have to create 1 forum for each model + at least 3 sub-forums for each - it's real and infortunately there is no better way to organize content :)

Perhaps a better solution instead of a forum for each model, why not leverage IP Content to build an application to track all these models, and tie threads to each model, all stored in one general forum?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...