YaBB SE Community

English User Help => FAQ => Topic started by: Ralph Button (rbutton) on April 10, 2002, 12:42:06 PM

Title: Large message boards and MySQL logs of slow response
Post by: Ralph Button (rbutton) on April 10, 2002, 12:42:06 PM
Have others noticed that on large message boards the indexes do not seem to reflect the way data is selected?  Inside MySql the logs for slow queries show a large number of queries that are bogging the system down.  Some pages take over 45 seconds to open and the problem is just in the queries not the actual screen template.  It's sitting waiting for data to be returned from the database.

I'm currently using the explain plan against the queries to clean up the joins the sql does.  As I do response gets slowly better.  Just that before I redo all the indexes was wondering if anyone else has already done this?
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on April 10, 2002, 02:54:33 PM
the querie structure will be changed and indexes added

medi
Title: Re:Large message boards and MySQL logs of slow response
Post by: Ralph Button (rbutton) on April 11, 2002, 10:58:47 AM
I have created the following indexes and find that I have a 7X improvment in response on the forum!!!!!
Also MySQL no longer has listed 8,000 slow queries PER DAY - I'm now down to 2 queries in the slow query log.

alter table topics add key (isSticky);
alter table members add key(memberGroup(30));
alter table members add key(posts);
alter table members add key(memberName(30));
alter table members add key(dateRegistered);
alter table members add key(lastLogin);
alter table messages add key(posterTime);
alter table instant_messages add key (ID_MEMBER_FROM);
alter table instant_messages add key (ID_MEMBER_TO);
alter table instant_messages add key (deletedBy);
alter table instant_messages add key(fromName(30));
alter table instant_messages add key(toName(30));
alter table categories add key (catOrder);
alter table boards add key (ID_CAT);
alter table log_boards add key (ID_BOARD);
alter table log_boards add key (memberName(30));
alter table log_topics add key (membername(30));
alter table log_topics add key (logTime);
alter table log_topics add key (ID_TOPIC);
alter table log_activity add key (month);
alter table log_activity add key (day);
alter table log_activity add key (year);
alter table log_activity add key (mostOn);
alter table log_errors add key (logTime);
alter table log_errors add key (memberName(30));
alter table log_floodcontrol add key (ip(20));
alter table log_floodcontrol add key (logTime);
alter table log_karma add key (ID_TARGET);
alter table log_karma add key (ID_EXECUTOR);
alter table log_karma add key(logTime);
alter table log_mark_read add key (memberName(30));
alter table log_mark_read add key (ID_BOARD);
alter table log_mark_read add key (logTime);
alter table log_online add key (logTime);
alter table settings add key(variable(30));


I also have done the following memory settings
set-variable = max_connections=500
set-variable = key_buffer=64M
set-variable = myisam_sort_buffer_size=64M
set-variable = join_buffer=8M
set-variable = record_buffer=4M
set-variable = sort_buffer=8M
set-variable = table_cache=256
set-variable = thread_cache_size=256

Title: Re:Large message boards and MySQL logs of slow response
Post by: beneluxrail on April 11, 2002, 01:01:02 PM

the querie structure will be changed and indexes added

medi


When will that be released? I do have the same problem. Its so fu*&(* slow now its almost imposible to work with since the upgrade to 1.3.0.    :(
Title: Re:Large message boards and MySQL logs of slow response
Post by: andrea on April 11, 2002, 02:47:26 PM
I just inserted the above indices into my test board. My board has only
130 members
and less than 2000 posts.

The difference is extrem! The board is much faster now. The boardindex is loading in zero time, which was not before. I always felt there must be something wrong. Not only the boardindex, many other screens load much faster: IM inbox and outbox, board settings, thread overview in a board, return to thread overview after the entry of a new post...
Title: Re:Large message boards and MySQL logs of slow response
Post by: beneluxrail on April 11, 2002, 02:51:52 PM
Maybe a stupid question, but how do you do that? I do have phpmysql avalibe.
Title: Re:Large message boards and MySQL logs of slow response
Post by: Hypocrite on April 11, 2002, 02:54:57 PM
I'm also interested about how this is done and what should I backup before doing it to avoid anything getting broken.
Title: Re:Large message boards and MySQL logs of slow response
Post by: andrea on April 11, 2002, 02:56:51 PM

Maybe a stupid question, but how do you do that? I do have phpmysql avalibe.


Enter phpMyAdmin and enter the query above into the "Run SQL query" field (with copy & paste).

You need to add the db prefix into the query, I am using "yabbse_" prefix. So the query which I did run is:


alter table yabbse_topics add key (isSticky);
alter table yabbse_members add key(memberGroup(30));
alter table yabbse_members add key(posts);
alter table yabbse_members add key(memberName(30));
alter table yabbse_members add key(dateRegistered);
alter table yabbse_members add key(lastLogin);
alter table yabbse_messages add key(posterTime);
alter table yabbse_instant_messages add key (ID_MEMBER_FROM);
alter table yabbse_instant_messages add key (ID_MEMBER_TO);
alter table yabbse_instant_messages add key (deletedBy);
alter table yabbse_instant_messages add key(fromName(30));
alter table yabbse_instant_messages add key(toName(30));
alter table yabbse_categories add key (catOrder);
alter table yabbse_boards add key (ID_CAT);
alter table yabbse_log_boards add key (ID_BOARD);
alter table yabbse_log_boards add key (memberName(30));
alter table yabbse_log_topics add key (membername(30));
alter table yabbse_log_topics add key (logTime);
alter table yabbse_log_topics add key (ID_TOPIC);
alter table yabbse_log_activity add key (month);
alter table yabbse_log_activity add key (day);
alter table yabbse_log_activity add key (year);
alter table yabbse_log_activity add key (mostOn);
alter table yabbse_log_errors add key (logTime);
alter table yabbse_log_errors add key (memberName(30));
alter table yabbse_log_floodcontrol add key (ip(20));
alter table yabbse_log_floodcontrol add key (logTime);
alter table yabbse_log_karma add key (ID_TARGET);
alter table yabbse_log_karma add key (ID_EXECUTOR);
alter table yabbse_log_karma add key(logTime);
alter table yabbse_log_mark_read add key (memberName(30));
alter table yabbse_log_mark_read add key (ID_BOARD);
alter table yabbse_log_mark_read add key (logTime);
alter table yabbse_log_online add key (logTime);
alter table yabbse_settings add key(variable(30));
Title: Re:Large message boards and MySQL logs of slow response
Post by: andrea on April 11, 2002, 02:58:30 PM
Important note: if your board is busy, you should put into maintenance mode first, *before* you add the indices. And save dump data and structure of course, also before.
Title: Re:Large message boards and MySQL logs of slow response
Post by: beneluxrail on April 11, 2002, 03:03:54 PM
Wow way to go!!! This did do the job!!! Perfect!! (Why was this not in the 1.3.0 final release, or am i saying something sily now??)
Title: Re:Large message boards and MySQL logs of slow response
Post by: andrea on April 11, 2002, 03:07:27 PM
I'm also interested about how this is done and what should I backup before doing it to avoid anything getting broken.

If you do not feel sure about backup then don't run this query. A short tutorial about db save/restore will be posted soon in the documentation board. Here is the link to the documentation board. (http://www.yabb.info/community/index.php?board=161)

Me personally did run the query in my test board only, not in my life board. The official YaBB SE board does not have this db structure at the moment. And there stays the question: what happens with future board upgrades if the db structure is different?
Title: Re:Large message boards and MySQL logs of slow response
Post by: AnalogDuck on April 11, 2002, 03:07:54 PM
Good job!  Awesome tip!  Thank you Andrea!!   ;D
Title: Re:Large message boards and MySQL logs of slow response
Post by: andrea on April 11, 2002, 03:12:40 PM
rbutton is owing the thanks!
Title: Re:Large message boards and MySQL logs of slow response
Post by: AnalogDuck on April 11, 2002, 03:45:40 PM
Oops!  Am I bad!

Yeah, I meant to give props to rbutton:  Great work!  You've saved everyone much misery!

All the same, you were quite helpful as well Andrea!  :D
Title: Re:Large message boards and MySQL logs of slow response
Post by: Hypocrite on April 11, 2002, 04:02:02 PM
I think I'll wait for maybe Jeff or Joseph to comment on this one before going to work :) Because I don't have a test board where to play with this ;) But it sounds tempting.
Title: Re:Large message boards and MySQL logs of slow response
Post by: beneluxrail on April 11, 2002, 04:05:12 PM
My server was so slow that i implemented it on the live dbase. Lost users because of it. Cant believe not a lot of other people had this problem to....
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on April 11, 2002, 04:07:07 PM

Wow way to go!!! This did do the job!!! Perfect!! (Why was this not in the 1.3.0 final release, or am i saying something sily now??)


itīs not done with add indexes!
Title: Re:Large message boards and MySQL logs of slow response
Post by: Joseph Fung on April 11, 2002, 04:48:24 PM
Why wasn't it implemented? It was merely one of those things that was overlooked.

feel free to add the indices Hypocrite - it won't hurt.
Title: Re:Large message boards and MySQL logs of slow response
Post by: AnalogDuck on April 11, 2002, 06:13:29 PM
mediman, what do you mean precisely by,

Quote
itīs not done with add indexes!


???

I don't get your point.

But don't get me wrong I do understand the myriad of things overlooked in any release.  It's inevitable.

I just hope there's a 1.3.2 coming out at some point.  I've done quite a bit of fixing 1.3.1 stuff at this point.
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on April 11, 2002, 06:52:29 PM

mediman, what do you mean precisely


no, at the moment it will work if you only add this indexes, itīs a organized version of your columns in your tables so that a record will be found only by a look in the index, with the pointer which can found there mysql goes directly to the row! thats speeds up a lot!

but, the queries will not lesser or less complex!
full text search also will not profit !

thats why...
Title: Re:Large message boards and MySQL logs of slow response
Post by: Ralph Button (rbutton) on April 11, 2002, 08:19:50 PM
I posted my finding on the indexes mostly to add to the information on the forum.  Also as I have about 28,000 posts in 3 months on the forum I manage.  I really had to consider what to do.  By occupation I'm a senior dba for Oracle designing databases for large corporations so figured I have a better view of what to look for in a database than most.  Also as I moved to a dedicated server, for the forum, I was given the "keys" to the server to do whatever I wanted to.  Thus I could trace, turn on logging, etc to see what was happening.  I've always thought the code of the forum was really good but it needed help getting to the data in a timely fashion.  I only wanted to add to the already great job the developers did in creating this software package.  

I also posted the memory settings I adjusted for MySql.  Many will not beable to use them as I would expect your are on shared servers.  BUT those were the key variables I found that affected the performance of the forum software.  The dedicated server I'm running on has 1 gig of memory which allowed for me to adjust the memory settings to the level I did.  Again I do NOT expect that most on their server could set them that high but those, in my view, are some of the key variables in the setting up of MySql database.

Now I can go back to fixing up the forum with new features, looks, etc.  As the users are all happy campers now with the major improvement in speed.  I'm not a programmer but can stumble around in the code to find what I'm looking for.  I can help with databases but not much else!
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on April 11, 2002, 08:27:28 PM
and it was a great help! thx a lot rbutton!

medi
Title: Re:Large message boards and MySQL logs of slow response
Post by: Hypocrite on April 12, 2002, 12:42:06 AM
Well, I made the backup and ran the queries. Everything went smoothly and the speed difference is very noticable.
Title: Re:Large message boards and MySQL logs of slow response
Post by: David on April 12, 2002, 01:00:02 AM
I did it too and it worked.  Can't see any difference since the board I did it to has one member and one post.
Title: Re:Large message boards and MySQL logs of slow response
Post by: Mach8 on April 12, 2002, 05:33:03 AM
Just made the appropriate changes and in my opinion the board is a lot faster (it was MUCH slower than 1.1.0 before, now it's about the same speed). Just got to see what my forum members think (who were complaining about the slow speed) :-\
Title: Re:Large message boards and MySQL logs of slow response
Post by: Jan Houtsma on April 13, 2002, 05:15:22 PM

I have created the following indexes and find that I have a 7X improvment in response on the forum!!!!!
Also MySQL no longer has listed 8,000 slow queries PER DAY - I'm now down to 2 queries in the slow query log.

alter table topics add key (isSticky);
...


I did not issue any of these lines above in my board which is up to date to the latest version including Jeff's bug fix download. When i look at the tables with phpMyAdmin all these keys are already there....
Maybe i do not understand the this post. Maybe someone can explain?
Thanks,

Jan
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on April 13, 2002, 05:35:59 PM
maybe jeff or another dev updatet the *.sql ???
newer mysql versions add automaticaly indeces if you use CREATE TABLE (but not this one!)

but look here

old yabbse db table messages

KeynameUniqueFieldAction
PRIMARYYesID_MSGDrop
ID_TOPICNoID_TOPICDrop

important new index in new sql is postertime

KeynameUniqueFieldAction
PRIMARYYesID_MSGDrop
ID_TOPICNoID_TOPICDrop
posterTimeNoposterTimeDrop

medi
Title: Re:Large message boards and MySQL logs of slow response
Post by: Ben_S on April 13, 2002, 06:10:41 PM
Done it to my 36687 post board and it seems to have sped it up a bit :)

Ta
Title: Re:I really should of looked at this board before...
Post by: Greg Robson on April 14, 2002, 04:01:53 AM
As the subject says - I've come a bit late to this conversation.

Yes the indexes are bound to speed things up and I'm very impressed with speed differences peopel have experienced. As the self nominated database designer I can tell you that I have been spending many hours looking at the DB schema. I have found the following:

1. It lacks indexes
2. Some of the numeric fields are way to big (I don't think it's realistic to expect 4,200,000,000 users - do you?)
3. It lacks normalisation (Polls needs splitting to enable the changing of the number of items easily).

I'm only half way through a fairly thorough analysis and I'm beginning to work on a new schema. Whoever writes the convertor will probably have several headaches before they finish but the end result will be a much faster YaBB  :) :) :)

