• User Attivo

    Problema hosting o opencart?

    Ciao a tutti, ho un problema a cui non riesco a venirne a capo e spero qualche esperto di voi mi possa aiutare. Ho recentemente cambiato piano hosting, passando da un piano shared hosting normale a uno semi dedicato. Come cms uso opencart 2.0.3.1 che ha circa 15000 prodotti importati tramite api. Ogni notte si avvia il cronjob per aggiornare i prezzi dall'una alle sette del mattino con intervalli di 15 minuti. La mattina, quando vado a aprire opencart dal backoffice e provo a consultare le pagine con la lista prodotti, e voglio passare ad esempio dalla pagina 1 alla 2, il browser inizia a caricare infinitamente, sino a quando vengo riportato alla pagina d'accesso con username e password di opencart e ricevo nella parte alta della pagina l'errore:
    **2016-01-12 8:23:34 - PHP Notice: Error: MySQL server has gone away<br />Error No: 2006<br />SELECT * FROM oc_event in /home/XXX/public_html/XXX/system/library/db/mysqli.php on line 41
    2016-01-12 8:23:34 - PHP Notice: Trying to get property of non-object in /home/XXX/public_html/XXX/admin/index.php on line 154
    **per ogni prodotto non caricato. A me è sembrato un problema di hosting, visto che c'era la scritta mySQL e che prima dell'upgrade, il problema non me lo faceva. Al ticket inviato però, il provider mi ha risposto che il problema non dipende da loro, ma è il cms in uso. Aggiungo che il problema, me lo fa solo una volta al giorno, quando vado ad aprire il backoffice e accedo per la prima volta ai prodotti, dovendo vedere i prodotti che sono stati aggiornati ed eliminati, provo a sfogliare la lista prodotti, ma ricevo l'errore sopra indicato. Dopo aver ricevuto l'errore e fatto nuovamente l'accesso ad opencart, non ho più alcun errore e tutte le pagine con la lista prodotti dal back office, sono consultabili senza errori o problemi. Qualcuno esperto che sappia cosa può essere il problema? Grazie


  • User Attivo

    L'errore da te citato "MySQL server has gone away", è un errore di sistema di MySQL che in genere si manifesta quando la richiesta va in timeout..

    Sta a te capire le cause del timeout, a quanto mi par di capire hai tanti oggetti e quindi la query va in timeout, ad esempio "SELECT * FROM oc_event" è una query che avrà un gran risultato, si potrebbe pensare di selezionare solo i campi richiesti(chiaramente è un ipotesi, se servono tutti sei costretto a lasciare "*").

    Nell'hosting di prima magari non lo faceva perchè nelle impostazioni di MySQL il tempo di timeout era maggiore rispetto alla configurazione dell'attuale provider, quindi nel tempo stabilito ce la faceva!

    Spero di esserti stato utile, se hai qualche dubbio chiedi pure 🙂


  • User Attivo

    Ciao Bacca001, grazie per la risposta, prima nell'altro hosting avevo circa 9000 prodotti, adesso invece ne ho più di 16000, penso il problema sia una conseguenza dei tanti prodotti che ho adesso. Il problema lo fa una sola volta al giorno solitamente,al primo accesso, poi non si presenta più, è come se si perdesse il contatto con il database, poi una volta ripristinato, tutto torna come prima. Ho visto che ci sono diverse estensioni per opencart che hanno l'utilità di migliorare la query con il database e renderne più veloce la risposta, alla fine ci sto sbattendo la testa e magari è una cosa "normale" per questo cms


  • User Attivo

    Hai quasi il doppio di prodotti, direi che molto probabilmente la causa sia quella allora 🙂