OpenCart-Hellas 

Η Ελληνική κοινότητα υποστήριξης του Opencart

Θέματα που αφορούν τη γενικότερη λειτουργία του Opencart.
#5855
Καλησπέρα σε όλους.
Το site μετά απο 2 μήνες που ανέβηκαν τα προϊόντα και οι πελάτες , καθώς προστέθηκαν και κάποια απαραίτητα script άρχισε σιγά σιγά να χάνει σε ταχύτητα.
Ψάχνοντας βρήκα 4 προτάσεις που θα καταφέρουν αν κάνουν το σιτε να δουλεύει γρήγορα, όμως η εμπειρία μου στο opencart δεν είναι πολύ μεγάλη ,έτσι ζητάω την βοήθεια σας, καθώς και την γνώμη σας

1) να βάλω το Lightning Cache
2) μετατροπή της βάσης από MyIsam σε InnoDB
3) προσθήκη indexes στην database
4) CDN για τις φωτογραφίες και τα στατικά
χρησιμοποιώ το opencart 2.3.xx και σαν θέμα το joornal 3
Δεν ξέρω όμως αν ήδη για παράδειγμα το joornal βάζει απο μόνο του indexes ή αν έχει αλλάξει την βάση σε κάτι άλλο και όχι σε innoDB, επίσης έχω το vqmode (δεν ξέρω αν επηρεάζει αρνητικά την ταχύτητα αλλά το θεωρό απαραίτητο )
ευχαριστώ
#5856
Καλησπέρα,

- Lightning Cache, δεν το έχω χρησιμοποιήσει και ούτε πρόκειται, γιατί είναι μισό κλειστό και μισό obfuscated που δεν μου επιτρέπει να κάνω τροποποιήσεις εύκολα (αλλά αυτό είναι καθαρά υποκειμενική άποψη).
- Το journal προσθέτει indexes. Επίσης το 3.x είναι κατά την άποψη μου πιο βαρύ από το 2.x.
- Αν πας σε InnoDB δεν είναι απαραίτητο ότι θα κερδίσεις ταχύτητα. Θα κέρδιζες αν υπήρχαν ταυτόχρονα read/writes αλλά τον περισσότερο χρόνο χρήσης της εφαρμογής γίνονται reads, που με MyISAM λογικά είναι πιο γρήγορα. Θα σε εξυπηρετούσε να πας σε InnoDB αν για παράδειγμα χρειαζόσουν scaling με MySQL cluster που λειτουργεί απ' όσο γνωρίζω μόνο με InnoDB (γενικά δύσκολη υλοποίηση).
- CDN, οκ

Άλλες πιθανές προτάσεις
- Εννοείται ότι η καλύτερη λύση απόδοσης/τιμής είναι dedicated.
- Για μένα το κυριότερο πρόβλημα μείωσης ταχύτητας συνήθως οφείλεται στην προσθήκη πολλών κατηγοριών και χαρακτηριστικών και όχι τόσο προϊόντων. Θα μπορούσες να περάσεις τα χαρακτηριστικά σε πίνακα στην περιγραφή, να απενεργοποιηθεί η καρτέλα εμφάνισης των χαρακτηριστικών και να εισάγονται μόνο όσα χαρακτηριστικά χρειάζονται ως φίλτρα
- Μπορείς να δοκιμάσεις να φτιάξεις ένα extension που να χρησιμοποιεί OPcache (δεν το έχω κάνει προσωπικά). Παραδείγματα μπορείς να βρεις στο system/library/cache/.
#5857
Καλημέρα σας, και πάλι ευχαριστώ που απαντήσατε.
Δυστυχώς ο τρόπος λειτουργίας του καταστήματος χρειάζεται τα πολλά διαφορετικά φίλτρα και κατηγορίες, και μάλλον για αυτό έπεσε η ταχύτητα. Τις κατηγορίες και τις ιδιότητες των προϊόντων της τραβάει απο το erp, ελπίζω αυτό να μην κάνει πιο δύσκολη την κατάσταση.
Ευελπιστώ με την λύση του CDN να βελτιωθεί η ταχύτητα σε ικανοποιητικό στάδιο.
θα μπορούσατε να πείτε 2-3 συμβουλές για το πώς θα υλοποιήσω κάτι τέτοιο, μιας και ακόμα δεν έχω αρκετή εμπειρία με το opencart.
Ξέχασα να αναφέρω πως και οι φωτογραφίες των προϊόντος έρχονται απο το erp, δεν ξέρω αν επηρεάζει την ταχύτητα, η αν μπορώ να έχω cdn για αυτές
Ευχαριστώ
#5865
Καλησπέρα
Ξέχασα να αναφέρω πως και οι φωτογραφίες των προϊόντος έρχονται απο το erp, δεν ξέρω αν επηρεάζει την ταχύτητα, η αν μπορώ να έχω cdn για αυτές
Διευκρίνισε τι εννοείς "έρχονται", βρίσκονται μόνιμα σε άλλον απομακρυσμένο server ή εφαρμογή ERP και σερβίρονται από εκεί ή μεταφέρονται άπαξ στο OpenCart από το ERP και εκ των υστέρων σερβίρονται από τον server που βρίσκεται το OpenCart. Αν είναι το δεύτερο δεν υπάρχει πρόβλημα.
#5870
Το δεύτερο, οκ αφού δν υπάρχει πρόβλημα ψάχνω να βρώ τι και πώς με το CDN στην cloudflare . υπάρχουν κάποια βήματα που μπορώ να κάνω σαν οδηγίες ? νομίζω το journal 3 έχει κάποιες ευκολίες στην υλοποίηση του cdn αλλα ακόμα το ψάχνω
#5885
Από την στιγμή που η εγκατάσταση έχει πάρα πολλά φίλτρα, επιλογές και κατηγορίες, η λύση ενός CDN δε θα σε βοηθήσει σχεδόν καθόλου.
Το CDN = Content Delivery Network, είναι μηχανισμός Caching για στατικό περιεχόμενο και κάποιες φορές προσφέρει και επιλογές όπως minifying (συμπίεση των αρχείων) ή merging (συγχώνευση αρχείων για λιγότερα requests). Εάν το πρόβλημα οφείλεται σε αυτό το κομμάτι, μπες στο https://www.sitespeed.gr κάνε έναν έλεγχο της σελίδας σου και δες ποια αρχεία φορτώνονται και μετά πράξε ανάλογα με τις αλλαγές που χρειάζονται.