Hope that explains the situation a bit more :)
Title: Re:Large message boards and MySQL logs of slow response
Post by: Mach8 on April 14, 2002, 07:13:16 AM
In addition to the database changes listed above, I also took out MostMaster's image resizer from the forum code. I don't need this particular function on my forum, and it has greatly increased in speed, especially on threads with many posts (and many sigs).
Title: Re:Large message boards and MySQL logs of slow response
Post by: Greg Robson on April 14, 2002, 08:02:27 AM
Yes - I haven't checked the code myself - but would I be right in saying it verifies every post? If so then perhaps we only need to check when people change their avatar/signature? :)
Title: Re:Large message boards and MySQL logs of slow response
Post by: Mach8 on April 14, 2002, 10:07:40 AM
I think it checks avatars, signatures and attached images.

That caused a huge slowdown on my board as just about everyone has avatars and 75% of my members have images in their signatures. I think the feature should still be in there, but should be optionable.
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on April 14, 2002, 10:15:16 AM
my board have not so a slowdown (i havnīt check the code, itīs a php check (getimagesize) or javascript?

so or so i change my avatare code, the function to have a own avatar as a link is not so good for me (to slow servers or not answer form this servers, htaccess restrictet servers, deleted images and all this things)

i allow my user to use my avatars (in avatar directory) or to upload 1 Avatar, which will be resized and renamed, so when tehy upload anotherone the old one will be deletet!

medi
Title: Re:Large message boards and MySQL logs of slow response
Post by: Mach8 on April 14, 2002, 10:27:12 AM
Yeah it's done in PHP with the GD library.

I like the idea of having avatars stored locally, will you be releasing this as a mod?
Title: Re:Large message boards and MySQL logs of slow response
Post by: Jeff Lewis on April 14, 2002, 10:50:54 AM
It works ok until you hit a slow server where an image is stored or one that isn't reachable at that time :)
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on April 14, 2002, 10:56:28 AM
yes it works!  but any user on my board use htaccess protectet images as avatars and this is not so kewl cause everytime i open a post twenty password things open same time! just for that i change it for me!

medi
Title: Re:Large message boards and MySQL logs of slow response
Post by: Mach8 on April 14, 2002, 11:08:32 AM

It works ok until you hit a slow server where an image is stored or one that isn't reachable at that time :)


That would have been it. One particular member has a sig that takes AGES to load, reasonable size etc but poor compression.
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on April 14, 2002, 11:14:38 AM
and this i try to prevent if i use an upload instead a link! and if every user has the abiltity to upload 1 image with a max. size of about 15 kb i think iīll not have probs with disk quota *lol*
Title: Re:Large message boards and MySQL logs of slow response
Post by: tore- on April 14, 2002, 04:58:25 PM
hmm, i didnt quite get this, is this an official fix or not?
Title: Re:Large message boards and MySQL logs of slow response
Post by: Jeff Lewis on April 14, 2002, 06:33:26 PM
Sure :)  it works and we've applied it here so feel free...it's not going to harm your install.
Title: Re:Large message boards and MySQL logs of slow response
Post by: AnalogDuck on April 15, 2002, 07:20:17 PM
Just so you know Greg, I'm excitedly awaiting the final conclusions of your exhaustive study!

Your work is greatly appreciated!   ;D
Title: Re:Large message boards and MySQL logs of slow response
Post by: misteradio on April 15, 2002, 10:15:00 PM
I, too, just applied this on a 1.3.0 (+ patches) install. I have a small board (350 users and about 3500 messages). I, too, noticed a speed improvement, although it was slight.
Title: Re:Large message boards and MySQL logs of slow response
Post by: RHiSC on April 16, 2002, 06:48:44 AM
I do not have a clue about how to perform this task... can somebody do some real slow explaining to me?
Title: Re:Large message boards and MySQL logs of slow response
Post by: tore- on April 16, 2002, 08:56:10 AM

I do not have a clue about how to perform this task... can somebody do some real slow explaining to me?


read all the post, then youll know, get phpmyadmin
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on April 16, 2002, 10:14:02 AM
for that people who have no phpmyadmin i can make a little script! (prhaps with analyzing, optimizing and repair tables if it is needed)

