Перейти к содержанию
Форум поддержки пользователей VamShop

Как импортировать очень много товаров


Рекомендуемые сообщения

Ищу оптимальный вариант импорта базы, в базе магазина более 100 тыс наименований товаров. На данный момент работаю с локальным сервером, хочу сделать базу mysql и потом скриптом залить её на сервер.

Через Excel импорт/экспорт заливаю базу, пробовал файлы разных размеров от 4Мб до 25Мб, каждый раз импорт заврешается через 900 сек, в результате импортировано 2500 позиций(эта цифра с каждой следующей загрузкой становится меньше!!!) и Fatal error: Maximum execution time of 900 seconds exceeded in Z:\home\localhost\www\vamshop\inc\vam_db_query.inc.php on line 35

Где менять эти 900 секунд? Перенастроил php.ini - не помогает

Помогите найти оптимальный вариант импорта базы, благодарю

Ссылка на сообщение
Поделиться на другие сайты

В php.ini

Но для такого количества товара не подойдёт ни один из движков магазинов и ни один из стандартных модулей импорта.

Под такое количество товара нужно свой код писать.

Ссылка на сообщение
Поделиться на другие сайты

А в чем сложность, можете объяснить?

Вы пишете такие модули импорта-экспорта?

Здесь лежит php.ini http://www.sendspace.com/file/k4f3hf

Подскажите, пожалуйста, что менять?

Ссылка на сообщение
Поделиться на другие сайты

Сложность в количестве.

Стандартный импорт пишет данные в кучу таблиц сразу, в кучу колонок и если ему такое количество грузить данных, то он просто поперхнётся.

Под такое количество товаров обычно пишут либо свои быстрые скрипты импорта, максимально лишенные всего лишнего, что могло бы тормозить.

Либо делают связки магазина с другими системами, откуда берутся все данные, например с тем же 1с.

Ни один скрипт импорт ни в одном движке "из коробки" вряд ли подойдёт под такое количество товаров, imho, да и нужно думать будет как посетитель будет ориентироваться в таком количестве товара.

Ссылка на сообщение
Поделиться на другие сайты

Пробовал заливать базу 75 тысяч единиц товара. Разбил базу на файлы по 5 тысяч и стал заливать. В результате, первые пять тысяч пошли, как дети в школу, очень быстро, далее время заливки стало увеличиваться и к 45 тысячам, серверу не хватало времени на обработку скрипта, заливка обрывалась.

Скажите, пожалуйста, почему серверу не хватает времени на обработку скрипта?

насколько я понял скрипт проверяет наличие товара в базе и соответственно делает пометку "Товар добавлен" или "Товар обновлен", соответсвенно с увеличением товара, увеличивается время на обработку базы.

Как оптимизировать скрипт, какие строки удалить или добавить, чтобы не происходила данная проверка, пусть скрипт только заливает товары

Ссылка на сообщение
Поделиться на другие сайты

Удалять нужно все лишние sql запросы в /admin/easypopulate.php

т.к. по умолчанию очень много таблиц затрагивается при загрузке товаров.

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

Ссылка на сообщение
Поделиться на другие сайты

Файл easypopulate.php условно разделен на несколько разделов могли бы вы уточнить в каких разделах править?

Или если не сложно выложить правленый(упрощенный) easypopulate.php ?

Ссылка на сообщение
Поделиться на другие сайты

Данные в таблицы вставляются через insert ...

Так что, видимо, начинать искать код по insert и убирать всё лишнее.

Ссылка на сообщение
Поделиться на другие сайты

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

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...