Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

Помогите ускорить магазин и MegaFilter Pro


Recommended Posts

Подскажите пожалуйста, есть  магазин, 470 000 товаров в одной категории.

На выделенном сервере Intel(R) Xeon(R) CPU E3-1270 v6 @ 3.80GHz (8 cores) 16ГБ .
У товара 20 атрибутов, - суммарно выходит порядка 10М значений атрибутов (которые надо считать на-лету). 

Весь каталог работает через промежуточную прокладку в виде Sphinx-демона. 

Файлы индекса сфинкса лежат в RAM диске в оперативной памяти.
(выборка товаров в категории, подсчет количества значений атрибутов в фильтре, все все все, что можно крутится на сфинксе)

После партицирования индекса на 8 частей и перенастройки конфигурации демона для использования всех 8 ядер процессора, удалось снизить время реакции фильтра с 5 до 1-1.2сек.
Среднее время генерации страниц в районе 600мс. При переходе на php7.2 - будет порядка 400-450.
Владелец магазина возмущается, ему не достаточно скорости.

Подскажите, что можно сделать для ускорения магазина?

Link to post
Share on other sites

сколько стоит чтобы так же тормозило ?:-D

Link to post
Share on other sites

6 минут назад, PoliteX сказал:

сколько стоит чтобы так же тормозило ?:-D

 

Бесценно. Леонардо, я думаю тоже цену на Мона-Лизу сложить не мог.

Но реально тупит же, а у меня уже фантазия закончилась что можно еще сделать.

Link to post
Share on other sites

отключить подсчет товаров в категории :D

 

  • +1 1
Link to post
Share on other sites

Очень смешно!! Ага. 
Я только что сам перечитал, что написал, звучит как жесткий троллинг, однозначно. 
Но это не троллинг. 

С момента написания поста, мне пришли в голову еще кое-какие мысли, которые мы когда-то обсуждали с маэстро @SooR, можно ведь подсчет значений атрибутов делать не по текстовому полю, а по crc32 хешу. И теоретически это может дать прирост на какие-то 20-30%. 

Также в целом можно отказаться от JSON-атрибутов в индексе и преобразовать все в MVA.
Но мало ли, может кто сталкивался с подобным и есть еще какие умные мысли, как ускорить подсчет по 10 миллионам значений атрибутов.

Link to post
Share on other sites

а что за категории такие, по 470к? (если не секрет)

 

Цитата

Владелец магазина возмущается, ему не достаточно скорости.

Скорости работы фильтра или сайта?

Edited by n3bo
Link to post
Share on other sites

@Yoda , а лучше все на сфинкс перебросить.

А, так уже на сфинксе.

Тогда сделать под фильтр слейв базку.

UPD. Или поэкспериментировать с выгрузкой всех индексов фильтров в память, например, в tmpfs

Ёапта, и это сделали

Link to post
Share on other sites
9 минут назад, n3bo сказал:

а что за категории такие, по 470к? (если не секрет)

 

Скорости работы фильтра или сайта?

 

Про категории - владелец сам расскажет, если захочет. 
Скорость работы как сайта так и фильтра. 

Так как в магазин скорее всего приедет еще столько же товаров,  владелец опасается подобных писем счастья:

 

 

yaya.jpg

Link to post
Share on other sites

17 минут назад, n3bo сказал:

а что за категории такие, по 470к? (если не секрет)

 

Да даже шины/диски/обои.. много примеров

Link to post
Share on other sites
4 минуты назад, SooR сказал:

@Yoda , а лучше все на сфинкс перебросить.

А, так уже на сфинксе.

Тогда сделать под фильтр слейв базку


Умрет mysql от таких вот запросов даже на на паре миллионов записей.

 SELECT COUNT(txt) as qty, attr_data.text as txt FROM main WHERE  category_id = 20 GROUP BY txt  LIMIT 100;


Так что не выход.
 

Link to post
Share on other sites

Может добавить партиций?

UPD. Sphinx третий?

Link to post
Share on other sites
3 часа назад, Yoda сказал:

Владелец магазина возмущается, ему не достаточно скорости.

