• avatar radak
  • 0
Отправил запрос в скайп
Здравствуйте, уважаемые пользователи.

Для всех KVM VDS серверов в Москве и Европе добавлено бесплатное место для создания резервных копий (бэкапов) hostiman.ru/ssd-vps-vds

RuVDS1: 3800 MHz / 1 Gb DDR4 / 20 Gb NVMe SSD / Бэкап 20 gb SATA HDD — 350 руб/мес
RuVDS2: 2x3800 MHz / 2 Gb DDR4 / 40 Gb NVMe SSD / Бэкап 40 gb SATA HDD- 700 руб/мес
RuVDS3: 3x3800 MHz / 4 Gb DDR4 / 60 Gb NVMe SSD / Бэкап 60 gb SATA HDD — 1200 руб/мес
RuVDS4: 4x3800 MHz / 6 Gb DDR4 / 80 Gb NVMe SSD / Бэкап 80 gb SATA HDD — 1600 руб/мес

Напоминаем, что абсолютно бесплатно ко всем тарифам предлагается:

— неограниченный трафик
— панель управления Vesta или ISPmanager
— NVMe SSD диски до 3500 мб/с
— 14-дневный тестовый период
— перенос сайтов
— установка собственной лицензии Windows.

С уважением, ваш хостинг-провайдер HostiMan.
  • avatar Redduck
  • 0
На практике у меня максимальное количество 45к товаров, у каждого 10 TV параметров. (Похвастался немного). Конечно 1000 мс это очень много, но я хотел сказать что сортировка будет очень быстрой. Если у нас меню из 20 пунктов то вовсе необязательно делать 20 запросов к базе данных. (Кстати я говорил о 10к родителях, то конечно 10к запросов не уложится в приемлемое время, на медленном хостинге) Безусловно всё зависит от конкретной ситуации. В данной задаче (как я её понял) выборку и сортировку можно провести одним запросом.
Несомненно, но вы действительно занимаетесь на практике такими вещами?
1 секунда это ОООчень много, это 1000 мс.
Представим что у нас меню из 20 пунктов. Для каждого надо посчитать количество дочерних.
Это 20 запросов к базе. Это + 200-300 мс на обычном хостинге.
С учётом того что запросов к базе всего(!) я стараюсь не делать больше 15-20 на страницу, а генерация должна бы укладываться в 500 мс, то это чёто много.
То-есть даже по генерации мы прибавляем +50% нагрузки на пустом месте. Прикинем посещалку всего лишь 3-5 К и пятоктаких вот вещей выталкивает нас на collocation
  • avatar Redduck
  • 0
Так, для сервера базы данных 8-10k это даже не нагрузка. Даже если у клиента 10к родителей и в каждом по 100к дочерних документов сортировка ORDER BY COUNT(`c`.`*`) ASC пройдет за секунду.
  • avatar webber
  • 1
Я бы тоже плагином сохранял количество дочерних в отдельный тв и не парился
Вопрос в количестве. Представьте себе магазин на 8-10К позиций и всё)
  • avatar Redduck
  • 0
Конечно можно написать монстр запрос к базе данных который базу нагрузит. Но в данном конкретном случаи это легковесный запрос не напрягающий базу. Да если вывод в Doclister то можно использовать &orderBy.
  • avatar tmih
  • 1
Здравствуйте!
Пусть не ругают меня програмеры :-)
Можно в эту сторону посмотреть, чтобы на странице выводить таблицу, и уже сортировать — вот tablesorter.ru/docs/
  • avatar webber
  • 1
Как вариант, смотрим как сделан экстендер jotcount и делаем также, только для подсчета дочерних :)
Вопрос нагрузки. Если быстро и на коленке, делаем сниппет, который выбирает нужные id в нужном порядке и скармливаем DocLister documents=`` с указанием параметра sortType=`doclist`
Но в первом случае (с плагином) нагрузка будет сильно меньше. Нет необходимости перестраивать индекс каждый раз.
  • avatar Redduck
  • 0
А не лучше сделать выборку с помощью DBAPI?
Текущая версия кода несовместима с версией API, поэтому он пока снят продажи, пока не найдется время переписать код на новый лад. Так же, отдельно отмечу, раз вы пишите на сайте посвящанном Evolution CMS, данный модуль был (и скорее всего будет) совместим ТОЛЬКО с MODX Revolution в связке с miniShop2.
Вешаем на OnDocFormSave мини плагин который берёт выборку из нужной категории и считает дочерние через getAllChildren. Результат пишем в любое поле, лучше из site_content типа того-же menu_index. Сортируем доклистером по этому полю.
  • avatar Dreamer
  • 0
Можно в prepare вызвать getParentIds.
Вытащить из конфигурации parent, из предыдущего результата вычесть ненужное.
Длина оставшегося массива и будет вложенностью. Ее и вывести в шаблоне.
Если дадите мне полную копию сайта — я разверну ее на своем сервере и отпишусь о результатах.
  • avatar Dmi3yy
  • 0
Я такое ловил 1 раз и проблема была с сервером. Если б проблема была в Ево я бы написал что сделать
  • avatar Redduck
  • 0
Мне кажется —
попробуйте на другой хостинг переехать
не должно быть универсальным ответом.
  • avatar Dmi3yy
  • 0
Было такое когда то проблема на сервере попробуйте на другой хостинг переехать
  • avatar webzic
  • 0
Может хостинг мудрит.