Post by corpus » Fri Oct 19, 2012 4:54 am

Καλησπέρα σε όλους τους φίλους
στήνω ένα online φαρμακείο σε opencart 1.5.4.1
έχω κάνει migration απο zencart 106 κατηγορίες και 6800 προιόντα
αποτέλεσμα? σέρνετε παρόλο που φιλοξενείτε σε vps (μαζι με άλλα 5-6 sites)
κοιτώντας την χρήση cpu σε κάθε κλικ του μενου γίνονται κάποια peak και η καθυστέρηση είναι εμφανης
έκανα κάποια optimizations στην mysql (my.cnf) αλλα η κατάσταση βελτιώθηκε ελάχιστα
έκανα κάποιες αναζητήσεις στο forum και όλοι λένε για κάποια payed extensions που δεν θα ήθελα να χρησιμοποιήσω
θα ήθελα σας παρακαλώ τις γνώμες σας και την βοήθεια σας.
ευχαριστώ

New member

Posts

Joined
Mon Oct 15, 2012 4:40 am

Post by botonakis » Sun Oct 21, 2012 1:36 am

Καλησπέρα,

μπορείς αφενός να στείλεις τα specs του vps σου εδώ; Επίσης, έχεις cPanel?
Εάν ναι τότε τρέξε το script:

Code: Select all

/usr/local/cpanel/3rdparty/mysqltuner/mysqltuner.pl
Θα σου βγάλει μία αναφορά με βάση το usage που έχεις ήδη τι πρέπει να αλλάξεις στο my.cnf

Επίσης, για 6800 προϊόντα, συγνώμη που θα στο πω αλλά διάλεξες λάθος script για να κάνεις eshop. Είναι από τα πιο αργά eshop και θέλει πολύ tuning για να δουλέψει σωστά.

User avatar
Active Member

Posts

Joined
Tue Jan 24, 2012 7:55 pm
Location - Athens, Greece

Post by corpus » Sun Oct 21, 2012 2:04 pm

Καλησπέρα,
ευχαριστώ για τον χρόνο σου
Επίσης, για 6800 προϊόντα, συγνώμη που θα στο πω αλλά διάλεξες λάθος script για να κάνεις eshop. Είναι από τα πιο αργά eshop και θέλει πολύ tuning για να δουλέψει σωστά.
Αρχίζω να το καταλαβαίνω και εγώ αυτό. Πριν σε Zen το site πέταγε... Το OC τρωει πολλά resources και δεν καταλαβαίνω γιατι δεν λύνουν αυτά τα προβλήματα.

Σου στέλνω κάποια στοιχεια, αν μπορείς ρίξε μια ματιά
Vps specs

Code: Select all

CPU model :    QEMU Virtual CPU version (cpu64-rhel6)
Number of cores : 2
CPU frequency : 1999.998 MHz
Total amount of ram : 1010 MB
Total amount of swap : 953 MB
I/O speed : 133MB/s
Old my.cnf http://paste.debian.net/202253
New optimized my.cnf http://paste.debian.net/202256
Tuning-primer results before optimization http://paste.debian.net/202257
Mysqltuner.pl results before optimization http://paste.debian.net/202259

New member

Posts

Joined
Mon Oct 15, 2012 4:40 am

Post by botonakis » Sun Oct 21, 2012 6:49 pm

Το μόνο που βλέπω ότι πρέπει να αλλάξεις είναι το:

Code: Select all

table_cache = 256
Το πρόβλημα με το OpenCart είναι η μνήμη να ξέρεις. Φορτώνει τα προϊόντα με μεγάλα SQL Queries και φέρνει όλες τις πληροφορίες μπροστά. Όσο cache έχεις τόσο καλύτερα.

Προτείνω τα εξής:
  • Προσπάθησε μήπως μπορέσεις να αλλάξεις σύστημα ή μνήμη
  • Βάλε CS-Cart (ξέρω ότι δεν είναι το κατάλληλο μέρος να το γράψω αυτό αλλά για τον όγκο που έχεις και τα functions που ζητάς, εκείνη είναι η λύση)

User avatar
Active Member

Posts

Joined
Tue Jan 24, 2012 7:55 pm
Location - Athens, Greece

Post by corpus » Sun Oct 21, 2012 7:56 pm

