Автор Тема: 1.200.000 товаров  (Прочитано 654 раз)

08 Сентябрь 2017, 14:48:20
  • Фрилансер
  • *
  • Сообщений: 194
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Решил попробовать сделать сайт на престе . Ожидается 1.200.000 товаров ( только Имя, Артикул , Короткое описасние и Цена ). Картинок нет.

Загрузил уже 500.000

Грузил сначала через Total Import Pro . Сейчас уже очень медленно грузит. 100 товаров за 2 минуты. В начале было 100 товаров за 10 секунд.
Сейчас буду через Store Manager грузить.

В базе выросла таблицы  -

ps_search_index до 5.280.000 строк .    320 мб
ps_stock_available  473,000
ps_product_lang 1.300,000

Total Import индексирует все товары. Вот я думаю, что это очень тормозит загрузку. Проиндесировать можно и потом.
Можно ли полностью очистить ps_search_index ?

ps_stock_available  - учета количества нет, но эта база упорно пополняеться. Посмотрел её и лучше ее не трогать или можно очистить ?
Store manager 200.000 товаров заносит за пол часа и потом обновляет эту ненужную таблицу часов 6.

ps_product_lang - на сайте 1 язык, тут 2.  Удалил второй язык и там предупреждают, что мол удаляться все записи этого языка. А вот и нет. Записи так и остались. Можно сократить в 2 раза удалив ненужный язык.


Сейчас сайт на Fozzy хостинге. Поиск занимает 5-6 секунд и памяти жрет при этом около 300-400 мб. Когда будет миллион тогда наверно будет секунд 20 искать ... Пробовал разные VPS и c mysql 5.7 - так там еще дольше по 10-15 секунд ищет.
Мои личный хостинг ищет 1 секунду ... но он эстонский и поддержка там эстонская , а клиент русский и туда не подсадить.

Сейчас Php 7 + mysql 5.6  . Litespeed.

Как ускорить еще поиск ?

Memcached использовать ?
Реально ли использовать несколько удаленных баз с других серверов ? чтобы разделить поиск .
В разделе производительность всё поодключал.
Smarty кэш и Mysql кэш тоже отключил . Запросов различных очень много и они будут редко повторяться. Или лучше включить ?
Разницы по скорости никакой.


08 Сентябрь 2017, 16:56:12
Ответ #1
  • Старожил
  • ****
  • Сообщений: 357
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если проблема именно с поиском товара, то попробуйте прикрутить яндекс поиск к сайту. И хоть у меня товара в разы меньше, но делаю импорт через админку престашоп и там индексирование товара делаю.
08 Сентябрь 2017, 18:27:08
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 1614
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
ps_search_index можно очищать, но она будет постояно наполнятся.
Для 1.200.000 товаров нужен выделенный сервер. Не всякий vps справится с такой нагрузкой.
Залить товары сможете, а когда пойдут посетители будут тормоза.
Я пробывал нагружать движок, уже при 300000-400000 товаров vps Nginx, PHP7, MariaDB, KVM, 2 ядра 2,4 GHz, 8 Гб RAM не справлялся, посетителей порядка 600-800 ч/с.
08 Сентябрь 2017, 18:33:40
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
1 200 000 товаров однозначно выделенный сервер.
Грузить такое количество товаров через вебсервис.
И вообще при таком количестве облегченную админку ставят.