Forums / Templates, Stylesheets, Page Layout / Database queries took down host. Please help

Database queries took down host. Please help

Locked

Started by linnx on 10 Aug 2009, 5:37 PM · Views: 1,359

Results 1 to 15 of 15
This thread is locked. New replies are disabled.
10 Aug 2009, 5:37 PM
#1
linnx avatar

linnx

Zen Follower

Join Date:
Jun 2009
Posts:
187
Plugin Contributions:
0

Database queries took down host. Please help

Sorry if this is in the wrong spot, but here is the email I got from the host and I'm not sure where to begin. Any help would be appreciated.

Something is wrong with your site. The following query is getting issued by your site every few seconds but requires more than 40 seconds to complete due to the tables involved and what appear to be a lack of good database indexes on the tables involved, causing it to run extremely slowly. There were hundreds of the queries built up and it ran the server out of connections.

select distinct op.products_id,op.products_name , o.delivery_city , o.delivery_country
from orders o, orders_products op ,paypal p
where o.orders_id = op.orders_id
order by o.orders_id desc
limit 20

10 Aug 2009, 6:26 PM
#2
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,515
Plugin Contributions:
176

Re: Database queries took down host. Please help

linnx:

select distinct op.products_id,op.products_name , o.delivery_city , o.delivery_country
from orders o, orders_products op ,paypal p
where o.orders_id = op.orders_id
order by o.orders_id desc
limit 20

I can't find that query anywhere in Zen Cart.
It looks like maybe it's from a poorly-written addon you've installed?

.
Zen Cart - putting the dream of business ownership within reach of anyone!
Donate to: DrByte directly or to the Zen Cart team as a whole

Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.

10 Aug 2009, 6:31 PM
#3
kuroi avatar

kuroi

Totally Zenned

Join Date:
Apr 2006
Location:
London, UK
Posts:
10,475
Plugin Contributions:
11

Re: Database queries took down host. Please help

I don't believe that this query is part of Zen Cart's core code either. I recommend using the Admin > Tools > Developer Toolkit to locate the following string "select distinct op.products_id," to see if this is part of an add-on mod or a hack.

Kuroi Web Design and Development | Twitter

(Questions answered in the forum only - so that any forum member can benefit - not by personal message)

10 Aug 2009, 8:09 PM
#4
linnx avatar

linnx

Zen Follower

Join Date:
Jun 2009
Posts:
187
Plugin Contributions:
0

Re: Database queries took down host. Please help

Ok thanks. We've disabled some "Popular Products, recently sold, modules." And the problem went away. What is strange is that it just happened today. Nothing has changed for the past year. Just kind of popped up.

10 Aug 2009, 8:11 PM
#5
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,515
Plugin Contributions:
176

Re: Database queries took down host. Please help

linnx:

What is strange is that it just happened today. Nothing has changed for the past year. Just kind of popped up."sudden" changes are always something to pay serious attention to.

http://www.zen-cart.com/forum/showthread.php?t=130161

.
Zen Cart - putting the dream of business ownership within reach of anyone!
Donate to: DrByte directly or to the Zen Cart team as a whole

Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.

10 Aug 2009, 8:14 PM
#6
kuroi avatar

kuroi

Totally Zenned

Join Date:
Apr 2006
Location:
London, UK
Posts:
10,475
Plugin Contributions:
11

Re: Database queries took down host. Please help

Could you be more specific about the modules that you disabled? If the problem does lie with one or other of them, it would be helpful for other users to know.

Kuroi Web Design and Development | Twitter

(Questions answered in the forum only - so that any forum member can benefit - not by personal message)

13 Aug 2009, 5:51 PM
#7
linnx avatar

linnx

Zen Follower

Join Date:
Jun 2009
Posts:
187
Plugin Contributions:
0

Re: Database queries took down host. Please help

Well we disabled all modules that may have caused it and the problem is still occurring. Did a search for "select distinct op.products_id," in developers tool kit and nothing came up.

Is that query being issued in one of the php files?

13 Aug 2009, 6:00 PM
#8
linnx avatar

linnx

Zen Follower

Join Date:
Jun 2009
Posts:
187
Plugin Contributions:
0

Re: Database queries took down host. Please help

If someone can offer guidance or would like to peak at the admin/ftp I can do that.

thank you :)

13 Aug 2009, 6:02 PM
#9
kuroi avatar

kuroi

Totally Zenned

Join Date:
Apr 2006
Location:
London, UK
Posts:
10,475
Plugin Contributions:
11

Re: Database queries took down host. Please help

Can't say where the query is coming from - it's not part of Zen Cart.

It's badly-written, but that's not much of a clue. It might be part of a poorly-constructed mod - most problems like this are. Or it might be that you've been hacked and some php is being executed in a location that wouldn't normally have php, which could explain why the the developers toolbar doesn't find it. Or it could be instigated by somebody connecting directly to your database. There's no way to tell just by looking at the error message.