medi
Title: Re:Large message boards and MySQL logs of slow response
Post by: beneluxrail on April 16, 2002, 12:01:10 PM
Please do!! It would be nice to have a script to do so, and periodicly optimize the dbase as well.  :D
Title: Re:Large message boards and MySQL logs of slow response
Post by: RHiSC on April 16, 2002, 08:11:05 PM
yeah, that would be great! nice suggestion...
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on April 16, 2002, 08:17:51 PM
iīm in the last tests and post the file here asap!
Title: Re:Large message boards and MySQL logs of slow response
Post by: RHiSC on April 16, 2002, 10:33:30 PM
awesome!!! standing by...
Title: Re:Large message boards and MySQL logs of slow response
Post by: goosemoose on April 18, 2002, 02:35:50 PM
I applied the query changes but I couldn't find the place in phpadmin to edit the variables that were suggested. Where is this hiding? Or do I put these in the query field as well? Thanks
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on April 18, 2002, 02:42:52 PM
try this script it makes all changes for you!
Code: [Select]
<?php

$db_name 
"";
$db_user "";
$db_passwd "";
$db_server "";
$db_prefix "";

mysql_connect("$db_server","$db_user","$db_passwd");
$vers mysql_get_server_info();
if(
eregi("3.23",$vers)) {
echo 
"We found a MySQL Server with Version <b>$vers</b> installed!<br>";
echo 
"<font color ='red'>We change your tables to MyISAM type and analyze/optimze all tables also indices will be added!</font><br>";
typechanging();
optimize();
addindices();
} else {echo 
"We found a MySQL Server with Version <b>$vers</b> installed!<br>";
echo 
"<font color ='red'>tables will analyzed and optimzed and indices added will be added!</font><br>"
optimize();
addindices();
}


function 
typechanging() {
global 
$db_name;
mysql_select_db($db_name); 
$tables=mysql_list_tables($db_name);
while (list(
$bla)=mysql_fetch_array($tables)) {
$result mysql_query("ALTER TABLE $bla TYPE=MyISAM")or die("Invalid query");
echo 
"Table <font color=blue>".$bla."</font> converted to MyISAM!<br>"
}
}

function 
optimize() {
global 
$db_name;
mysql_select_db($db_name); 
$tables=mysql_list_tables($db_name);
while (list(
$bla)=mysql_fetch_array($tables)) {
$result mysql_query("OPTIMIZE TABLE $bla")or die("Invalid query");
echo 
"Table <font color=blue>".$bla."</font> analyzed and optimized!<br>"
}
}

function 
addindices() {
global 
$db_name,$db_prefix;
mysql_select_db($db_name); 
mysql_query("ALTER TABLE {$db_prefix}members add key(memberGroup(30)");
mysql_query("ALTER TABLE {$db_prefix}members add key(posts)");
mysql_query("ALTER TABLE {$db_prefix}members add key(memberName(30)");
mysql_query("ALTER TABLE {$db_prefix}members add key(dateRegistered)");
mysql_query("ALTER TABLE {$db_prefix}members add key(lastLogin)");
mysql_query("ALTER TABLE {$db_prefix}messages add key(posterTime)");
mysql_query("ALTER TABLE {$db_prefix}instant_messages add key (ID_MEMBER_FROM)");
mysql_query("ALTER TABLE {$db_prefix}instant_messages add key (ID_MEMBER_TO)");
mysql_query("ALTER TABLE {$db_prefix}instant_messages add key (deletedBy)");
mysql_query("ALTER TABLE {$db_prefix}instant_messages add key(fromName(30)");
mysql_query("ALTER TABLE {$db_prefix}instant_messages add key(toName(30)");
mysql_query("ALTER TABLE {$db_prefix}categories add key (catOrder)");
mysql_query("ALTER TABLE {$db_prefix}boards add key (ID_CAT)");
mysql_query("ALTER TABLE {$db_prefix}log_boards add key (ID_BOARD)");
mysql_query("ALTER TABLE {$db_prefix}log_boards add key (memberName(30)");
mysql_query("ALTER TABLE {$db_prefix}log_topics add key (membername(30)");
mysql_query("ALTER TABLE {$db_prefix}log_topics add key (logTime)");
mysql_query("ALTER TABLE {$db_prefix}log_topics add key (ID_TOPIC)");
mysql_query("ALTER TABLE {$db_prefix}log_activity add key (month)");
mysql_query("ALTER TABLE {$db_prefix}log_activity add key (day)");
mysql_query("ALTER TABLE {$db_prefix}log_activity add key (year)");
mysql_query("ALTER TABLE {$db_prefix}log_activity add key (mostOn)");
mysql_query("ALTER TABLE {$db_prefix}log_errors add key (logTime)");
mysql_query("ALTER TABLE {$db_prefix}log_errors add key (memberName(30)");
mysql_query("ALTER TABLE {$db_prefix}log_floodcontrol add key (ip(20)");
mysql_query("ALTER TABLE {$db_prefix}log_floodcontrol add key (logTime)");
mysql_query("ALTER TABLE {$db_prefix}log_karma add key (ID_TARGET)");
mysql_query("ALTER TABLE {$db_prefix}log_karma add key (ID_EXECUTOR)");
mysql_query("ALTER TABLE {$db_prefix}log_karma add key(logTime)");
mysql_query("ALTER TABLE {$db_prefix}log_mark_read add key (memberName(30)");
mysql_query("ALTER TABLE {$db_prefix}log_mark_read add key (ID_BOARD)");
mysql_query("ALTER TABLE {$db_prefix}log_mark_read add key (logTime)");
mysql_query("ALTER TABLE {$db_prefix}log_online add key (logTime)");
mysql_query("ALTER TABLE {$db_prefix}settings add key(variable(30)");
echo 
"<font color ='red'>Indices succesfully added!</font>";
}

?>
Title: Re:Large message boards and MySQL logs of slow response
Post by: Purple Raine on April 19, 2002, 03:39:29 PM
Alright...

I *REALLY* need some help with this =)... as my board is only 2 months old, it doesn't really make sense to delete posts that are two months old...

yet my board is DISGUSTINGLY slow... I've had many people report that they've been waiting for 30+ seconds to see the board go...

I have the indices inserted into the code already, but still, it's slow as heck... and i mean SLOW...

on average, it takes about 9-11 seconds to load up the boardindex, which my host has told me is the main problem... each boardindex load has hammering the mysql queries and hence causing mucho problems on the server...

Can anyone think of any other means of making this work better / faster?

Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on April 19, 2002, 03:50:59 PM
try this

Code: [Select]
<?php<br><br>$db_name "";<br>$db_user "";<br>$db_passwd "";<br>$db_server "";<br>$db_prefix "";<br><br>mysql_connect("$db_server","$db_user","$db_passwd");<br>$vers mysql_get_server_info();<br>if(eregi("3.23",$vers)) {<br>echo "We found a MySQL Server with Version <b>$vers</b> installed!<br>";<br>echo "<font color ='red'>We change your tables to MyISAM type and analyze/optimze all tables!</font><br>";<br>typechanging();<br>optimize();<br>} else {echo "We found a MySQL Server with Version <b>$vers</b> installed!<br>";<br>echo "<font color ='red'>tables will analyzed and Optimzed!</font><br>"; <br>optimize();<br>}<br><br><br>function typechanging() {<br>global $db_name;<br>mysql_select_db($db_name); <br>$tables=mysql_list_tables($db_name);<br>while (list($bla)=mysql_fetch_array($tables)) {<br>$result mysql_query("ALTER TABLE $bla TYPE=MyISAM")or die("Invalid query");<br>echo "Table <font color=blue>".$bla."</font> wurde nach MyISAM konvertiert!<br>"; <br>}<br>}<br><br>function optimize() {<br>global $db_name;<br>mysql_select_db($db_name); <br>$tables=mysql_list_tables($db_name);<br>while (list($bla)=mysql_fetch_array($tables)) {<br>$result mysql_query("OPTIMIZE TABLE $bla")or die("Invalid query");<br>echo "Table <font color=blue>".$bla."</font> analyzed and optimized!<br>"; <br>}<br>}<br>?>


this will change your db to a more faster table type and sort and defrag the indices!

medi

Title: Re:Large message boards and MySQL logs of slow response
Post by: Delinquently insane on April 19, 2002, 08:14:36 PM
awesome blazing fast   :)
Title: Re:Large message boards and MySQL logs of slow response
Post by: luisr on April 24, 2002, 09:46:38 PM
Just curious about this topic.  My board has about 900 messages and 110 users.  Will I benefit from this?
Title: Re:Large message boards and MySQL logs of slow response
Post by: tore- on April 25, 2002, 12:09:29 AM

Just curious about this topic.  My board has about 900 messages and 110 users.  Will I benefit from this?


yes
Title: Re:Large message boards and MySQL logs of slow response
Post by: Golden Tiger on April 28, 2002, 03:29:37 PM
Ok, a suggestion than a question...

Suggestion to the administrators, add this file to the downloads section and send out a notification.  That way, it would truely be official.  Also, for people who switch over to SE expecting a faster board (like it says on the front page) and seeing a much slower one on their site... they will not be pleased!  This should be considered a bug fix, a SQL table bug fix, but a bug fix anyways.

Question, to mediman.  You posted two code snidbits...  do I need to run both, or only one, the first or the second?  Which one do I need to run to make my board faster?
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on April 28, 2002, 03:42:15 PM
the first one change the "table type" corresponding on your mysql version, add indices and optimize your table!

if you have already put the inidices, then use the second one!

