Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[CubeCart V3] Laat Mysql keihard vastlopen.

Pagina: 1
Acties:
  • 173 views sinds 30-01-2008
  • Reageer

  • CrankyGamerOG
  • Registratie: Juni 2003
  • Laatst online: 11:14

CrankyGamerOG

Assumption is the mother.....

Topicstarter
Laat ik voorop zeggen dat ik niet veel van mysql afweet, maar dat lezen me ver brengt

ik zit met een probleem dat een Cubecart sinds zaterdag de mysql server laat spiken naar 100% en dan gewoon hangt.
het gaat continue bijdezelfde querie fout, maar ik kan aan de querie zelf niks ontdekken wat er mis gaat.
(Dit is dus geen scripting fout van mijn kant oid, het was van de een op de andere dag stuk)

de bewuste querie die steeds vastloopt :

code:
1
2
3
4
5
6
7
8
9
10
SELECT DISTINCT a.productId, a.productCode, a.name, 
a.description, a.image, a.price, a.sale_price, b.cat_name FROM 
cc_CubeCart_inventory a, cc_CubeCart_category b, cc_CubeCart_order_inv c 
WHERE a.cat_id = b.cat_id AND a.productId = c.productId AND 
c.cart_order_id IN (SELECT cart_order_id FROM cc_CubeCart_order_sum 
WHERE customer_id IN (SELECT customer_id FROM cc_CubeCart_order_sum 
WHERE cart_order_id IN (SELECT a.cart_order_id FROM 
cc_CubeCart_order_inv a, cc_CubeCart_order_sum b WHERE a.cart_order_id = 
b.cart_order_id AND (b.status = 2 OR b.status = 3) AND a.productId = 
'38')) AND (status = 2 OR status = 3))


Hij loopt steeds bij deze querie vast en komt dan niet meer omlaag (99% cpu)
de mysqld log laat niks bijzonders zie.

KPN - Vodafone Ziggo Partner


  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

Wat gebeurt er als je deze query in phpMyAdmin uitvoert? En wat als je alleen de subqueries uitvoert?

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


  • CrankyGamerOG
  • Registratie: Juni 2003
  • Laatst online: 11:14

CrankyGamerOG

Assumption is the mother.....

Topicstarter
sorry vergeten te vermelden, dit heb ik uiteraard geprobeerd,
dan hangt mysql ook onherroepelijk ? 8)7

KPN - Vodafone Ziggo Partner


Verwijderd

ik zat net te denken, is het een idee om een restore te doen van de database van november vorig jaar ofzo?

[ Voor 241% gewijzigd door Verwijderd op 14-01-2008 20:15 ]


  • CrankyGamerOG
  • Registratie: Juni 2003
  • Laatst online: 11:14

CrankyGamerOG

Assumption is the mother.....

Topicstarter
dat kan wel , ik denk namelijk dat het probleem erin zit dat de querie te lang duurt en daarom tegen een timeout aanrent oid


als ik namelijk lang genoeg wacht word de querie afgerond en reageert de shop wel weer, maar dit kan 5 min duren maar ook 10 en ook 20 min 8)7

wat ik ga doen is denk ik vanavond/vannacht een lege shop opzetten en de products table ga overgooien kijken wat hij dan doet

[ Voor 56% gewijzigd door CrankyGamerOG op 14-01-2008 21:38 ]

KPN - Vodafone Ziggo Partner


  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Ik kan je alleen adviseren de query eens via joins te herschreven in plaats meerdere sub queries. Maar wat moet de query precies doen. Want hij haalt eerst alle producten op welke ProductID 38 hebben en status 2 of 3. Dan haalt hij daarvan alle customers op welke het product in hun winkel wagentje hebben, daarvan weer de orders om vervolgens alsnog alleen product gegevens te tonen.

Ik zou denk aan een 'wat ander bezoekers hebben besteld die dit product kochten' functionaliteit, maar dan wel een zeer slecht uitgevoerde implementatie. In jouw geval wordt de query elke keer realtime uitgevoerd, terwijl dat eigenlijk niet nodig is. Het zou mij ook niet verbazen als van het resultaat alleen de eerste drie worden getoont. Meestal worden dergelijke lijstjes op gezette tijden gemaakt en dan opgeslagen in de database. Meestal worden dit soort taken 's nachts uitgevoerd als niemand er last van heeft.

Het terug zetten van je november database zal inderdaad wel helpen. Immers je gaat terug in de tijd waardoor je minder klanten en winkelmandjes in je database hebt, waardoor simpelweg de query sneller klaar is. En om je alvast voor te bereiden: Het gaat alleen maar erger worden, want het aantal klanten en daarmee orders en gekoppelde producten zal alleen maar groeien.

Aangezien het een commercieel product betreft, raad ik je aan de issue eens bij CubeCart zelf neer te leggen. Bijvoorbeeld in hun forum.

If it isn't broken, fix it until it is..


  • Dido
  • Registratie: Maart 2002
  • Laatst online: 11:50

Dido

heforshe

Geen idee wat je query moet doen, maar als ik een drievoudig geneste subquery zie dan verbaast het me helemaal niets dattie wat langzaam is :X

(En een disctinct betekent vaak ook dat er iets niet helemaal jofel zit).

Wat betekent mijn avatar?


  • CrankyGamerOG
  • Registratie: Juni 2003
  • Laatst online: 11:14

CrankyGamerOG

Assumption is the mother.....

Topicstarter
de query is herschreven en het probleem is inderdaad opgelost,
en dit zonder hulp van het aangedragen forum van cube, want daar reageert niemand(snel genoeg)
er zit een plugin in die dit veroorzaakte , deze query/subquerys zijn herschreven.

KPN - Vodafone Ziggo Partner


Verwijderd

super geholpen bedankt!!!
Pagina: 1