Από κει και πέρα το κομμάτι των δεδομένων είναι μεγάλος "πόνος" για το opencart. Οι λύσεις που έχεις είναι πάρα πολλές. Θα αναλύσω όμως κάποιες από αυτές λόγω χρόνου :)

1) Φυσικά να φιλοξενήσεις την ιστοσελίδα σε δικό σου σερβερ. Dedicated ή VPS δε παίζει ρόλο, αρκεί να μπορείς να κάνεις αλλαγές στο config του Apache και της MySQL
2) Δημιουργία σωστών indexes στη βάση. Εάν το πρόβλημα σου είναι τα προϊόντα / κατηγορίες / επιλογές και φίλτρα, φρόντισε όλοι οι αντίστοιχοι πίνακες στη βάση να είναι indexed.
3) Αναφέρθηκε το innodb, αλλά αυτό που θα έπρεπε να κοιτάς παραπάνω είναι το query caching στην MySQL ή το Redis (έχω ανεβάσει πλήρη οδηγό εδώ)
4) Πρόσθετο στο παραπάνω, είναι η ενεργοποίηση του OPCache στην PHP. Κάποιοι προτείνουν το APC ή το eAccelerator αλλά γενικά το OpenCart δεν λειτουργεί πάντα καλά με αυτά τα δύο.
5) Πιο βαθιά σε αλλαγές, η επιλογή του PHP-FPM ως module για την PHP είναι μονόδρομος, αλλά μετά θα χρειαστεί να κάνεις και τις αντίστοιχες ρυθμίσεις στο configuration. Κάποια βασικά στοιχεία για αυτό μπορείς να διαβάσεις εδώ.
6) Εννοείται ότι πρέπει να έχεις PHP 7.2 ή καλύτερα PHP 7.3 εγκατεστημένη. Δες τις διαφορές από 5.6 σε 7.0 εδώ.

Μόλις έχεις κάνει τα παραπάνω, εάν ακόμα έχεις προβλήματα, δυο πράγματα συμβαίνουν. Είτε έχεις πάρα πολύ μεγάλη ιστοσελίδα και χρειάζεσαι μετά κάποιον server admin να κάνετε αλλαγές μόνο για την σελίδα σου και να πετύχετε το αποτέλεσμα που θέλεις ή κάτι δεν έχει γίνει σωστά από τα παραπάνω.

ΥΣ: Το lighting cache είναι καλή φάση, αλλά θα πρέπει να ξέρεις ότι δεν κάνει τίποτα άλλο από το να κάνει generate στατικές σελίδες όλου του site σου . Οπότε σε κάθε μεγάλη αλλαγή θα πρέπει να κάνεις refresh. Δεν κάνει τίποτα άλλο ουσιαστικό πέρα από το pre-generating pages. Έχει και κάτι για image optimisation αλλά δε το έχω δει ποτέ να δουλεύει σωστά σε production site.

Καλές διακοπές
#5891
Καλησπέρα,

Κωνσταντίνε να συμπληρώσω σε αυτά που ανέφερες ότι τα APC και eAccelerator θεωρούνται legacy από την PHP 5.4 και άνω και δεν υποστηρίζουν PHP 7.x.

Η μόνη native λύση για cashing από PHP 5.4 και άνω και ειδικότερα σε php 7.x είναι το "OPcache", όχι ως αναφορά της γενικότερης λειτουργίας opcode cashing όπως την εννοούσαμε παλιά, αλλά έτσι ονομάζεται το PHP cashing extension.

Καλησπέρα στην ομάδα, θέλω να ρωτήσω το εξής: Σε O[…]

Σας ευχαριστώ πολύ για την απάντηση, σκεφτείτε η ε[…]

Έλεγξε αν έχεις πολύ μεγάλα αρχεία εικόνων και αν […]

Κάνε ένα restart τον σερβερ. (βασικα την λειτουργι[…]

Πριν ζητήσετε βοήθεια στο φόρουμ, παρακαλούμε ελέγξτε αν υπάρχει έτοιμη λύση στο OpenCart Extension Marketplace!