Пускай аргументирует чем не устраивают <= 500ms, нужно спорить с его возмущениями, т.к. результат адекватный.

Link to post
Share on other sites
12 минут назад, SooR сказал:

Может добавить партиций?

UPD. Sphinx третий?

Третий. Партиций 8 штук добавлено по количеству ядер.

 Без партиций вот так:

 

MySQL [(none)]> SELECT COUNT(txt).............................................................;
+-------+-------------------------------------+
| qty   | txt                                 |
+-------+-------------------------------------+
| 21440 | txt1         |
| 21440 | txt2         |
| 21440 | txt3        |
| 21440 | txt3        |
| 21440 | txt4                |
| 21440 | Itxt5                 |
| 21440 | txt6              |
| 21440 | txt7         |
| 18480 | txt8         |
| 18640 | txt9         |
| 18640 | txt10         |
| 18640 | txt11        |
| 18640 | txt12         |
| 18640 | txt13         |
|  7640 | txt14      |
| 27040 | txt15         |
|  7640 | txt16        |
|  7640 | txt17        |
|  7640 | txt18         |
|  7640 | txt19        |
| 27040 | txt20         |
| 27040 | txt21         |
| 35200 | txt22        |
| 35200 | txt23         |
+-------+-------------------------------------+


24 rows in set, 1 warning (0.13 sec)

 

C партициями вот так:

 

MySQL [(none)]> SELECT COUNT(txt) ..........................................................................;
+-------+-------------------------------------+
| qty   | txt                                 |
+-------+-------------------------------------+
| 21440 | txt1         |
| 21440 | txt2         |
| 21440 | txt3        |
| 21440 | txt3        |
| 21440 | txt4                |
| 21440 | Itxt5                 |
| 21440 | txt6              |
| 21440 | txt7         |
| 18480 | txt8         |
| 18640 | txt9         |
| 18640 | txt10         |
| 18640 | txt11        |
| 18640 | txt12         |
| 18640 | txt13         |
|  7640 | txt14      |
| 27040 | txt15         |
|  7640 | txt16        |
|  7640 | txt17        |
|  7640 | txt18         |
|  7640 | txt19        |
| 27040 | txt20         |
| 27040 | txt21         |
| 35200 | txt22        |
| 35200 | txt23         |
+-------+-------------------------------------+
24 rows in set, 1 warning (0.03 sec)

 

Также при использовании партиций возникла проблема с работой QSuggest запросов - но она решилась, формированием дополнительного индекса для подсказок.


 

Link to post
Share on other sites

4 минуты назад, SooR сказал:

Пускай аргументирует чем не устраивают <= 500ms, нужно спорить с его возмущениями, т.к. результат адекватный.

500 мс - это с прогретым родным кешем мегафильтра.

При жмакании на любой параметр фильтра. Получается от 500 мс до 1.2 сек время ответа ajax запроса. 

 

Я выше уже написал, во первых магазин будет расшиться, и возможно в одну категорию будет налито еще столько же товаров. 
Во вторых достаточно конкурентная ниша и борьба идет за каждый сантиметр.

Link to post
Share on other sites

У меня несколько вариантов:

 

1. 

3 часа назад, Yoda сказал:

У товара 20 атрибутов

горизонтальная модель с динамическими колонками

2. второй серв под фильтр без панелей и прочего, только минимум пакетов

3. свой фильтр

Link to post
Share on other sites

4. Пре-кэширование всех категорий и первый уровень фильтров. По логике, последующие (2+) уровни должны отрабатывать быстрее за счет сужения выборки

Link to post
Share on other sites
3 часа назад, Yoda сказал:

При переходе на php7.2 - будет порядка 400-450.

А при переходе на 7.3 350-400

Link to post
Share on other sites
1 минуту назад, SooR сказал:

У меня несколько вариантов:

 

1. 

горизонтальная модель с динамическими колонками

2. второй серв под фильтр без панелей и прочего, только минимум пакетов

3. свой фильтр

1 - не совсем понял

2 - серв тут едва ли загружен на 20% Смысла куда-то уносить фронт и базу никакого.

3 - от Mega фильтра у нас осталась админка и механизм отображения данных. Вся модель выборки собственная. Т.е. мы просто подменили все методы Mega. 

 