if you only will make a optimizing (maybe once a month or so then use

Code: [Select]
<?

$db_name = "";
$db_user = "";
$db_passwd = "";
$db_server = "localhost";

mysql_connect("$db_server","$db_user","$db_passwd");
$vers = mysql_get_server_info();
echo "We found a MySQL Server with Version <b>$vers</b> installed!<br>";
optimize();

function optimize() {
global $db_name;
mysql_select_db($db_name);
$tables=mysql_list_tables($db_name);
while (list($bla)=mysql_fetch_array($tables)) {
$result = mysql_query("OPTIMIZE TABLE $bla")or die("Invalid query");
echo "Table <font color=blue>".$bla."</font> analyzed and optimized!<br>";
}
}

?>

cheers medi!
Title: Re:Large message boards and MySQL logs of slow response
Post by: Golden Tiger on April 28, 2002, 03:55:33 PM
Also, one last thing, perhaps forward this to mod development, future development...  Put an option in the admin center telling you when you last optimized, and allowing you to optimize by clicking on a single link...

Just an idea!
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on April 28, 2002, 03:58:35 PM
good idea ;) perhaps with a db checker ???

medi
Title: Re:Large message boards and MySQL logs of slow response
Post by: Mostmaster on April 30, 2002, 01:10:36 PM

In addition to the database changes listed above, I also took out MostMaster's image resizer from the forum code. I don't need this particular function on my forum, and it has greatly increased in speed, especially on threads with many posts (and many sigs).


You don't need to remove the code because you can easily turn on/off the option in your admincenter. And it only works for sigs and normal posts, not for avatars ;)
It can slow down your board if it tries to get the size of an non-existing image or an image on a slow server. That's the only disadvantage of this method. :-\
Title: Re:Large message boards and MySQL logs of slow response
Post by: Mach8 on April 30, 2002, 01:15:12 PM
Mostmaster: normal people would do that, but since I've edited every source file on my forum, removing stuff I don't use I thought I'd do it with that too ;)

It's a good piece of code, nothing wrong with it, the only flaw as you've said is that if the server replies slowly, or the file doesn't exist then you're bound to experience speed problems.
Title: Re:Large message boards and MySQL logs of slow response
Post by: Webby on April 30, 2002, 03:48:17 PM
How exactly can I see whether my database is up-to-date or not ?  And if so, using the script will ruin it, or is it always "safe" to use it.

I can certainly make a backup first, but want to know this for my own peace of mind ;)

The second script I have to run every month or so you say ?!
Title: Re:Large message boards and MySQL logs of slow response
Post by: Egg on May 01, 2002, 08:26:41 AM
Mediman


can you tell me how and where to save / run the script??

just a bit new to this game ;)

thanks

Egg

Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on May 01, 2002, 08:45:28 AM

How exactly can I see whether my database is up-to-date or not ?  And if so, using the script will ruin it, or is it always "safe" to use it.

I can certainly make a backup first, but want to know this for my own peace of mind ;)

The second script I have to run every month or so you say ?!


if you need info how uptodate is your mysql try this

Code: [Select]

<?php<br><br>$db_name "";<br>$db_user "";<br>$db_passwd "";<br>$db_server "";<br>$db_prefix "";<br><br>mysql_connect("$db_server","$db_user","$db_passwd");<br>$vers mysql_get_server_info();<br>echo "Version: $vers";<br>?>


The scripts have no code that will in any form be a risk of you db...
the script is so written, that the optimizing part depents on your mysql version... only if you have a version 3.23.xx the table type will be changed to MyISAM!

the optimize script can you run so often you want, i use it twice a month, but once a month is also ok!

medi

if you have any questions...
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on May 01, 2002, 08:49:05 AM

Mediman


can you tell me how and where to save / run the script??

just a bit new to this game ;)

thanks

Egg


copy & paste the code in a textfile, rename it to optidb.php (or what ever you want) and upload it anywhere to your server. run it and thats it!

medi
Title: Re:Large message boards and MySQL logs of slow response
Post by: Webby on May 01, 2002, 09:43:17 AM
Quote


The scripts have no code that will in any form be a risk of you db...
the script is so written, that the optimizing part depents on your mysql version... only if you have a version 3.23.xx the table type will be changed to MyISAM!

the optimize script can you run so often you want, i use it twice a month, but once a month is also ok!

medi

if you have any questions...


Version: 3.23.49a-log

So I have to check if it is " MyISAM " ?
Title: Re:Large message boards and MySQL logs of slow response
Post by: Coyote on May 01, 2002, 01:17:18 PM
OMG  :o

I have a small board of 179 members and 30,000 posts a month - and I thought the board was pretty slick as it was - I did not expect this to database change to make much difference. BUT IT DOES!!!!

Thanks guys!!!!
Title: Re:Large message boards and MySQL logs of slow response
Post by: Jan Houtsma on May 01, 2002, 01:27:39 PM

Mediman


can you tell me how and where to save / run the script??

just a bit new to this game ;)

thanks

Egg




php -f <filename> works as well but you will see the html tags in the responses.
Title: Re:Large message boards and MySQL logs of slow response
Post by: Jan Houtsma on May 01, 2002, 01:31:15 PM
Quote
Strange. My server is RH7.2 with mysql-3.23.41-1.

According to the script it should add indices and change the type to MyISAM. But everything already was MyISAM and all the indices were already there without running the script at all.

Jan

if you have ever had a 3.23 db then it is normal that your table type was already MyISAM, not a problem!
itīs just a secure feature to change anotherone to MyISAM!

the other thing (you have already had all indices is litte bit strange to me... but cool for you ;)

well, but you can use the second script to optimize (defrag) your tables from time to time!

medi
Title: Re:Large message boards and MySQL logs of slow response
Post by: Webby on May 01, 2002, 01:42:47 PM
Woohoo....it's a lot faster now !
Title: Re:Large message boards and MySQL logs of slow response
Post by: WedgeAntilles250 on May 01, 2002, 02:08:09 PM
Ok, this is confusing.  Three different scripts to do the same thing....optimize the db.

Which one do I use?
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on May 02, 2002, 01:24:40 AM
Ok, this is confusing.  Three different scripts to do the same thing....optimize the db.

Which one do I use?

if you never has optimized your db then use the 1st one! this change your table types to MyIsam, add indices and defrag, analyze your tables!

if you have already added the indices (all indices) then use the script without the "addindices" code!

both script you have to run once! (if yu run it more then once it will only not make any effect!

for your monthly optimize job, use then this

Code: [Select]
<?

$db_name = "";
$db_user = "";
$db_passwd = "";
$db_server = "localhost";

mysql_connect("$db_server","$db_user","$db_passwd");
$vers = mysql_get_server_info();
echo "We found a MySQL Server with Version <b>$vers</b> installed!<br>";
optimize();

function optimize() {
global $db_name;
mysql_select_db($db_name);
$tables=mysql_list_tables($db_name);
while (list($bla)=mysql_fetch_array($tables)) {
$result = mysql_query("ANALYZE TABLE $bla")or die("Invalid query");
echo "Table <font color=blue>".$bla."</font> analyzed and optimized!<br>";
}
}

?>
but if you have a mysql version 3.23.xx table only will optimized if you have table type MyISAM!

Sorry, i will make an "all in one" script to make it litte bit more usefull...

medi
Title: Re:Large message boards and MySQL logs of slow response
Post by: David on May 02, 2002, 01:42:42 AM
For Boardnation I built the optimization into a new page I added to the Admin center.  Maybe the code to optimize the db should be called each time someone visits the Admin center or a new page created that deals with db utility stuff, backing up, optimizing . . .
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on May 02, 2002, 03:16:39 AM
this is a kewl idea!  8)

medi
Title: Re:Large message boards and MySQL logs of slow response
Post by: WedgeAntilles250 on May 02, 2002, 08:17:26 AM
COOL!  It did speed up the board.

