Okay, I am designing a XOOPS site. When I run the main member page, or any page, with Block debugging on, I get anywhere from 23-40 queries and a solid 7-14 second load time.
Now, I am running this site at Brinkster.com under a shared-hosting schema. Needless to say, Brinkster seemingly only supports php as an after-thought. (I believe their main thrust and features is with ASP.net.) They use no accelerators or query caching.
One thing I noticed under the Queries section of the Block Debug is that many identical queries are being run multiple times (sometimes up to 5 times in a row). Is this normal?
Here's an example:
QUERIESSELECT * FROM xoops_config WHERE (conf_modid = 0 AND conf_catid = 1) ORDER BY conf_order ASC
SELECT sess_data FROM xoops_session WHERE sess_id = ':)blahblahblah:)'
SELECT * FROM xoops_users WHERE uid=1
SELECT * FROM xoops_config WHERE (conf_modid = 0 AND conf_catid = 3) ORDER BY conf_order ASC
SELECT COUNT(*) FROM xoops_banner
SELECT DISTINCT gperm_itemid FROM xoops_group_permission WHERE gperm_name = 'block_read' AND gperm_modid = 1 AND gperm_groupid IN (1,2)
SELECT b.* FROM xoops_newblocks b, xoops_block_module_link m WHERE m.block_id=b.bid AND b.isactive=1 AND b.visible=1 AND m.module_id IN (0,-1) AND b.bid IN (31,29,30,20,19,18,49,12,11,10,9,8,5,4,3,1,2,44,7,6,32,41,40,52,48,53,54,55,47,51,50,42) ORDER BY b.weight,b.bid
SELECT COUNT(*) FROM xoops_priv_msgs WHERE (read_msg = 0 AND to_userid = 1)
SELECT COUNT(*) FROM xoops_xoopsnotifications WHERE (not_uid = 1)
SELECT COUNT(*) FROM xoops_priv_msgs WHERE (read_msg = 0 AND to_userid = 1)
SELECT COUNT(*) FROM xoops_xoopsnotifications WHERE (not_uid = 1)
SELECT f.*, s.tpl_source FROM xoops_tplfile f LEFT JOIN xoops_tplsource s ON s.tpl_id=f.tpl_id WHERE (tpl_tplset = 'default' AND tpl_file = 'system_block_user.html') ORDER BY tpl_refid
SELECT * FROM xoops_tplfile WHERE (tpl_tplset = 'default' AND tpl_file = 'system_block_user.html') ORDER BY tpl_refid
SELECT * FROM xoops_modules WHERE (hasmain = 1 AND isactive = 1 AND weight > 0) ORDER BY weight ASC, mid ASC
SELECT * FROM xoops_group_permission WHERE (gperm_name = 'module_read' AND gperm_modid = 1 AND (gperm_groupid = 1 OR gperm_groupid = 2))
SELECT f.*, s.tpl_source FROM xoops_tplfile f LEFT JOIN xoops_tplsource s ON s.tpl_id=f.tpl_id WHERE (tpl_tplset = 'default' AND tpl_file = 'system_block_mainmenu.html') ORDER BY tpl_refid
SELECT * FROM xoops_tplfile WHERE (tpl_tplset = 'default' AND tpl_file = 'system_block_mainmenu.html') ORDER BY tpl_refid
SELECT * FROM xoops_tplfile WHERE (tpl_tplset = 'default' AND tpl_file = 'news_block_new.html') ORDER BY tpl_refid
SELECT * FROM xoops_tplfile WHERE (tpl_tplset = 'default' AND tpl_file = 'news_block_new.html') ORDER BY tpl_refid
SELECT * FROM xoops_tplfile WHERE (tpl_tplset = 'default' AND tpl_file = 'news_block_new.html') ORDER BY tpl_refid
SELECT * FROM xoops_tplfile WHERE (tpl_tplset = 'default' AND tpl_file = 'news_block_new.html') ORDER BY tpl_refid
SELECT f.*, s.tpl_source FROM xoops_tplfile f LEFT JOIN xoops_tplsource s ON s.tpl_id=f.tpl_id WHERE (tpl_tplset = 'default' AND tpl_file = 'system_dummy.html') ORDER BY tpl_refid
SELECT * FROM xoops_tplfile WHERE (tpl_tplset = 'default' AND tpl_file = 'system_dummy.html') ORDER BY tpl_refid
Total: 23 queries
BLOCKSUser Menu: No Cache
Login: No Cache
Main Menu: No Cache
Recent News: Cached (regenerates every 300 seconds)
Custom Block (PHP): Cached (regenerates every 300 seconds)
Custom Block (PHP): Cached (regenerates every 18000 seconds)
Custom Block (HTML): Cached (regenerates every 3600 seconds)
Custom Block (PHP): No Cache
Total: 8 blocks
Execution TimeXOOPS took 7.84713196754 seconds to load.
------------------------------------------
I'm thinking about moving my site to a Hypernia dedicated server. That would be a 2GH 512MB server. Think that would be okay to start out with? I would have remote desktop access to it so I could set it up however I want.
If you want to hit the site up, try
http://www.ArcadeCountry.com/index.php. (Don't forget the index.php as we have a stock index.html page out front to absorb hits until the site goes live.) Log in under gamer/gamer. Keep in mind the site is still under development and is in no way complete and the Dodger game isn't a real game. Also, if you want to, give me any comments on my own homemade chat module. :) It works via xmlhttp. The chat module also supports gaming lobbies.
Please don't screw anything up, though. Don't spread the site around either, I don't want an influx of members while I'm still developing the site.
I've read all the other performance threads I can find, so if there were any additional insights you could give me on the topic, I'd appreciate it. If you just say, "Get a new host." You'd be just re-enforcing what I'm already thinking.
My ultimate goal is to have a server that runs the website, but also runs smaller-scale game servers. That server would be pretty crowded with the MySQL server, webserver and any game application servers, but if money starts coming in, I'd be able to fund additional servers. I'm sure you know how that is...