Но опять же я выше писал, что скорее всего приведение значений атрибутов к виду crc32(txt) и отказ от использования json модели в пользу плоского multi-value атрибута с набором bigint значений, по идее должен дать некий прирост. Вопрос только в том какой. Если это будет 50% от существующих цифр - видимо стоит и заморочиться.

Link to post
Share on other sites

4 минуты назад, SooR сказал:

4. Пре-кэширование всех категорий и первый уровень фильтров. По логике, последующие (2+) уровни должны отрабатывать быстрее за счет сужения выборки

 

Вот это здравая мысль.

2 минуты назад, SooR сказал:

А при переходе на 7.3 350-400

Ioncube ...

Link to post
Share on other sites

@Yoda , делай crc32, как самый быстрый способ проверить.

 

1 минуту назад, Yoda сказал:

1 - не совсем понял

 

Не

 

product_id filter_id filter_value_id
1 1 1
1 1 2
1 2 3
1 2 4
1 3 5

 

а

 

product_id filter_id_1 filter_id_2 filter_id_3
1 [1,2] [3,4] [5]

 

условно.

 

Если нет мультиатрибутов, то еще быстрее без json

 

Link to post
Share on other sites
Только что, SooR сказал:

@Yoda , делай crc32, как самый быстрый способ проверить.

 

 

Не

 

product_id filter_id filter_value_id
1 1 1
1 1 2
1 2 3
1 2 4
1 3 5

 

а

 

product_id filter_id_1 filter_id_2 filter_id_3
1 [1,2] [3,4] [5]

 

условно.

 

Если нет мультиатрибутов, то еще быстрее без json

 

 

Условно, именно так оно и преобразовано в json-коллекции, которые сфинкс отлично отрабатывает.
Но я знаю общий алгоритм, с помощью которого к id можно нанизать коллекцию хешей и сделать выборку по плоскому набору, в целом это все не проблема. Проблема в нехватке времени на эксперименты.

 

Так что уже после НГ  заморочусь с crc32, о результатах доложу. Ну и надо посмотреть какое количество файлов мега укладывает своим кешем на одну стрницу и дальше понимать имеет ли смысл, или нет прогревать верхние значения. Можетбыть оно то и надо. Но если получим на выходе 200 * 200 файлов. То лучше уже без кеша. Либо опять садиться вскрывать мегу и перевешивать ее кеш в Redis.

 

Link to post
Share on other sites

Если сильно заморочиться, можно использовать метод перерасчета пар Кантора для исключения дополнительного поиска по attribute_id, преобразовав два id в один:

attribute_id && crc32(text) => [какой-то один id]

 

Link to post
Share on other sites
29 минут назад, SooR сказал:

Если сильно заморочиться, можно использовать метод перерасчета пар Кантора для исключения дополнительного поиска по attribute_id, преобразовав два id в один:


attribute_id && crc32(text) => [какой-то один id]

 

Не знаю кого) Я приблизительно о такой модели говорил в предудыщем ответе, ну и туда уже до кучи можно и group_id вставить и получим product_id => MVA{hash1, hash2, hash3....} Которые достаточно просто уже сгруппировать и рассчитать.

Link to post
Share on other sites

если у товара 20 атрибутов - все ли они нужны для сортировки фильтром? Если нет - или убрать как таковые эти атрибуты  из стандартных атрибутов, или вынести их (ненужные типы атрибутов) в отдельную таблицу и выводить только на карточке товара, как информацию. Таким образом поиск по ненужным атрибутам происходить не будет. Не зная сферу этого магазина сложно сказать, но думаю там 5-7 атрибутов по которым нужна сортировка - остальное представляет собой целую кипу данных в таблице.

 

Наверное наивный совет да?

 

Link to post
Share on other sites

11 минут назад, Guava сказал:

если у товара 20 атрибутов - все ли они нужны для сортировки фильтром? Если нет - или убрать как таковые эти атрибуты  из стандартных атрибутов, или вынести их (ненужные типы атрибутов) в отдельную таблицу и выводить только на карточке товара, как информацию. Таким образом поиск по ненужным атрибутам происходить не будет. Не зная сферу этого магазина сложно сказать, но думаю там 5-7 атрибутов по которым нужна сортировка - остальное представляет собой целую кипу данных в таблице.

 