I have made a ZIP file out of the scripts.  You can download it here (http://www.toms-world.org/downloads/Download.pl?name=MySQL Optimizer).
Title: Re:Large message boards and MySQL logs of slow response
Post by: Egg on May 03, 2002, 04:22:13 AM
thanks medi and Jan

it makes a BIG difference :thumbsup:
Title: Re:Large message boards and MySQL logs of slow response
Post by: PioneeR on May 09, 2002, 09:32:21 PM
I have just converted from YaBB1GSP1 over to SE..

I have 140ish members and over 19000 posts.. I wasnt very impressed with the speed of SE...

Well not until I did the above!! WOW! What an improvement!!

Thanks!!

Title: Re:Large message boards and MySQL logs of slow response
Post by: jthorpe on May 11, 2002, 09:35:30 AM
This made a huge difference for mine.  Running top before the change would show my server at 80-90% with only 60-70 people on a once.  Now, I had 105 on at once the other night, and the server load was almost nothing.  The queries are MUCH MUCH faster!  Amazing...

I remember posting a message a long time ago thinking there was something wrong with my board, and that is was just slow.  Now I know why.  Either way, good job Yabbse and Ralph.  I am VERY happy now, and so are my users  ;D
Title: Re:Large message boards and MySQL logs of slow response
Post by: Jenni on May 11, 2002, 12:20:01 PM
How can I monitor my MySQL, slow queries etc.?
I have a 500 member 20000 message board and I havent noticed that it would have been slow.

Will I be able to upgrade to newer yabbse versions after upgrading my MySQL?
Title: Re:Large message boards and MySQL logs of slow response
Post by: tore- on May 11, 2002, 01:14:00 PM

How can I monitor my MySQL, slow queries etc.?
I have a 500 member 20000 message board and I havent noticed that it would have been slow.

Will I be able to upgrade to newer yabbse versions after upgrading my MySQL?


well, since this is an official fix, correct me if wrong, yes, you will be able to upgrade, this fix will be standard in yabb se 2
Title: Re:Large message boards and MySQL logs of slow response
Post by: Jeff Lewis on May 11, 2002, 01:44:58 PM
Yes you'll be able to upgrade...
Title: Re:Large message boards and MySQL logs of slow response
Post by: Altair on May 18, 2002, 11:46:20 AM
Thanks alot guys! (an now you cant tell me to get a host jeff... Me got one! YaY! Board is working fine! except for this... http://www.yabb.info/community/index.php?board=140;action=display;threadid=8486
Title: Query Problem
Post by: DMiller on May 22, 2002, 06:48:20 PM
When I run the script to change, indice and optimize it returns an error.

Quote
We found a MySQL Server with Version 3.23.49-log installed!
We change your tables to MyISAM type and analyze/optimze all tables!
Invalid query


It's hanging up in the typechanging() routine.

What should I do?

Thanks!
Title: Re:Large message boards and MySQL logs of slow response
Post by: queks on May 28, 2002, 09:33:21 AM
How abt the image checker that resize all the pic. I though i read it somewhere in the thread that this is another "main reason" that slow down the forum. Any patch for that ??
Title: Re:Large message boards and MySQL logs of slow response
Post by: firewired on May 28, 2002, 12:39:21 PM
I optimized PinoyDVD (http://www.pinoydvd.com) using the supplied scripts and the speed up was dramatic for a while. Last week, we suddenly began to experience the too many connections error with increasing frequency. This happens regardless of the number of people who are online. I ran the monthly optimize script last weekend and it helped a bit.

Now the errors are back and the board is slowing down again so much so that people are starting to notice:

Site Feedback (http://www.pinoydvd.com/yabbse/index.php?board=13;action=display;threadid=2869;start=75;boardseen=1)

I just ran the optimize script again for good measure. Aside from this, is there anything else that can be done?

We're on a premium plan with Hostway by the way and we've never had problems with them. Just to make sure, I've filed a trouble ticket there as well.
Title: Re:Large message boards and MySQL logs of slow response
Post by: Spaceman-Spiff on May 28, 2002, 08:20:54 PM
has anyone written a php script for this?
my friend was wondering if it exists, since he doesnt have phpMyAdmin in his server
Title: Re:Large message boards and MySQL logs of slow response
Post by: Jeff Lewis on May 29, 2002, 08:43:07 AM
Um...did you look about 10 posts above yours? Wedge posted one I think...
Title: Re:Large message boards and MySQL logs of slow response
Post by: Spaceman-Spiff on May 30, 2002, 11:37:43 AM
whoops, sry, my bad  :-\
Title: Re:Large message boards and MySQL logs of slow response
Post by: Vin99NL BOFH on May 30, 2002, 12:08:30 PM
if i knew this only one day before :'( :'( :'( :'(

My host Powweb.com stopped hosting me becouse of server abuse.. i think this was it..
Title: Re:Large message boards and MySQL logs of slow response
Post by: Agelmar on May 30, 2002, 01:38:00 PM
I notice you are using ANALYZE TABLE - why not use OPTIMIZE TABLE? OPTIMIZE TABLE (assuming that you are running MyISAM tables) will do a lot more - It reclaims unused space left by deleted records (i.e. if you delete / modify a post), updates indexes, repairs the table after rows have been deleted or split, sorts the index pages if they're not sorted, and updates statistics..... also defragments the datafile.

You can simply replace ANALYZE TABLE with OPTIMIZE TABLE in the previously posted code snippet and your board should be even happier ^-^. (OPTIMIZE TABLE takes a bit longer than ANALYZE TABLE, but not much. I did it table by table, and on my board, the largest table (messages), with about 25,000 messages, only took 2.5 seconds. Entire process took less than ten seconds for all tables. Note that the board will be unavailable while you do OPTIMIZE TABLE, as it does place a lock on the table while OPTIMIZE TABLE is running, but it should only take a few seconds.)
Title: Re:Large message boards and MySQL logs of slow response
Post by: Jeff Lewis on May 30, 2002, 03:51:08 PM
They do different things...optimise.php is also included in this zip that you can find in this thread.
Title: Re:Large message boards and MySQL logs of slow response
Post by: Agelmar on May 31, 2002, 07:02:03 AM
Yes, OPTIMIZE TABLE does more than ANALYZE TABLE (it performs the same function as ANALYZE TABLE and then some). If I am not mistaken, OPTIMIZE TABLE (on a MyISAM table) is the same thing as doing myisamchk --quick --check-only-changed --sort-index --analyze whereas ANAYLZE TABLE is the same as myisamchk -a. (for those who don't know, -a is the same as --analyze on myisamchk)... as such, I would think that there would be no real reason not to go with OPTIMIZE TABLE rather than ANALYZE TABLE.... at the most it will tack on another few seconds...
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on June 16, 2002, 07:48:51 AM
correct, but donīt use to often optimize cause mysql will change then everytime the statistics (mysql use with join table not the keys but the statistics and optimize clear this everytime)!

if you will for you weekly optimizing use table optimize then you have to add to the join select queries the "use key" statement to have a good speed! remember the probs with any queries in 130, this queries have had keys but it was a join select querie so it was very slow!

mediman
Title: Re:Large message boards and MySQL logs of slow response
Post by: groundup on June 25, 2002, 10:23:45 PM
mediman - you just confused the hell out of me :(
Title: Re:Large message boards and MySQL logs of slow response
Post by: groundup on July 14, 2002, 02:24:14 AM
can we have this moved to FAQ or somewhere, where it is more noticealbe?
Title: Re:Large message boards and MySQL logs of slow response
Post by: Stud Muffin on July 14, 2002, 09:04:04 AM
When using the convert php i get this?

Fatal error: Call to undefined function: mysql_get_server_info() in /files/local/home/earthdome/forum/convert.php on line 10

I'm running version  3.22.32 of MySql

I have since read that i need version 3.23.xx.
Time to hassle my host.
Title: Re:Large message boards and MySQL logs of slow response
Post by: Shaun on July 17, 2002, 12:24:10 AM
Holy Moly!!

I just ran the scripts on my 1.4.0 board with 40000+ posts - 4000+ topics - 1488 members.


IT IS BLAZING FAST NOW!!!!!



;D :o
Title: Re:Large message boards and MySQL logs of slow response
Post by: Michele on July 17, 2002, 12:42:13 PM

For Boardnation I built the optimization into a new page I added to the Admin center.  Maybe the code to optimize the db should be called each time someone visits the Admin center or a new page created that deals with db utility stuff, backing up, optimizing . . .


Just added a page to my YaPP setup too. :)
Title: Re:Large message boards and MySQL logs of slow response
Post by: Michele on July 17, 2002, 01:22:21 PM
Be careful with these scripts... I'm guessing the scripts place a temporary high load on the SQL Servers because 5 minutes after I ran it, my site went down due to excess bandwidth.

I've got an email into them checking to see if that (load on SQL server) was the reason for the bandwidth, as I've used less than 10% of monthly bandwidth so far this month.

I'll let you know what they say as soon as I hear from my host.

Argh...

EDIT: I heard from my host... dang buggy CPanel software. It only showed 300MB of bandwidth used, when in actually, one of my sub-domains had used 4.5GB themselves and I exceeded the 5GB that way. Why their CPanel can't keep track of it on a timely basis, I dunno... the webalizer and analog web stats don't show my sub-domains either, so it was hard to track down what happened.

So, it was just weird karma that the Optimize bit threw me over the bandwidth for the month and closed down my site. :)

Argh... Moya

Oh, BTW, I'm back up again... had to buy more bandwidth though to make it through the month. :)
Title: Re:Large message boards and MySQL logs of slow response
Post by: Michele on July 17, 2002, 03:13:53 PM
Well, I'm going back down for a bit again. :)

My host (dzones.com) decided that it was time to upgrade me to the new servers (RedHat 7.2 from 6.2) to hopefully get rid of the buglets regarding my CPanel and bandwidth display problems. I'll have a new IP and it will take a little time to fix up the domain to point to the new IP.

Any gotchas I need to look out for?

BTW, do most host sites give you a static IP like mine does?

Thanks, MM
Title: Re:Large message boards and MySQL logs of slow response
Post by: Daniel Hofverberg on July 18, 2002, 07:21:43 PM

BTW, do most host sites give you a static IP like mine does?

Static IP: Yes. Unique IP: No. In my experience, tje majority of web hosts have one static IP shared for all domains/subdomains on the server (name-based hosting via HTTP_HOST).
Title: Re:Large message boards and MySQL logs of slow response
Post by: oldford on July 26, 2002, 12:17:51 AM
Well, add another one to the "works great for me" category.  ;D

I just did this on my board and it's a very nice improvement in speed. My board was getting fairly large and really slowed down in the last few weeks. I had optimized all tables, but it still wasn't helping. After following the instructions in this post I'm VERY happy with the results. FYI, my board stats are:

Members: 1619   Posts: 51896   Topics: 7418

Thanks!!!
Title: Re:Large message boards and MySQL logs of slow response
Post by: Michele on July 26, 2002, 12:25:31 PM


BTW, do most host sites give you a static IP like mine does?

Static IP: Yes. Unique IP: No. In my experience, tje majority of web hosts have one static IP shared for all domains/subdomains on the server (name-based hosting via HTTP_HOST).



Actually, when I run a tracert to my IP address, it resolves to my domain name when it gets there... so maybe I do have a unique IP? Either that, or since I'm on a new server, maybe I'm just the only one using it yet. :)

Have fun, MM
Title: Re:Large message boards and MySQL logs of slow response
Post by: djMostly on July 30, 2002, 06:14:04 PM
well, i used this query and i see no noticable speed increase.  the host i'm using is *fast* and i've made sure that it wasn't just normal lag.  anyone else not get anything out of this?  :)
Title: Re:Large message boards and MySQL logs of slow response
Post by: Jeff Lewis on July 31, 2002, 06:35:23 AM
If you're using 1.4, use BoardIndex.php from 1.3 until 1.4.1 is released.
Title: Re:Large message boards and MySQL logs of slow response
Post by: djMostly on August 01, 2002, 12:09:50 AM
tried that, but now i'm struggling with database user access problems.  ugh.  not sure if it's the "patch" or a problem with my host.
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on August 01, 2002, 10:32:32 AM

When using the convert php i get this?

Fatal error: Call to undefined function: mysql_get_server_info() in /files/local/home/earthdome/forum/convert.php on line 10

I'm running version  3.22.32 of MySql

I have since read that i need version 3.23.xx.
Time to hassle my host.



your installation does not support get_server_info, so delete this part from the script!

mediman
Title: Re:Large message boards and MySQL logs of slow response
Post by: mephisto_kur on August 02, 2002, 01:18:06 AM
Very small board..  But 8 guys post 1000 times a week...  (125 topics)...

Even so small, its noticably faster.
Title: Re:Large message boards and MySQL logs of slow response
Post by: djMostly on August 05, 2002, 11:31:54 AM
how would one uninstall this patch?
Title: Re:Large message boards and MySQL logs of slow response
Post by: Snowman30 on August 05, 2002, 09:34:44 PM
Im totally lost with all this.

I have 1.4 which was built up from 1.3 as an upgrade.

I have MySQL 3.23.45

now my board is slow and i want to speed it up, which of these files should i be running??? Ive downloaded the zip of the files and installed them on the server but i dont know which one i should use???

Couls someone please shed some light on this for me please.

Thanks
Title: Re:Large message boards and MySQL logs of slow response
Post by: mephisto_kur on August 06, 2002, 12:56:42 AM
Use Convert.php first, then use Optimze.php regularly.  Convert adds the indexes and Optimize cleans 'em.
Title: Re:Large message boards and MySQL logs of slow response
Post by: Snowman30 on August 06, 2002, 01:16:55 AM
excellent...thanks for that...

Now is there anything else i can do to get a faster load time....im on a server that gives most of my sites viewers a ping of around 300ms so anything i can do to squueze performance out of it will help.
Title: Re:Large message boards and MySQL logs of slow response
Post by: Frodo on August 17, 2002, 08:38:48 AM

try this script it makes all changes for you!
Code: [Select]
<?php<br><br>$db_name "";<br>$db_user "";<br>$db_passwd "";<br>$db_server "";<br>$db_prefix "";<br><br>mysql_connect("$db_server","$db_user","$db_passwd");<br>$vers mysql_get_server_info();<br>if(eregi("3.23",$vers)) {<br>echo "We found a MySQL Server with Version <b>$vers</b> installed!<br>";<br>echo "<font color ='red'>We change your tables to MyISAM type and analyze/optimze all tables also indices will be added!</font><br>";<br>typechanging();<br>optimize();<br>addindices();<br>} else {echo "We found a MySQL Server with Version <b>$vers</b> installed!<br>";<br>echo "<font color ='red'>tables will analyzed and optimzed and indices added will be added!</font><br>"; <br>optimize();<br>addindices();<br>}<br><br><br>function typechanging() {<br>global $db_name;<br>mysql_select_db($db_name); <br>$tables=mysql_list_tables($db_name);<br>while (list($bla)=mysql_fetch_array($tables)) {<br>$result mysql_query("ALTER TABLE $bla TYPE=MyISAM")or die("Invalid query");<br>echo "Table <font color=blue>".$bla."</font> converted to MyISAM!<br>"; <br>}<br>}<br><br>function optimize() {<br>global $db_name;<br>mysql_select_db($db_name); <br>$tables=mysql_list_tables($db_name);<br>while (list($bla)=mysql_fetch_array($tables)) {<br>$result mysql_query("OPTIMIZE TABLE $bla")or die("Invalid query");<br>echo "Table <font color=blue>".$bla."</font> analyzed and optimized!<br>"; <br>}<br>}<br><br>function addindices() {<br>global $db_name,$db_prefix;<br>mysql_select_db($db_name); <br>mysql_query("ALTER TABLE {$db_prefix}members add key(memberGroup(30)");<br>mysql_query("ALTER TABLE {$db_prefix}members add key(posts)");<br>mysql_query("ALTER TABLE {$db_prefix}members add key(memberName(30)");<br>mysql_query("ALTER TABLE {$db_prefix}members add key(dateRegistered)");<br>mysql_query("ALTER TABLE {$db_prefix}members add key(lastLogin)");<br>mysql_query("ALTER TABLE {$db_prefix}messages add key(posterTime)");<br>mysql_query("ALTER TABLE {$db_prefix}instant_messages add key (ID_MEMBER_FROM)");<br>mysql_query("ALTER TABLE {$db_prefix}instant_messages add key (ID_MEMBER_TO)");<br>mysql_query("ALTER TABLE {$db_prefix}instant_messages add key (deletedBy)");<br>mysql_query("ALTER TABLE {$db_prefix}instant_messages add key(fromName(30)");<br>mysql_query("ALTER TABLE {$db_prefix}instant_messages add key(toName(30)");<br>mysql_query("ALTER TABLE {$db_prefix}categories add key (catOrder)");<br>mysql_query("ALTER TABLE {$db_prefix}boards add key (ID_CAT)");<br>mysql_query("ALTER TABLE {$db_prefix}log_boards add key (ID_BOARD)");<br>mysql_query("ALTER TABLE {$db_prefix}log_boards add key (memberName(30)");<br>mysql_query("ALTER TABLE {$db_prefix}log_topics add key (membername(30)");<br>mysql_query("ALTER TABLE {$db_prefix}log_topics add key (logTime)");<br>mysql_query("ALTER TABLE {$db_prefix}log_topics add key (ID_TOPIC)");<br>mysql_query("ALTER TABLE {$db_prefix}log_activity add key (month)");<br>mysql_query("ALTER TABLE {$db_prefix}log_activity add key (day)");<br>mysql_query("ALTER TABLE {$db_prefix}log_activity add key (year)");<br>mysql_query("ALTER TABLE {$db_prefix}log_activity add key (mostOn)");<br>mysql_query("ALTER TABLE {$db_prefix}log_errors add key (logTime)");<br>mysql_query("ALTER TABLE {$db_prefix}log_errors add key (memberName(30)");<br>mysql_query("ALTER TABLE {$db_prefix}log_floodcontrol add key (ip(20)");<br>mysql_query("ALTER TABLE {$db_prefix}log_floodcontrol add key (logTime)");<br>mysql_query("ALTER TABLE {$db_prefix}log_karma add key (ID_TARGET)");<br>mysql_query("ALTER TABLE {$db_prefix}log_karma add key (ID_EXECUTOR)");<br>mysql_query("ALTER TABLE {$db_prefix}log_karma add key(logTime)");<br>mysql_query("ALTER TABLE {$db_prefix}log_mark_read add key (memberName(30)");<br>mysql_query("ALTER TABLE {$db_prefix}log_mark_read add key (ID_BOARD)");<br>mysql_query("ALTER TABLE {$db_prefix}log_mark_read add key (logTime)");<br>mysql_query("ALTER TABLE {$db_prefix}log_online add key (logTime)");<br>mysql_query("ALTER TABLE {$db_prefix}settings add key(variable(30)");<br>echo "<font color ='red'>Indices succesfully added!</font>";<br>}<br><br>?>

What do I do with this? I am using tripod.co.uk and at first it was really fast, but now with like 30 topics and 200 posts, members are complaining how slow it is. I have defianately seen an increase in speed also. I tried running the first one in this topic in phpmyadmin as a query, it worked, no difference. Then I tried running your code mediman, and i get an error in my db name where there is no error! What do I do?
Title: Re:Large message boards and MySQL logs of slow response
Post by: Daniel D. on August 17, 2002, 09:11:57 AM
1. Copy the code into notepad.
2. Insert your datas in the first lines (db password, db name etc.).
3. Save it as 'optimize.txt'.
4. Upload it to your FTP server in the YaBB SE directory and rename it to 'optimize.php'.
5. Run it in your browser - that's it !
Title: Re:Large message boards and MySQL logs of slow response
Post by: Stud Muffin on August 17, 2002, 05:54:35 PM
Do you need to put the board in maint mod before you run the optimize scipt?

Code: [Select]
function optimize() {
global $db_name;
mysql_select_db($db_name);
$tables=mysql_list_tables($db_name);
while (list($bla)=mysql_fetch_array($tables)) {
$result = mysql_query("OPTIMIZE TABLE $bla")or die("Invalid query");
echo "Table <font color=blue>".$bla."</font> analyzed and optimized!<br>";
}
}
Title: Re:Large message boards and MySQL logs of slow response
Post by: Compuart on August 18, 2002, 05:50:18 PM
In case the 1.4.1 boardindex still isn't going fast enough, here (http://www.yabb.info/community/index.php?board=158;action=display;threadid=12201)'s a mod that reduces the number of queries 3 * number_of_boards times.
Title: Re:Large message boards and MySQL logs of slow response
Post by: medizinmann on August 18, 2002, 06:39:58 PM
Do you need to put the board in maint mod before you run the optimize scipt?
No, because mysql will lock your tables during optimizing!

@compuart nice script
Title: Re:Large message boards and MySQL logs of slow response
Post by: medizinmann on August 24, 2002, 04:17:31 PM
we updatet the dboptimizer.php

please download it here http://www.yabb.info/community/attachments/dbmain2.zip

both scripts will be includet in adminsecion (as a mod)

m.

Title: Re:Large message boards and MySQL logs of slow response
Post by: goosemoose on September 16, 2002, 12:21:33 PM
Is this included in 1.4.1 then, or should I run this and compuart's mod?
Title: Re:Large message boards and MySQL logs of slow response
Post by: Compuart on September 16, 2002, 12:37:56 PM

Is this included in 1.4.1 then, or should I run this and compuart's mod?
both are not included in 1.4.1
Title: Re:Large message boards and MySQL logs of slow response
Post by: Will on October 10, 2002, 09:28:46 AM
I can't run the script Medi wrote...I tried and the page loads for 10 minutes and nothing happens.

I tried to run the query in PHPAdmin but I got the following message error:
"Too many keys specified. Max 32 keys allowed"

What the hell is that? I'm very unlucky cuz since I tried to run the .PHP file, my forum is even slower (I can't open the threads anymore)...:(
I did a dump of my db, but how am I supposed to upload that? It's just a big .SQL file...
Title: Re:Large message boards and MySQL logs of slow response
Post by: VanGogh on October 18, 2002, 01:27:17 PM
Ummm...... wow.

I am coming late to this gravy train, but that is incredible.  The speed difference is so noticable it's almost laughable.

Thank you very much!

VanGogh
Title: Re:Large message boards and MySQL logs of slow response
Post by: fungku on December 10, 2002, 11:02:59 AM
Hi,

My MYSQL database is on a remote server.
When I run the first script it gives me an error:

Code: [Select]
Warning: MySQL Connection Failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) in /home/sites/site12/web/OptimizeDatabase.php on line 9

Fatal error: Call to undefined function: mysql_get_server_info() in /home/sites/site12/web/OptimizeDatabase.php on line 10


Does anyone know what my problem could be?

I really want to speed up my YaBB SE 1.4.1, I am very ipatient and I hate waiting for my BoardIndex to load  ;)
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on December 10, 2002, 10:32:43 PM
hi please use this

Code: [Select]
<?php

$db_name 
"";
$db_user "";
$db_passwd "";
$db_server "";
$db_prefix "";

mysql_connect("$db_server","$db_user","$db_passwd");
echo 
"<font color ='red'>We change your tables to MyISAM type and analyze/optimze all tables also indices will be added!</font><br>";
typechanging();
optimize();
addindices();

function 
typechanging() {
global 
$db_name;
mysql_select_db($db_name); 
$tables=mysql_list_tables($db_name);
while (list(
$bla)=mysql_fetch_array($tables)) {
$result mysql_query("ALTER TABLE $bla TYPE=MyISAM")or die("Invalid query");
echo 
"Table <font color=blue>".$bla."</font> converted to MyISAM!<br>"
}
}

function 
optimize() {
global 
$db_name;
mysql_select_db($db_name); 
$tables=mysql_list_tables($db_name);
while (list(
$bla)=mysql_fetch_array($tables)) {
$result mysql_query("OPTIMIZE TABLE $bla")or die("Invalid query");
echo 
"Table <font color=blue>".$bla."</font> analyzed and optimized!<br>"
}
}

function 
addindices() {
global 
$db_name,$db_prefix;
mysql_select_db($db_name); 
mysql_query("ALTER TABLE {$db_prefix}members add key(memberGroup(30)");
mysql_query("ALTER TABLE {$db_prefix}members add key(posts)");
mysql_query("ALTER TABLE {$db_prefix}members add key(memberName(30)");
mysql_query("ALTER TABLE {$db_prefix}members add key(dateRegistered)");
mysql_query("ALTER TABLE {$db_prefix}members add key(lastLogin)");
mysql_query("ALTER TABLE {$db_prefix}messages add key(posterTime)");
mysql_query("ALTER TABLE {$db_prefix}instant_messages add key (ID_MEMBER_FROM)");
mysql_query("ALTER TABLE {$db_prefix}instant_messages add key (ID_MEMBER_TO)");
mysql_query("ALTER TABLE {$db_prefix}instant_messages add key (deletedBy)");
mysql_query("ALTER TABLE {$db_prefix}instant_messages add key(fromName(30)");
mysql_query("ALTER TABLE {$db_prefix}instant_messages add key(toName(30)");
mysql_query("ALTER TABLE {$db_prefix}categories add key (catOrder)");
mysql_query("ALTER TABLE {$db_prefix}boards add key (ID_CAT)");
mysql_query("ALTER TABLE {$db_prefix}log_boards add key (ID_BOARD)");
mysql_query("ALTER TABLE {$db_prefix}log_boards add key (memberName(30)");
mysql_query("ALTER TABLE {$db_prefix}log_topics add key (membername(30)");
mysql_query("ALTER TABLE {$db_prefix}log_topics add key (logTime)");
mysql_query("ALTER TABLE {$db_prefix}log_topics add key (ID_TOPIC)");
mysql_query("ALTER TABLE {$db_prefix}log_activity add key (month)");
mysql_query("ALTER TABLE {$db_prefix}log_activity add key (day)");
mysql_query("ALTER TABLE {$db_prefix}log_activity add key (year)");
mysql_query("ALTER TABLE {$db_prefix}log_activity add key (mostOn)");
mysql_query("ALTER TABLE {$db_prefix}log_errors add key (logTime)");
mysql_query("ALTER TABLE {$db_prefix}log_errors add key (memberName(30)");
mysql_query("ALTER TABLE {$db_prefix}log_floodcontrol add key (ip(20)");
mysql_query("ALTER TABLE {$db_prefix}log_floodcontrol add key (logTime)");
mysql_query("ALTER TABLE {$db_prefix}log_karma add key (ID_TARGET)");
mysql_query("ALTER TABLE {$db_prefix}log_karma add key (ID_EXECUTOR)");
mysql_query("ALTER TABLE {$db_prefix}log_karma add key(logTime)");
mysql_query("ALTER TABLE {$db_prefix}log_mark_read add key (memberName(30)");
mysql_query("ALTER TABLE {$db_prefix}log_mark_read add key (ID_BOARD)");
mysql_query("ALTER TABLE {$db_prefix}log_mark_read add key (logTime)");
mysql_query("ALTER TABLE {$db_prefix}log_online add key (logTime)");
mysql_query("ALTER TABLE {$db_prefix}settings add key(variable(30)");
echo 
"<font color ='red'>Indices succesfully added!</font>";
}

?>

medi
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on December 10, 2002, 10:35:29 PM

I can't run the script Medi wrote...I tried and the page loads for 10 minutes and nothing happens.

I tried to run the query in PHPAdmin but I got the following message error:
"Too many keys specified. Max 32 keys allowed"

What the hell is that? I'm very unlucky cuz since I tried to run the .PHP file, my forum is even slower (I can't open the threads anymore)...:(
I did a dump of my db, but how am I supposed to upload that? It's just a big .SQL file...



Please more Info! MySQL Version?

medi
Title: Re:Large message boards and MySQL logs of slow response
Post by: fungku on December 10, 2002, 11:39:39 PM
Thanks medi  :), but now I get this error:

Parse error: parse error in /home/sites/site12/web/odb.php on line 14


I looked on line 14, I know nothing about PHP or mysql, but is that right curly bracket } supposed to be there? There is no left one before it  :P
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on December 10, 2002, 11:55:30 PM
sorry i changed the script please try again!

iīm a little bit tired, is 5:51 a.m here in germany  ::)