στην optimized version το
table_cache = 1200
και ακόμα έχω peaks αλλα όχι στην μνήμη, στην cpu ; )
το cs έπαψε να είναι free απο 5/9 http://www.cs-cart.com/free.html

New member

Posts

Joined
Mon Oct 15, 2012 4:40 am

Post by People's Code » Tue Oct 23, 2012 12:53 pm

έκανα κάποιες αναζητήσεις στο forum και όλοι λένε για κάποια payed extensions που δεν θα ήθελα να χρησιμοποιήσω
Μπορείς να βελτιώσεις την απόδοση σημαντικά προσθέτοντας indexes στα tables της Mysql. Τα περισσότερα extensions που ανέφερες κάνουν κυρίως αυτό, καθώς και μερικές άλλες βελτιώσεις στο κώδικα ή το τρόπο που γίνονται τα queries.

Αν δεν θέλεις να αγοράσεις κάποιο σχετικό extension, υπάρχουν αρκετά posts στο forum που εξηγουνε πως να το κάνεις μόνος σου. ;)

PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart


User avatar
Active Member

Posts

Joined
Fri Jul 27, 2012 5:30 am
Location - Hellas

Post by corpus » Tue Oct 23, 2012 6:10 pm

Καλημέρα
thanks για τις προτάσεις
Σήμερα το πρωί διέγραψα κάποιες από τις υποκατηγορίες (από τις 106 άφησα 100 [μονο 6 διέγραψα!!])
περιττό να σας πω πως το site πετάει, επομένως σε πρώτη φάση καλό θα είναι να έχω (και ο καθένας μας) μια ποιο ορθολογική χρήση κατηγοριων-υποκατηγοριων

Σίγουρα βοηθάει και το optimize της βάσης. Για να κάνετε γρήγορα optimization σε όλες τις βάσεις σας απο ssh:

Code: Select all

mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
Αλλιώς μέσα απο phpmyadmin
Όσο αφορά τα indexes είχα ήδη κάνει μέσα απο το phpmyadmin εκτελώντας αυτό το sql

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 `category_description` ADD INDEX ( `language_id` ) ;
ALTER TABLE `category_to_store` ADD INDEX ( `store_id` ) ;
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 UNIQUE INDEX ( `product_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` ADD INDEX ( `date_available` ) ;
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 `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` ) ;
ερώτηση, indexing είναι κάτι σαν το optimize ? θα πρέπει δλδ να γίνεται συχνά ?

επίσης κάποια modification που έκανα στην mysql (που στην τελική δεν χρειάστηκαν καθώς γύρισα στις default ρυθμίσεις) τα οποία όμως πιστεύω είναι χρήσιμα http://paste.debian.net/202925/

New member

Posts

Joined
Mon Oct 15, 2012 4:40 am

Post by People's Code » Tue Oct 23, 2012 6:48 pm

ερώτηση, indexing είναι κάτι σαν το optimize ? θα πρέπει δλδ να γίνεται συχνά ?
Όχι, άπαξ ορίσεις τα indexes που θες, αυτά μετά ανανεώνονται αυτόματα κάθε φορά που προσθέτεις/διαγράφεις κάτι.
Γι' αυτό το λόγο όταν προσθέτουμε indexes λαμβάνουμε υπόψιν αν η εφαρμογή κάνει συχνά εγγραφές στη βάση γιατί αυτό επηρεάζει αντίθετα την απόδοση. Στη περίπτωση όμως του opencart που δεν υπάρχουν τόσο συχνές εγγραφές/διαγραφές η προσθήκη τους αυξάνει την απόδοση.

Με απλά λόγια θεώρησε το optimize σαν defragmentation που αυξάνει την απόδοση σε tables έχουν υποστεί διαγραφές και προσθήκες, ενώ το indexing σαν τη δημιουργία ενός ευρετηρίου για γρήγορη αναζήτηση.

PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart


User avatar
Active Member

Posts

Joined
Fri Jul 27, 2012 5:30 am
Location - Hellas

Post by corpus » Tue Oct 23, 2012 7:09 pm

thanks

New member

Posts

Joined
Mon Oct 15, 2012 4:40 am
Who is online

Users browsing this forum: No registered users and 5 guests