If this were one of my clients sites I'd do a full file comparison against a fresh download of Zen Cart and ensure that I understood all the differences. Another approach would be to download the entire site and do a search for that query using a development IDE such as Dreamweaver, Eclipse or Aptana, unless your webhost offers an onserver search facility.

Kuroi Web Design and Development | Twitter

(Questions answered in the forum only - so that any forum member can benefit - not by personal message)

13 Aug 2009, 6:03 PM
#10
linnx avatar

linnx

Zen Follower

Join Date:
Jun 2009
Posts:
187
Plugin Contributions:
0

Re: Database queries took down host. Please help

I asked the host which files were doing that query and he said

includes/modules/sideboxes/ezppt/recent_orders.php
includes/modules/sideboxes/order_history.php

How can I make it so those don't execute? I disabled everything in the side boxes controller. It is probably hard coded into one of the files.

13 Aug 2009, 6:13 PM
#11
kuroi avatar

kuroi

Totally Zenned

Join Date:
Apr 2006
Location:
London, UK
Posts:
10,475
Plugin Contributions:
11

Re: Database queries took down host. Please help

I'm not sure that I believe them, at least about the includes/modules/sideboxes/order_history.php file. They may have just searched on the first part of the query, which would return that, not the bits that might be causing the problem.

The includes/modules/sideboxes/ezppt/recent_orders.php is a more likely candidate. It's not part of Zen Cart or any mods that I've used. Have you opened it up to see if it contains the errant query? Have you tried removing the file and seeing if that cures the problem?

Kuroi Web Design and Development | Twitter

(Questions answered in the forum only - so that any forum member can benefit - not by personal message)

13 Aug 2009, 6:17 PM
#12
linnx avatar

linnx

Zen Follower

Join Date:
Jun 2009
Posts:
187
Plugin Contributions:
0

Re: Database queries took down host. Please help

Yes, that query is in there... I will rename that file.. I'll look at the other file now.

<?php $show_recent_orders_sidebox = true; define('MAX_DISPLAY_RECENTORDERS','20'); define('MIN_DISPLAY_RECENTORDERS','1'); define('BOX_HEADING_RECENTORDERS','Recently Sold items'); define('BOX_HEADING_TRUNCATE','30'); define('BOX_HEADING_TRUNCATE_MORE','...'); /*$recent_orders_query = "select distinct op.products_id,op.products_name , o.delivery_city , o.delivery_country from " . TABLE_ORDERS . " o, " . TABLE_ORDERS_PRODUCTS . " op ,". TABLE_PAYPAL ." p where o.orders_id = p.order_id and o.orders_id = op.orders_id order by o.orders_id desc limit " . MAX_DISPLAY_RECENTORDERS;*/ $recent_orders_query = "select distinct op.products_id,op.products_name , o.delivery_city , o.delivery_country from " . TABLE_ORDERS . " o, " . TABLE_ORDERS_PRODUCTS . " op ,". TABLE_PAYPAL ." p where o.orders_id = op.orders_id order by o.orders_id desc limit " . MAX_DISPLAY_RECENTORDERS; $recent_orders = $db->Execute($recent_orders_query); if ($recent_orders->RecordCount() >= MIN_DISPLAY_RECENTORDERS) { $title = BOX_HEADING_RECENTORDERS; $box_id = 'recentorders'; $rows = 0; while (!$recent_orders->EOF) { $rows++; $recentorders_list[$rows]['id'] = $recent_orders->fields['products_id']; $recentorders_list[$rows]['name'] = $recent_orders->fields['products_name']; $recentorders_list[$rows]['city'] = $recent_orders->fields['delivery_city']; $recentorders_list[$rows]['country'] = $recent_orders->fields['delivery_country']; $recent_orders->MoveNext(); } require($template->get_template_dir('tpl_recent_orders.php',DIR_WS_TEMPLATE, $current_page_base,'sideboxes'). '/tpl_recent_orders.php'); $title = 'Recently Sold items'; $title_link = false; if( $column_box_default==''){ require($down_column_box_default); }else{ require($template->get_template_dir($column_box_default, DIR_WS_TEMPLATE, $current_page_base,'common') . '/' . $column_box_default); } } ?>
13 Aug 2009, 6:24 PM
#13
gjh42 avatar

gjh42

Black Belt

Join Date:
Jul 2005
Location:
Upstate NY
Posts:
21,876
Plugin Contributions:
8

Re: Database queries took down host. Please help

You didn't respond to Kuroi's request to identify the mods you disabled. Posting their names and something about the source could really help other people avoid the problems you have had.

13 Aug 2009, 6:26 PM
#14
linnx avatar

linnx

Zen Follower

Join Date:
Jun 2009
Posts:
187
Plugin Contributions:
0

Re: Database queries took down host. Please help

We disabled all mods in the sideboxes controller. But for some reason these mods were still running which leads me to believe they are hard coded. So disabling the mods did nothing to help - So if I told you which ones we disabled it wouldn't give any insight. This is a foreign installation (China) and is not like the standard zen cart I am used to dealing with. I will provide full details once I resolve it.

Thanks