medi
Title: Re:Large message boards and MySQL logs of slow response
Post by: fungku on December 11, 2002, 12:00:38 AM
Thanks a lot medi, worked great!
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on December 11, 2002, 12:13:44 AM
thx fungku! and from now on try

Code: [Select]
<?
/*****************************************************************************/
/* dboptimizer.php                                                         */
/*****************************************************************************/
/* Software Distributed by:    http://www.maincomm.de                        */
/* Support, News, Updates at:  yabbse@maincomm.de                            */
/* ========================================================================= */
/* Copyright (c) 2001-2002 The mainComm DEV Team                             */
/* The maincomm DEV Team is: Manju, Medizinmann, Mediman                     */
/* Software by: The maincomm Dev Team                                        */
/*****************************************************************************/
/* This program is free software; you can redistribute it and/or modify it   */
/* under the terms of the GNU General Public License as published by the     */
/* Free Software Foundation; either version 2 of the License, or (at your    */
/* option) any later version.                                                */
/*                                                                           */
/* This program is distributed in the hope that it will be useful, but       */
/* WITHOUT ANY WARRANTY; without even the implied warranty of                */
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General */
/* Public License for more details.                                          */
/*                                                                           */
/* The GNU GPL can be found in gpl.txt in this directory                     */
/*****************************************************************************/

