Hi there,

Ok , I am going to talk about my case which I feel its become really one of the most things I am spending time for it .

UBB is fast for 100,000 USERS and below, but last few months I notied a slow down in my server performance (MYSQL), and after many investigations , I found the reason, which is USERS and USER_PROFILE and USER_DATA tables reached to +300,000 Members (I am running a server with high specifications 8 CPU's + 32 GB/RAM )

As optimizations and normalizations , first thing I decided to do is

I did small changes in the tables (USER_PROFILE) :
I removed all extra fields which was ( 5 fields) because ( 99% of users not unsing it)
I removed all (ICQ, MSN, YAHOO etc ..) because of( 96% of my users not using it) .

And the result was increasing of mysql performance with over than 30%

What is the benefit of empty fields if my members not using it at all ??

I added another tables named USER_EXTRA and I put only 3 field on it :


So every user can have unlimited of extera field in their profile if they want .

Also, I suggest to remove un-necessary fields in USERS table and keep the important fields for login/authentication purpose , which will contain only 4 fields :

This is the most usage process in the within all script files , and for large numbers of users (+300,000) it’s a big challenging for webmasters, so we need only small table to manage this task , this will speed up the response time about +20% if I am not wrong .

Also , I am not happy with the Smarty plug-in , as I feel its slowing down the performance of the script , as I am still running the old ubb.inc.php for 6.x , because of some hacks I did for my websites since the old version 6.x (without smarty) and that hacks 100% faster than reading any posts or viewing and forum in the new 7.4 version, which is using smarty , I can prove this with evidence.

If you have new installation of UBB with less than 10,000 USERS you will not notice this problem .

What I want to conclude is that there are many area of this script need to tunning up, and specially in DB area.

Now I am facing a problem of upgrading , because every time I have to change all scripts which dealing with the USER_PROFILE table if I want to upgrade UBB !!

So , hope that my message reached clear to the developers and specially Mr. Rick .

Thank you,
I agree with this. user_profile seems to have a bunch of unnecessary fields, and having the fields in a separate table would make it more dynamic as well.

And as for Smarty, it's an evil, slow piece of crap, and it is really unnecessary anyway. We've been working on removing this on our high-perforamnce web site at work and we just finally got rid of it all for the frontend.

Not that my UBB.threads forum really needs these changes, since it's nowhere near that size. Still would be nice though, it's always good to use less resources.
Yes, we're looking at splitting out some of the tables like the user_profile table.

As for smarty. We're actually looking at replacing that as well, and possibly just going back to the way we did templating in the 6.x series of UBB.threads. This style of templating is still used in the admin area control panel.

Initially we were looking at using the caching of smarty, but it really doesn't fit with the software. So it's definitely extra overhead that we really don't need.

When we do the UI update we'll have to modify every script/template, so we "might" phase out smarty at that time. Nothing set in stone just yet, but we'll see.
At some point CC mentioned a 'smarty-lite' type library - removed a lot of the overhead but kept the functionality.
There is a smarty-lite library available. It doesn't support {section} which we use quite a bit of, however it's a drop in replacement for the templates themselves without the large amount of overhead.

I'll be looking into that further before we decide what to do as it may be a solution.

EDIT: Actually I was looking at an older version. The newer version does support {section}. However, no updates since early '07. That's not a big issue, since if it works, we can alter it if needed if anything needs fixing. So, it's a possible solution.
Thank you for the positive reply,

That will be a very good sign for the next version,

I am old customer with UBB, since 2000 (wwwthreads) , and I upgraded my ubb to all versions since 2.x if I am not mistaken I cant remember exactly the version # (become old smile ) .

And to tell you the truth, every time the script become bigger, the performance become slower , even now most people using ADSL , and very rear connecting with dail-up , but I feel that wwwthreads was very fast with dail-up in that days, why ?? Because of code simplicity !!!

The fastest bulletin boards script available until now is forumKIT 1.2 , its owned by Khalid AlDousri , owner of one of the largest sport website on the net http://www.goalzz.com (English), and http://forum.kooora.com (Arabic) the global site rank is 249 only , it has +15,000,000 members and over than 170,000,000 posts , he have online users in the peak hrs reaching to 250,000 at the same time .

This script is not for sale, and he design this script for his website only , and he got an offer to sale the script for 6 million USD but he rejected the offer .

Why this script is fast ?? because of simplicity , very very simple but very very high in performance .

I am really jealous of this, why we need to have many features if that feature will slow down the speed of the script?? from my point of view better to Waiving out some features in order to obtain speed.

Thank you again , and hope we can see an improvement of speed very soon smile

Bader AlNadabi

Well that site may be very busy but where the heck is an actual FORUM?

I see no link for a forum and I clicked on many items and there is a lot of data but I suppose maybe my eyesight is failing me even more daily - I can not find any link that takes you to a discussion.
Originally Posted by ntdoc
I can not find any link that takes you to a discussion.

currently the forum is in arabic version , here :

Okay I see it now, thanks. Not sure what it's doing and didn't look but page won't even load when scripting is disabled.
i've run sites with 500K users and no problems... the main issue is having mysql tuned properly... (mysqltuner.pl for the win, Alex!)

wider (ie: lots of fields) tables isn't an issue, if you have your sql engine done right..

that's what indices are for and believe me, with caching and some proper tuning, it's all good..

the only real area where i notice a dire need for improvement is the post indexing and specifically for searching.. we have an ascending index (POST_TIME), but we are 95% of the time returning reverse sorted results!! why not have a parallel index that is by definition DESCending.. (ie: 2099-Now in unix time) wink

another slightly bothersome table(s) is the Private messaging system. we don't really handle large numbers of PM's well right now..

all of the above runs fine on a dual core Extreme or quad core with proper memory quite well..

of COURSE, i'd never expect to run a large forum on shared hosting, but who would?
You shouldn't run a very busy forum on shared hosting as well. When I say very busy I'm meaning 750+ post's a day.
Originally Posted by Sirdude

of COURSE, i'd never expect to run a large forum on shared hosting, but who would?


You made my day. Thank you SD.
Originally Posted by Thelockman
You shouldn't run a very busy forum on shared hosting as well. When I say very busy I'm meaning 750+ post's a day.

we cannot tell busy forum with +750 posts a day, it's nothing. The busy forum is +5,000 posts a day

Last few days I reached to +3,000 per/day I have about +7,000,000 posts until now and its growing very fast , I have to say that I have to tune up my SQL for time to time ...


Originally Posted by Thelockman
You shouldn't run a very busy forum on shared hosting as well. When I say very busy I'm meaning 750+ post's a day.

Running fine on a shared hosting environment at our current host NXS smile

I do note that we aren't on a server that hosts a bunch of sites on a single server, it's a big a cluster.

They said, if we can host a thousand sites on our cluster, we can host a big one too.
© 2019 UBB.threads PHP Forum Software Community