Server too busy messages! Just temporary
#1
Lost in Transit
Thread Starter
Join Date: Oct 2004
Location: Houston, TX
Posts: 10,003,830
Likes: 0
Received 0 Likes
on
0 Posts
Server too busy messages! Just temporary
Hey Gang,
Well unfortunately we are having some performance issues of late, it's related to one SQL query that locks the thread/post table for up to 60 seconds, since a lot of the SQL is created on the fly depending on the page it's very hard to find where the query is being executed from for me to dig through the code.
I have temporarily put a server load limit in at 8, which is pretty high. When the db locks the table the more and more users that try to browse the worse and worse it gets. Until I can find and fix the query hopefully the next few days I'm leaving this in to help try to keep the problem under control.
I know it's a pain but please work with me here, if you have any problems/suggestions/complains please feel free to PM me.
- John
Well unfortunately we are having some performance issues of late, it's related to one SQL query that locks the thread/post table for up to 60 seconds, since a lot of the SQL is created on the fly depending on the page it's very hard to find where the query is being executed from for me to dig through the code.
I have temporarily put a server load limit in at 8, which is pretty high. When the db locks the table the more and more users that try to browse the worse and worse it gets. Until I can find and fix the query hopefully the next few days I'm leaving this in to help try to keep the problem under control.
I know it's a pain but please work with me here, if you have any problems/suggestions/complains please feel free to PM me.
- John
#2
Registered User
Join Date: May 2006
Location: Virginia, USA
Posts: 1,211
Likes: 0
Received 0 Likes
on
0 Posts
If you guys have a dedicated server, do you run the db from a secondary hard disk? I always found that helped some with sql load issues and disk i/o, even if it's not related to this exact issue.
#4
Lost in Transit
Thread Starter
Join Date: Oct 2004
Location: Houston, TX
Posts: 10,003,830
Likes: 0
Received 0 Likes
on
0 Posts
it's people doing a very common search that hits a lot of threads, that's what it is.
The DB is on a 3 disk raid5 array with a 256M caching controller. wait IO is not the problem, the search on the thread table that locks it is.
The DB is on a 3 disk raid5 array with a 256M caching controller. wait IO is not the problem, the search on the thread table that locks it is.
#6
Lost in Transit
Thread Starter
Join Date: Oct 2004
Location: Houston, TX
Posts: 10,003,830
Likes: 0
Received 0 Likes
on
0 Posts
How much HP will the PoPcharge get me?
What popcharger flows the best.
What stickers should I put on the server with my pop charger?
What popcharger flows the best.
What stickers should I put on the server with my pop charger?
Originally Posted by USN HM 350Z
delete or merge the threads LOL
does it have to do with PopChargers? hahahahaha
does it have to do with PopChargers? hahahahaha
Trending Topics
#8
Lost in Transit
Thread Starter
Join Date: Oct 2004
Location: Houston, TX
Posts: 10,003,830
Likes: 0
Received 0 Likes
on
0 Posts
This is a problem for all vbulletin sites after a while, most disable searches, while some setup multiple slaves servers to handle the queries while the normal insert/select's happen on the master server.
Originally Posted by scuba_steve
Thats funny that a search probably queries the db more than someone responding to a question. Not to mention ten unecessary flame posts telling the poster to search more.
#11
Registered User
Join Date: Sep 2005
Location: where the polar bears roam
Posts: 8,194
Likes: 0
Received 0 Likes
on
0 Posts
Originally Posted by silvrhand
Can I get some people to test searches, fulltext searches are now on, I had to index the post/thread table it took a while though..
#18
Lost in Transit
Thread Starter
Join Date: Oct 2004
Location: Houston, TX
Posts: 10,003,830
Likes: 0
Received 0 Likes
on
0 Posts
Ouch..
# Query_time: 35 Lock_time: 29 Rows_sent: 1 Rows_examined: 0
SELECT
userfield.*, usertextfield.*, user.*, UNIX_TIMESTAMP(passworddate
) AS passworddate,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS display
groupid,
language.phrasegroup_forumdisplay AS phrasegroup_forumdisplay,
language.phrasegroup_inlinemod AS phrasegroup_inlinemod,
language.phrasegroup_global AS phrasegroup_global,
language.options AS lang_options,
language.languagecode AS lang_code,
language.charset AS lang_charset,
language.locale AS lang_locale,
language.imagesoverride AS lang_imagesoverride,
language.dateoverride AS lang_dateoverride,
language.timeoverride AS lang_timeoverride,
language.registereddateoverride AS lang_registereddateoverride,
language.calformat1override AS lang_calformat1override,
language.calformat2override AS lang_calformat2override,
language.logdateoverride AS lang_logdateoverride,
language.decimalsep AS lang_decimalsep,
language.thousandsep AS lang_thousandsep
FROM user AS user
LEFT JOIN userfield AS userfield ON (user.userid = userfield.userid)
LEFT JOIN usertextfield AS usertextfield ON (usertextfield.userid = user.
userid) INNER JOIN language AS language ON (language.languageid = IF(user.languageid = 0,
1, user.languageid))
WHERE user.userid = 58872;
# Query_time: 35 Lock_time: 29 Rows_sent: 1 Rows_examined: 0
SELECT
userfield.*, usertextfield.*, user.*, UNIX_TIMESTAMP(passworddate
) AS passworddate,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS display
groupid,
language.phrasegroup_forumdisplay AS phrasegroup_forumdisplay,
language.phrasegroup_inlinemod AS phrasegroup_inlinemod,
language.phrasegroup_global AS phrasegroup_global,
language.options AS lang_options,
language.languagecode AS lang_code,
language.charset AS lang_charset,
language.locale AS lang_locale,
language.imagesoverride AS lang_imagesoverride,
language.dateoverride AS lang_dateoverride,
language.timeoverride AS lang_timeoverride,
language.registereddateoverride AS lang_registereddateoverride,
language.calformat1override AS lang_calformat1override,
language.calformat2override AS lang_calformat2override,
language.logdateoverride AS lang_logdateoverride,
language.decimalsep AS lang_decimalsep,
language.thousandsep AS lang_thousandsep
FROM user AS user
LEFT JOIN userfield AS userfield ON (user.userid = userfield.userid)
LEFT JOIN usertextfield AS usertextfield ON (usertextfield.userid = user.
userid) INNER JOIN language AS language ON (language.languageid = IF(user.languageid = 0,
1, user.languageid))
WHERE user.userid = 58872;