//script for optimizing your database tables

  //your database connection
    //databasename, username, pwd, host
    $dbName = "";
    $dbUser = "";
    $dbPass = "";
    $dbHost = "";

  function getConnection($dbName, $dbUser, $dbPass, $dbHost){

    $db = mysql_connect ( $dbHost, $dbUser, $dbPass );
    mysql_select_db($dbName, $db) or die("Unable to select database");

    return $db;
  }

  function closeConnection($db){
    mysql_close($db);
  }

  $db = getConnection($dbName, $dbUser, $dbPass, $dbHost);

    $query = "SHOW TABLE STATUS FROM ".$dbName;
    $get_tables = mysql_query($query, $db);
    $num_tabs = mysql_num_rows($get_tables);

    echo "<font color=red>Your database contains $num_tabs! tables.<p></font>";

    if(0 < $num_tabs){
      echo "trying to optimize tables ... <p>";

      $k = 0;
      $i = 0;

      while($table = mysql_fetch_array($get_tables, $db)){
        $tableName = mysql_tablename($get_tables, $i);

        $datalength = $table['Data_length'];
        $indexlength = $table['Index_length'];
        $length = $datalength + $indexlength;
        $length = $length / 1024;
        $length = round ($length, 3);

        $freedata = $table['Data_free'];
        $freedata = $freedata / 1024;
        $freedata = round ($freedata, 3);

        //optimize
        $query = "OPTIMIZE TABLE ".$tableName;
        $resultat  = mysql_query($query, $db);

        if($freedata == 0){ $k = $k + 1; }
        else {
           echo "<font color=red>optimize:</font> $tableName .... <font color=green>$freedata kb optimized</font><br>";
           $opttab++;
        }

        $i++;
      }
      $cnt = $num_tabs - $k;

      if($cnt == 0){ echo "<p><font color=green>all tables are optimized</font>"; }
      else { echo "<p><font color=red>$opttab tables optimized</font>"; }

    } // end if

  closeConnection($db);


