Однозначно переводить на InnoDB, + настраивать нормальное кэширование и сами переменные InnoDB. В идеале - чтобы если данные в базе после перевода в инно весят, скажем 500мб - чтобы под mysql в частности под innodb_buffer_pool делать больше чем общий размер базы. тогда оно все будет висеть в памяти.
MyISAM хорошо, но есть один очень существенный недостаток - это лок таблицы при обновлении или вставке. Отсюда могут и быть серьезные тормоза. Т.к. даже заход на карточку товара - вызывает обновление строки в таблице oc_products - а точнее поле viewed у просмотренного товара. И на каждое такое обновление - будет лочиться вся таблица, что совсем не фонтан. В случае с InnoDB - там работает Row Lock. т.е. лочится не таблица а строка.
Ну, и в идеале - nginx+php-fpm.
Отрицательные моменты от перевода на Инно - физический размер базы может удвоиться. На простейших операциях - myisam может работать быстрее, как показывает практика. Но, практика так же показывает - достаточно частые краши таблиц у myisam.
P.S. У меня - используется VPS, 3 ядра xeon, 3гб рам. в базе 19 тысяч товаров. фильтр - мегафильтр про. Софт - php-fpm 7.1, nginx, mysql innodb, пул 1гб, вес базы около 700-800мб (очень много атрибутов на каждый товар), сессии - в мемкэше, диск - ssd. Да, и шаблон - Journal 2 - который сам по себе не легкий. Никаких тормозов нет вообще, ни в админке, ни на самом сайте. Начальная отдача контента укладывается в 0.5с. Около 1000 человек в сутки сейчас.
MyISAM хорошо, но есть один очень существенный недостаток - это лок таблицы при обновлении или вставке. Отсюда могут и быть серьезные тормоза. Т.к. даже заход на карточку товара - вызывает обновление строки в таблице oc_products - а точнее поле viewed у просмотренного товара. И на каждое такое обновление - будет лочиться вся таблица, что совсем не фонтан. В случае с InnoDB - там работает Row Lock. т.е. лочится не таблица а строка.
Ну, и в идеале - nginx+php-fpm.
Отрицательные моменты от перевода на Инно - физический размер базы может удвоиться. На простейших операциях - myisam может работать быстрее, как показывает практика. Но, практика так же показывает - достаточно частые краши таблиц у myisam.
P.S. У меня - используется VPS, 3 ядра xeon, 3гб рам. в базе 19 тысяч товаров. фильтр - мегафильтр про. Софт - php-fpm 7.1, nginx, mysql innodb, пул 1гб, вес базы около 700-800мб (очень много атрибутов на каждый товар), сессии - в мемкэше, диск - ssd. Да, и шаблон - Journal 2 - который сам по себе не легкий. Никаких тормозов нет вообще, ни в админке, ни на самом сайте. Начальная отдача контента укладывается в 0.5с. Около 1000 человек в сутки сейчас.
Последнее редактирование: