OpenCart 2 Database Optimization

Оптимизация базы данных OpenCart 2 — IM DB Optimizer

in Opencart on 16.07.2019

Оптимизация базы данных интернет-магазина — это весьма непростой вопрос, порой требующий отдельных исследований.

И самое неприятное в этом процессе заключается в том, что сделать хоть какую-то оптимизацию может только тот, кто знает sql-запросы и разбирается в базах данных (БД).

Вот как раз для того, чтобы клиентам не приходилось заниматься тем, что им не обязательно знать, и создан IMDBOptimizer.

Возможности:
1. Гибридная система кэширования SQL-запросов (БД + файлы), позволяющая увеличить скорость генерации HTML-страницы (тестировалось на стандартном OpenCart с 5500 товаров — прирост производительности от 30% до 70-80%) и частично сбалансировать нагрузку между диском и БД.
2. Поддерживается фильтр «по словам» для исключения SQL-запросов из процесса кэширования (регистронезависимо). 
3. Поддерживается фильтр «по URL» для исключения отдельных страниц из процесса кэширования SQL-запросов (регистронезависимо).
4. Так как кэшируются только SQL-запросы, то такой модуль можно успешно применять совместно с другими модулями кэширования (например, v2pagecache). Однако, совместимость лучше проверять на тестовом сервере.
5. Установили модуль? Ничего не нужно настраивать для кэширования. SQL-запросы автоматически начинают кэшироваться (с учетом фильтров), без необходимости что-то еще настраивать.
6. Еще одной отличительной особенностью кэширования именно SQL-запросов является то, что если один и тот же запрос используется при генерации разных веб-страниц или же просто выполняется повторно, то используется всего один кэш. Простой пример, открыли один и тот же товар из разных категорий — опции будут закэшированы всего 1 раз.
7. Можно применять как с созданием индексов, так и без.
8. При установке, модуль сразу создает типовую настройку, нужно лишь включить кэш.
9. Легко включается и легко отключается.

Ограничения и нюансы:
1. Так как это модуль кэширования уровня БД, то необходимо учитывать, что такие возможности, как отображение реального остатка товара или текущей цены в карточке, не поддерживаются (данные же кэшированы).
2. Кэшируются только SQL-запросы, начинающиеся с select.
3. Заменяется ядровой файл registry.php
4. Кэширование применяется только к клиентской части, в админской части все запросы выполняются как обычно.
5. Учитывайте, что кэширование это дополнительная нагрузка. Например, при первом открытии страницы товара, она может дольше загружаться (создается кэш).

Для версии 2.3 здесь

————————————————ENG———————————————————

Optimization of the online store database is a very difficult question, sometimes requiring separate research.

And the most unpleasant thing in this process is that only someone who knows sql queries and understands databases (DB) can do at least some optimization.

That’s just so that customers do not have to do what they do not need to know, and created IMDBOptimizer.

Opportunities:

  1. A hybrid SQL query caching system (DB + files), which allows to increase the speed of HTML-page generation (tested on standard OpenCart with 5500 products — performance increase from 30% to 70-80%) and partially balance the load between the disk and the database.
  2. The “by words” filter is supported to exclude SQL queries from the caching process (case-insensitively).
  3. The filter “by URL” is supported to exclude individual pages from the process of caching SQL queries (case-insensitively).
  4. Since only SQL queries are cached, such a module can be successfully used in conjunction with other caching modules (for example, v2pagecache). However, compatibility is best checked on a test server.
  5. Installed the module? Nothing needs to be configured for caching. SQL queries automatically start caching (with filters), without the need for something else to configure.
  6. Another distinctive feature of caching SQL queries is that if the same query is used when generating different web pages or is simply executed repeatedly, then only one cache is used. A simple example, opened the same product from different categories — the options will be cached only 1 time.
  7. Can be used both with the creation of indices and without.
  8. When installing, the module immediately creates a typical setting, you just need to enable the cache.
  9. Easy to turn on and easy to turn off.

Limitations and nuances:

  1. Since this is a database level caching module, it is necessary to take into account that features such as displaying the real balance of goods or the current price in the card are not supported (the data is cached).
  2. Only SQL queries starting with select are cached.
  3. Replaced the core registry.php file
  4. Caching is applied only to the client part, in the admin part all requests are executed as usual.
  5. Consider that caching is an extra load. For example, when you first open the product page, it may take longer to load (a cache is created).

For version 2.3 here

Categories: Opencart модули

Фильтр

  • Категории

  • Версия

  • Тема