?>

thx medi
Title: Re:Large message boards and MySQL logs of slow response
Post by: PioneeR on December 11, 2002, 09:32:41 PM
I used the following and got thiese errors

We change your tables to MyISAM type and analyze/optimze all tables also indices will be added!

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/***/public_html/yabbse/dboptimise.php on line 19

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/***/public_html/yabbse/dboptimise.php on line 29
Indices succesfully added!


hi please use this

Code: [Select]
<?php<br><br>$db_name "";<br>$db_user "";<br>$db_passwd "";<br>$db_server "";<br>$db_prefix "";<br><br>mysql_connect("$db_server","$db_user","$db_passwd");<br>echo "<font color ='red'>We change your tables to MyISAM type and analyze/optimze all tables also indices will be added!</font><br>";<br>typechanging();<br>optimize();<br>addindices();<br><br>function typechanging() {<br>global $db_name;<br>mysql_select_db($db_name); <br>$tables=mysql_list_tables($db_name);<br>while (list($bla)=mysql_fetch_array($tables)) {<br>$result mysql_query("ALTER TABLE $bla TYPE=MyISAM")or die("Invalid query");<br>echo "Table <font color=blue>".$bla."</font> converted to MyISAM!<br>"; <br>}<br>}<br><br>function optimize() {<br>global $db_name;<br>mysql_select_db($db_name); <br>$tables=mysql_list_tables($db_name);<br>while (list($bla)=mysql_fetch_array($tables)) {<br>$result mysql_query("OPTIMIZE TABLE $bla")or die("Invalid query");<br>echo "Table <font color=blue>".$bla."</font> analyzed and optimized!<br>"; <br>}<br>}<br><br>function addindices() {<br>global $db_name,$db_prefix;<br>mysql_select_db($db_name); <br>mysql_query("ALTER TABLE {$db_prefix}members add key(memberGroup(30)");<br>mysql_query("ALTER TABLE {$db_prefix}members add key(posts)");<br>mysql_query("ALTER TABLE {$db_prefix}members add key(memberName(30)");<br>mysql_query("ALTER TABLE {$db_prefix}members add key(dateRegistered)");<br>mysql_query("ALTER TABLE {$db_prefix}members add key(lastLogin)");<br>mysql_query("ALTER TABLE {$db_prefix}messages add key(posterTime)");<br>mysql_query("ALTER TABLE {$db_prefix}instant_messages add key (ID_MEMBER_FROM)");<br>mysql_query("ALTER TABLE {$db_prefix}instant_messages add key (ID_MEMBER_TO)");<br>mysql_query("ALTER TABLE {$db_prefix}instant_messages add key (deletedBy)");<br>mysql_query("ALTER TABLE {$db_prefix}instant_messages add key(fromName(30)");<br>mysql_query("ALTER TABLE {$db_prefix}instant_messages add key(toName(30)");<br>mysql_query("ALTER TABLE {$db_prefix}categories add key (catOrder)");<br>mysql_query("ALTER TABLE {$db_prefix}boards add key (ID_CAT)");<br>mysql_query("ALTER TABLE {$db_prefix}log_boards add key (ID_BOARD)");<br>mysql_query("ALTER TABLE {$db_prefix}log_boards add key (memberName(30)");<br>mysql_query("ALTER TABLE {$db_prefix}log_topics add key (membername(30)");<br>mysql_query("ALTER TABLE {$db_prefix}log_topics add key (logTime)");<br>mysql_query("ALTER TABLE {$db_prefix}log_topics add key (ID_TOPIC)");<br>mysql_query("ALTER TABLE {$db_prefix}log_activity add key (month)");<br>mysql_query("ALTER TABLE {$db_prefix}log_activity add key (day)");<br>mysql_query("ALTER TABLE {$db_prefix}log_activity add key (year)");<br>mysql_query("ALTER TABLE {$db_prefix}log_activity add key (mostOn)");<br>mysql_query("ALTER TABLE {$db_prefix}log_errors add key (logTime)");<br>mysql_query("ALTER TABLE {$db_prefix}log_errors add key (memberName(30)");<br>mysql_query("ALTER TABLE {$db_prefix}log_floodcontrol add key (ip(20)");<br>mysql_query("ALTER TABLE {$db_prefix}log_floodcontrol add key (logTime)");<br>mysql_query("ALTER TABLE {$db_prefix}log_karma add key (ID_TARGET)");<br>mysql_query("ALTER TABLE {$db_prefix}log_karma add key (ID_EXECUTOR)");<br>mysql_query("ALTER TABLE {$db_prefix}log_karma add key(logTime)");<br>mysql_query("ALTER TABLE {$db_prefix}log_mark_read add key (memberName(30)");<br>mysql_query("ALTER TABLE {$db_prefix}log_mark_read add key (ID_BOARD)");<br>mysql_query("ALTER TABLE {$db_prefix}log_mark_read add key (logTime)");<br>mysql_query("ALTER TABLE {$db_prefix}log_online add key (logTime)");<br>mysql_query("ALTER TABLE {$db_prefix}settings add key(variable(30)");<br>echo "<font color ='red'>Indices succesfully added!</font>";<br>}<br><br>?>

medi
Title: Re:Large message boards and MySQL logs of slow response
Post by: mediman on December 11, 2002, 11:27:29 PM
can you please tell me you version of mysql / php ?
are you sure you put in the correct db name?

thx pioneer!
Title: Re:Large message boards and MySQL logs of slow response
Post by: wildgun on December 14, 2002, 01:50:57 AM
test test
Title: Re:Large message boards and MySQL logs of slow response
Post by: complaints on January 16, 2003, 04:59:13 AM
Cyber-sci.com are abusing
Title: Re:Large message boards and MySQL logs of slow response
Post by: Jeff Lewis on January 16, 2003, 08:38:17 AM
Abusing what?
Title: Re:Large message boards and MySQL logs of slow response
Post by: TempusFugit on January 21, 2003, 12:16:51 PM
I have used the optimizer for my 1.4 board... Is the convertion compatible with the 1.5.x version of SE or I will have problems upgrading?
Title: Re:Large message boards and MySQL logs of slow response
Post by: [Unknown] on January 21, 2003, 12:25:36 PM
1.5.x also includes an optimizer, and is much more optimized.... it should be fine.

-[Unknown]
Title: Re:Large message boards and Mysql logs of slow response
Post by: groundup on April 09, 2003, 03:23:27 PM
Hey! Remove the clicklog ;)
Title: Re:Large message boards and Mysql logs of slow response
Post by: Sofice on April 10, 2003, 07:48:45 AM
Sorry fot out of topic postin' but i need one, short answer to the question: can i have a free forum for me site or I must pay???!!!!!!!
Title: Re:Large message boards and Mysql logs of slow response
Post by: Compuart on April 10, 2003, 08:02:17 AM
That's very off topic :P but yes, as long as your host supports PHP and MySQL, YaBB SE is a free forum
Title: Re:Large message boards and Mysql logs of slow response
Post by: David on April 19, 2003, 01:47:54 AM
This thread should be considered out of date because 1.4.1 has addressed this issue and 1.5.x has done so even more.