Post by Nija » Sun Apr 15, 2012 1:22 am

Salut
De cand am facut upgrade de la 1.4.9.3 la 1.5.2.1 imi apare urmatoarea cand este folosit search-ul magazinului. (Pana acum nu am depistat eroarea asta in alte situatii)

Code: Select all

Notice: Error: MySQL server has gone away
Error No: 2006
SELECT * FROM nijaro_language WHERE status = '1' in /home/nijaro/public_html/produselifecare.eu/system/database/mysql.php on line 49 
Am cautat pe forum si am mai gasit cateva persoane cu aceasi problema. Rezolvarea cica ar fi sa discutam cu cei de la hosting (HostVision in cazul meu) si sa le cer sa imi mareasca valoarea la mysql.connect_timeout. Dar pe forum, cei care au avut aceasta problema si au marit mysql.connect_timeout nu si-au rezolvat problema.

Totusi eu am discutat cu cei de la hosting si mi-au dat urmatorul raspuns:
Buna ziua,

Eroare apare in momentul in care se ruleaza un query care are nevoie de un timp de procesare mai lung de 30 de secunde. Problema poate sa apara in momentul in care pe site sunt destul de multi vizitatori si exista multe coenxiuni si query-uri rulate spre baza de date.

Ar trebui optimizate putin query-urile folosite pentru selectia produselor si instalat un sistem de cache astfel incat vizitatorii de pe site sa nu foloseasca in permanenta conexiuni la baza de date pentru afisarea produselor ci informatiile sa fie preluate static.
Eu stiu ca aceasta problema nu este din cauza Open Cart-ului (il mai am instalat pe alte magazine si nu am astfel de probleme) si daca nici de la hosting nu este, de unde ar putea sa fie ?

De multi vizitatori nu poate fii vorba, am in medie pe zi cam 150 de vizitatori si nu cred ca acest numar imi poate creea aceasta problema.

Credeti ca un sistem cache ar rezolva aceasta problema ? Are Open Cart-ul integrat un astfel de sistem (sau vreun modul) ?

Cat despre baza de date ... ar putea fii optimizate query-urile ? Eu habar nu am despre MySQL :(

Aveti vreo sugestie ? Tin sa precizez ca nu tot timpu apare eroarea asta, apare de obicei dupa 2-3 cautari.

Am adaugat si fisierul /home/nijaro/public_html/produselifecare.eu/system/database/mysql.php (poate este acolo ceva gresit, cu toate ca nu am modificat nimic acolo).

Attachments

/home/nijaro/public_html/produselifecare.eu/system/database/mysql.php


Active Member

Posts

Joined
Sun Oct 31, 2010 5:19 pm
Location - Constanta, Romana

Post by florinsith » Sun Apr 15, 2012 2:08 am

Da, si mie mi s-a intamplat. Adauga urmatori indecsi la tabelele din baza de date ca sa mearga mai repede:
uksitebuilder wrote:The following SQL helped one of my sites a lot

Code: Select all

ALTER TABLE `category` ADD INDEX ( `parent_id` ) ;
ALTER TABLE `category` ADD INDEX ( `top` ) ;
ALTER TABLE `category` ADD INDEX ( `sort_order` ) ;
ALTER TABLE `category` ADD INDEX ( `status` ) ;
ALTER TABLE `option` ADD INDEX ( `sort_order` ) ;
ALTER TABLE `option_description` ADD INDEX ( `name` ) ;
ALTER TABLE `option_value` ADD INDEX ( `option_id` ) ;
ALTER TABLE `option_value_description` ADD INDEX ( `option_id` ) ;
ALTER TABLE `order` ADD INDEX ( `customer_id` ) ;
ALTER TABLE `product` ADD INDEX ( `model` ) ;
ALTER TABLE `product` ADD INDEX ( `sku` ) ;
ALTER TABLE `product` ADD INDEX ( `upc` ) ;
ALTER TABLE `product` ADD INDEX ( `manufacturer_id` ) ;
ALTER TABLE `product` ADD INDEX ( `sort_order` ) ;
ALTER TABLE `product` ADD INDEX ( `status` ) ;
ALTER TABLE `product_option` ADD INDEX ( `option_id` ) ;
ALTER TABLE `product_option_value` ADD INDEX ( `product_option_id` ) ;
ALTER TABLE `product_option_value` ADD INDEX ( `product_id` ) ;
ALTER TABLE `product_option_value` ADD INDEX ( `option_id` ) ;
ALTER TABLE `product_option_value` ADD INDEX ( `option_value_id` ) ;
ALTER TABLE `product_tag` ADD INDEX ( `product_id` ) ;
ALTER TABLE `product_tag` ADD INDEX ( `tag` ) ;
ALTER TABLE `url_alias` ADD INDEX ( `query` ) ;
ALTER TABLE `url_alias` ADD INDEX ( `keyword` ) ;
ALTER TABLE `user` ADD INDEX ( `username` ) ;
ALTER TABLE `user` ADD INDEX ( `password` ) ;
ALTER TABLE `user` ADD INDEX ( `email` ) ;
site was using 1.5.0.5

De fapt cred ca cei pentru tabelul produs ar fii suficienti, dar totate nu fac niciun rau, asa ca ruleaza toata interogarea.
Adauga prefixul la tabele din interogare daca este cazul.

Image
My Extensions - SuperTheme - Opencart templates - Opencart modules


User avatar
Expert Member

Posts

Joined
Fri May 14, 2010 2:36 am


Post by Nija » Tue Apr 17, 2012 10:54 pm

Aici am rezolvat.
Nu a fost nici o problema. Pana acum nu mi-a mai facut figuri. Sper sa fie OK.
Multumesc de ajutor.

Active Member

Posts

Joined
Sun Oct 31, 2010 5:19 pm
Location - Constanta, Romana
Who is online

Users browsing this forum: No registered users and 6 guests