Author |
Topic |
|
Esoterica08
Starting Member
2 Posts |
Posted - 07 April 2008 : 17:51:16
|
Hello,
I'm not sure that this is the right place to post this, but since the forums version that we're using is the Internationalized one (old v4b03.003 on MySQL db) I'll try here and if it's wrong the moderators are welcome to move it to the right one.
Our forum is heavilly loaded and very popular: > 350.000 replies and more than 18.500 members. We're experiencing a lot of delays and very large ones and we have a lot of complaints, fully justified off-course. Especially on rush-hours and with a lot of users logged and participating. Some times the default.asp page is impossible to be displayed.
We've noticed though that even on these times the loading times are significantly reduced if someone navigates the forum's page without been login. With some research through the code we suspected that the most of the delay is caused through the various if/then/else statements which are checking the members level status(mLev) continuously and, we think(and we could be wrong), with every page when the user is Logged. The checks are done to the MEMBERS table of the database(as we think) and for sure they cause an amount of delay.
The thought is this: could these checks be done in another way, maybe on a seperate - new - table only containing the on-line members? Each time a member is logged in, then an entry could be made in that table and off-course erased when the member logs out. A time for inactiveness could be set(or through server variables) so the entry would be erased even if the user hasn't been logged-out manually. I understand that there is some similarities with the well-known active users mod.
We've search through the forum for relevant ideas and implementations but we couldn't find one up to now. My familiarity with the code scipting is medium and we're afraid to mess up the various asp pages which are involved and also for security issues(as we have to do with the identification of moderators and administrators accounts as well). That's why we're asking for some help or suggestions, or other ideas for this issue.
We'd really appreciate any help. |
|
phy1729
Average Member
USA
589 Posts |
Posted - 07 April 2008 : 18:01:20
|
What database are you using? Your speed problem may be on its end. |
|
|
weeweeslap
Senior Member
USA
1077 Posts |
Posted - 07 April 2008 : 18:05:07
|
They're using MySql database. |
coaster crazy |
|
|
ruirib
Snitz Forums Admin
Portugal
26364 Posts |
Posted - 07 April 2008 : 18:44:58
|
Well, the 3.3.x version that your forum was based on is not very efficient in terms of database calls, so a migration to a later version would be welcome.
Version 3.4.x however still is short on database indexes. There several tables that could benefit from further indexes and that may speed the performance of your forum. Anyway, any changes to the indexes would need to be considered against the queries being made in your problematic pages.
A basic thing that you can do, that doesn't require any changes at all is to rebuild all database indexes. That alone can improve performance for a while... if you haven't done recently.
A basic |
Snitz 3.4 Readme | Like the support? Support Snitz too |
|
|
Esoterica08
Starting Member
2 Posts |
Posted - 07 April 2008 : 19:26:01
|
Thanks to all.
Yes, ruirib(and thanks a lot), we looked in that direction, that is, indexes rebuild but unfortunately MySQL InnoDB format doesn't implement this... I think it's considered more efficient than MyISAM in this field.
Also we've considered migrating but: - we weren't sure if a newer version is optimized, concerning database calls, and - most importantly, the forum code is modified in various places and we're not sure if we could manage to transfer the changes in a proper way.
That's why we're looking for a work-around. Maybe a modification based on the Active Users code which creates a new table which is related to on-line members.
|
|
|
ruirib
Snitz Forums Admin
Portugal
26364 Posts |
Posted - 08 April 2008 : 03:31:11
|
You are using InnoDB tables? Any reason for that?
The server needs to be optimized for InnoDB tables, which usually they aren't. I've seen a forum that had performance issues and they were all sorted simply by changing all the tables to MyISAM. Snitz does not use transactions nor referential integrity, so I would suggest a change to MyISAM tables. I also don't think the issue is related to the active users mod (that does not explain default.asp timeouts). |
Snitz 3.4 Readme | Like the support? Support Snitz too |
|
|
|
Topic |
|