Наверное наивный совет да?

 

 В данном случае 20 это минимальный набор. Не забывайте товаров же пол ляма. По ним как-то да надо ориентироваться. А оставить пять атрибутов. Это считайте что фильтра и нет.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Similar Content

    • By toporchillo
      Модуль формирует YML-файл для экспорта каталога товаров на такие площадки как Яндекс.Маркет, torg.mail.ru, prom.ua, price.ru, poisk-podbor.ru, hotprice.ua, nadavi.net, vcene.ua, prom.ua и многие другие
      Совместим с версиями OpenCart (ocStore, МахiStore) 1.4.x, 1.5.x.
      Версия для OpenCart 2 доступна здесь
      Как быть, если вдруг что-то не работает: Читать FAQ - Частые вопросы
      Не надо сразу создавать задачу в CRONе, не надо сразу отдавать ссылку на YML Яндексу
      1. Откройте ссылку на YML в браузере, щелкните правой кнопкой мышкой, выберете "исходный код".
      2. Вы увидите то, что сформировал скрипт. Возможно там будут сообщения об ошибках PHP. Текст ошибки прекрасно ищется в Гугле или в теме поддержки.
      3. Если вы не можете самостоятельно разобраться с ошибкой, то пришлите ссылку на экспорт. Сообщения без ссылки будут игнорироваться!
      4. Мне не достаточно прислать только результат работы Яндекс-валидатора.
       
      Отличия от стандартного модуля:
      Демо: экспорт (YML), админка (login: demo, пароль: demo)
      Скрипт export/yandex_yml.php предназначен для запуска по планировщику. Его запускать через SSH. Он сформирует файл экспорта export/yandex_yml.xml, который и нужно отдавать Яндексу.
      Не забудьте дать папке export права на запись 777.
      Такой способ экспорта предпочтительнее, чем по прямой ссылке /index.php?route=feed/yandex_yml
      Пример настройки запуска скрипта по расписанию для хостинга jino.ru
      1. Читаем общее описание запуска скриптов по расписанию http://www.jino.ru/support/faq/cron/
      2. В командной строке запуска скрипта пусть к PHP должен быть полный. Для хостинга jino.ru путь такой:
      3. У меня для запуска скрипта вот такая командная строка:
      /usr/local/bin/php-cli ~/domains/toporchillo.jino.ru/ocstore/export/yandex_yml.php   Возможные проблемы и их решение.
      1. XML-экспорт открылся быстро, но он пустой
      Убедитесь, что статус модуля в его настройках "Включен", убедитесь, что вы выбрали хотя бы одну категорию с товарами для экспорта
      2. XML-экспорт долго открывается, но он пустой, либо ошибка:
      Maximum execution time of 30 seconds exceeded   У вас так много товаров, что скрипт не успевает сформировать экспорт за отведенное время. Формируйте экспорт через SHELL
      3. Данные в форме настройки модуля сохраняются не полностью.
      Увеличте ваш параметр max_input_vars в настройках PHP
      4. В форме настройки модуля пустой список валют
      Проверьте ваши валюты. Их коды должны быть ISO-кодами.: RUB, UAH,...
      5. Что такое SHELL?
      Вы конечно знаете, что такое командная строка. В UNIX-системах она называется SHELL. Также существует протокол SSH, который позволяет запускать команды в командной строке (SHELL) удаленного сервера. Для доступа по протоколу SSH можно например использовать программу PuTTY
      Интерпретатор PHP тоже можно запускать из командной строки. В качестве параметра надо передать файл с PHP-скриптом, который должен выполнить интерпретатор. В данном случает надо запускать команду:
      полный_путь/php полный_путь/yandex_yml.php
      Интерпретатор PHP запустит PHP-скрипт, который в свою очередь создаст XML-файл экспорта.
      Кроме того, в UNIX-системах существует планировщик задач, который называется CRON. Он позволяет запускать команды SHELL по расписанию. В нашем случае нужно запускать команду:
      полный_путь/php полный_путь/yandex_yml.php
      На многих хостингах управление планировщиком сделано через веб-интерфейс. Надо лишь вписать команду и указать периодичность запуска, доступ через SSH при этом не требуется.
      Иногда Яндекс требует, чтобы при переходе по ссылке из Маркета, у товара были сразу выбраны опции. Поэтому модуль формирует ссылку на товар с хэш-кодами (#12-13). Если внедрить на страницу товара вот этот Javascript:
      <script type="text/javascript"><!-- $(document).ready(function() { var hash = window.location.hash; if (hash) { var hashpart = hash.split('#'); var vals = hashpart[1].split('-'); for (i=0; i<vals.length; i++) { $('#product').find('select option[value="'+vals[i]+'"]').parent().find('option').removeAttr('selected'); $('#product').find('select option[value="'+vals[i]+'"]').attr('selected', true).parent().trigger('change'); $('#product').find('input[type="radio"][value="'+vals[i]+'"]').attr('checked', true).trigger('click'); $('#product').find('input[type="checkbox"][value="'+vals[i]+'"]').attr('checked', true).trigger('click'); } } }) //--></script>   , то при переходе по ссылке будут выбраны сразу нужные опции. Может не работать для нестандартной темы.
      Демо: http://toporchillo.myjino.ru/ocstore/index.php?route=product/product&path=20&product_id=35#18#21


    • By toporchillo
      800
      Скачать/Купить дополнение


      YML экспорт в Яндекс.Маркет, Yandex.Turbo, Prom.ua, Aliexpress.com... для OpenCart 1.5.x

      Модуль формирует YML-файл для экспорта каталога товаров на такие площадки как Яндекс.Маркет, torg.mail.ru, prom.ua, price.ru, poisk-podbor.ru, hotprice.ua, nadavi.net, vcene.ua, prom.ua и многие другие
      Совместим с версиями OpenCart (ocStore, МахiStore) 1.4.x, 1.5.x.
      Версия для OpenCart 2 доступна здесь
      Как быть, если вдруг что-то не работает: Читать FAQ - Частые вопросы
      Не надо сразу создавать задачу в CRONе, не надо сразу отдавать ссылку на YML Яндексу
      1. Откройте ссылку на YML в браузере, щелкните правой кнопкой мышкой, выберете "исходный код".
      2. Вы увидите то, что сформировал скрипт. Возможно там будут сообщения об ошибках PHP. Текст ошибки прекрасно ищется в Гугле или в теме поддержки.
      3. Если вы не можете самостоятельно разобраться с ошибкой, то пришлите ссылку на экспорт. Сообщения без ссылки будут игнорироваться!
      4. Мне не достаточно прислать только результат работы Яндекс-валидатора.
       
      Отличия от стандартного модуля:
      Демо: экспорт (YML), админка (login: demo, пароль: demo)
      Скрипт export/yandex_yml.php предназначен для запуска по планировщику. Его запускать через SSH. Он сформирует файл экспорта export/yandex_yml.xml, который и нужно отдавать Яндексу.
      Не забудьте дать папке export права на запись 777.
      Такой способ экспорта предпочтительнее, чем по прямой ссылке /index.php?route=feed/yandex_yml
      Пример настройки запуска скрипта по расписанию для хостинга jino.ru
      1. Читаем общее описание запуска скриптов по расписанию http://www.jino.ru/support/faq/cron/
      2. В командной строке запуска скрипта пусть к PHP должен быть полный. Для хостинга jino.ru путь такой:
      3. У меня для запуска скрипта вот такая командная строка:
      /usr/local/bin/php-cli ~/domains/toporchillo.jino.ru/ocstore/export/yandex_yml.php   Возможные проблемы и их решение.
      1. XML-экспорт открылся быстро, но он пустой
      Убедитесь, что статус модуля в его настройках "Включен", убедитесь, что вы выбрали хотя бы одну категорию с товарами для экспорта
      2. XML-экспорт долго открывается, но он пустой, либо ошибка:
      Maximum execution time of 30 seconds exceeded   У вас так много товаров, что скрипт не успевает сформировать экспорт за отведенное время. Формируйте экспорт через SHELL
      3. Данные в форме настройки модуля сохраняются не полностью.
      Увеличте ваш параметр max_input_vars в настройках PHP
      4. В форме настройки модуля пустой список валют
      Проверьте ваши валюты. Их коды должны быть ISO-кодами.: RUB, UAH,...
      5. Что такое SHELL?
      Вы конечно знаете, что такое командная строка. В UNIX-системах она называется SHELL. Также существует протокол SSH, который позволяет запускать команды в командной строке (SHELL) удаленного сервера. Для доступа по протоколу SSH можно например использовать программу PuTTY
      Интерпретатор PHP тоже можно запускать из командной строки. В качестве параметра надо передать файл с PHP-скриптом, который должен выполнить интерпретатор. В данном случает надо запускать команду:
      полный_путь/php полный_путь/yandex_yml.php
      Интерпретатор PHP запустит PHP-скрипт, который в свою очередь создаст XML-файл экспорта.
      Кроме того, в UNIX-системах существует планировщик задач, который называется CRON. Он позволяет запускать команды SHELL по расписанию. В нашем случае нужно запускать команду:
      полный_путь/php полный_путь/yandex_yml.php
      На многих хостингах управление планировщиком сделано через веб-интерфейс. Надо лишь вписать команду и указать периодичность запуска, доступ через SSH при этом не требуется.
      Иногда Яндекс требует, чтобы при переходе по ссылке из Маркета, у товара были сразу выбраны опции. Поэтому модуль формирует ссылку на товар с хэш-кодами (#12-13). Если внедрить на страницу товара вот этот Javascript:
      <script type="text/javascript"><!-- $(document).ready(function() { var hash = window.location.hash; if (hash) { var hashpart = hash.split('#'); var vals = hashpart[1].split('-'); for (i=0; i<vals.length; i++) { $('#product').find('select option[value="'+vals[i]+'"]').parent().find('option').removeAttr('selected'); $('#product').find('select option[value="'+vals[i]+'"]').attr('selected', true).parent().trigger('change'); $('#product').find('input[type="radio"][value="'+vals[i]+'"]').attr('checked', true).trigger('click'); $('#product').find('input[type="checkbox"][value="'+vals[i]+'"]').attr('checked', true).trigger('click'); } } }) //--></script>   , то при переходе по ссылке будут выбраны сразу нужные опции. Может не работать для нестандартной темы.
      Демо: http://toporchillo.myjino.ru/ocstore/index.php?route=product/product&path=20&product_id=35#18#21

      Добавил toporchillo Добавлено 25.10.2012 Категория Обмен данными Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop OcShop 1.5.6.4.х Обращение к серверу разработчика Нет  
    • By Sha
      1999
      Доступ к обновлениям: 100.00 руб за 1 месяц
      Скачать/Купить дополнение


      Route debug board - системный аудит сайта, помощник в оптимизации сайта!
      Инструмент поможет провести системный анализ opencart страниц и расширений сайта!
       
      Модуль имеет два основных направления:
       
      1) Для пользователей:
         - Анализ модулей, расширений, дополнений сайта основываясь на архитектуре OpenCart
         - Построение наглядного timeline графика, с сортировкой по желаемому параметру
         это даст возможность выявить "узкие места" и предпринять меры по оптимизации сайта более точечно и направлено.

       
       
      DEMO
      логин: demo, пароль: demo
       
       
      2) Для разработчиков:
        - возможности описанные выше, плюс
        - построение расширенной таблицы структурированной по маршрутам, очерёдности или скорости выполнения,
        - время отработки model/view/controller каждого route, любой страницы сайта, с возможностью сортировки для сравнения,
        - простой debuger данных $data передаваемых в view каждого route. (экспериментально)

       


       
       
       
      Обратите внимание! Модуль является инструментом помогающим в работе с cms opencart/ocstore,
      и не является автоматическим бустером, компрессором, кешером и т.д. 
       
      используемые технологии:
      bootstrap.js, vue.js, opencart events.  
      Внимание: тип лицензии - доменов неограниченно!
      Сроки техподдержки и бесплатных обновлений указаны в "условия продления" по окончании данного срока более ни каких ограничений не накладывается, модуль продолжает работать как и работал!
      Модуль имеет открытый исходный код, ни каких привязок к серверам, закодированных файлов ionCube и тому подобное в модуле нет!
      Добавил Sha Добавлено 25.04.2020 Категория Инструменты, утилиты Системные требования php 5.4 и выше Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop Не проверялось Обращение к серверу разработчика Нет  
    • By Sha
      Инструмент поможет провести системный анализ opencart страниц и расширений сайта!
       
      Модуль имеет два основных направления:
       
      1) Для пользователей:
         - Анализ модулей, расширений, дополнений сайта основываясь на архитектуре OpenCart
         - Построение наглядного timeline графика, с сортировкой по желаемому параметру
         это даст возможность выявить "узкие места" и предпринять меры по оптимизации сайта более точечно и направлено.

       
       
      DEMO
      логин: demo, пароль: demo
       
       
      2) Для разработчиков:
        - возможности описанные выше, плюс
        - построение расширенной таблицы структурированной по маршрутам, очерёдности или скорости выполнения,
        - время отработки model/view/controller каждого route, любой страницы сайта, с возможностью сортировки для сравнения,
        - простой debuger данных $data передаваемых в view каждого route. (экспериментально)

       


       
       
       
      Обратите внимание! Модуль является инструментом помогающим в работе с cms opencart/ocstore,
      и не является автоматическим бустером, компрессором, кешером и т.д. 
       
      используемые технологии:
      bootstrap.js, vue.js, opencart events.  
      Внимание: тип лицензии - доменов неограниченно!
      Сроки техподдержки и бесплатных обновлений указаны в "условия продления" по окончании данного срока более ни каких ограничений не накладывается, модуль продолжает работать как и работал!
      Модуль имеет открытый исходный код, ни каких привязок к серверам, закодированных файлов ionCube и тому подобное в модуле нет!
    • By ArtemFam
      750 10
      Скачать/Купить дополнение


      Яндекс.Турбо
      Модуль для отображения лёгких версий страниц товаров в формате Турбо-страниц Яндекс.
      Поддерживаются все версии ocStore и OpenCart.
       
      Модуль формирует файл YML. Элементы, входящие в offer, в произвольном типе.
      Поддерживается добавление товаров в корзину (товаров которым не нужно указывать обязательные параметры).
       
      На загрузку таких страниц уходит примерно в 15 раз меньше времени, чем на загрузку оригиналов. Скорость обеспечивается применением вёрстки, оптимизированной для мобильных, а также сетевой инфраструктурой Яндекса: данные, из которых собираются Турбо-страницы, хранятся на серверах компании. В результатах поиска, Новостях, Дзене и других сервисах Яндекса они помечаются специальными значками с ракетой.
       
      Подробнее о турбо-страницах https://tech.yandex.ru/turbo/
       
      Установка:
      1. Распаковать содержимое архива в корневую директорию сайта.
      2. Включить расширение через админку сайта в разделе "Дополнения" => "Каналы продвижения".
       
      Ссылка вида http://host/?route=extension/feed/yandex_turbo генерирует файл в корне сайта /yandex_turbo.xml. Для того чтобы при генерации результат выводился на экран, в настройках модуля нужно поставить галочку - Выводить результат на экран. Всё это сделано, чтобы можно было поставить генерацию файла yandex_turbo.xml в планировщик задач и уже ссылку на yandex_turbo.xml добавить в вэбмастер яндекса, т.к если добавить в вэбмастер ссылку на генерацию http://host/?route=extension/feed/yandex_turbo то постоянные запросы к ней могут сильно грузить хостинг.
       
      По любым вопросам, в том числе и до покупки модуля, обращайтесь в личку или по контактам указанным в моём профиле. Всегда на связи.
       
      При большом количестве товаров модуль требует длительного времени выполнения. Поэтому на хостинге должна быть возможность увеличения времени исполнения скриптов php (max_execution_time).
      Добавил ArtemFam Добавлено 18.11.2018 Категория SEO, карта сайта, оптимизация Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 3.0
      2.3.0.2.4
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х Обращение к серверу разработчика Нет  
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.