kikabidze 0 Опубликовано 11 ноября, 2012 Жалоба Share Опубликовано 11 ноября, 2012 Ищу оптимальный вариант импорта базы, в базе магазина более 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 - не помогает Помогите найти оптимальный вариант импорта базы, благодарю Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 12 ноября, 2012 Жалоба Share Опубликовано 12 ноября, 2012 В php.ini Но для такого количества товара не подойдёт ни один из движков магазинов и ни один из стандартных модулей импорта. Под такое количество товара нужно свой код писать. Ссылка на сообщение Поделиться на другие сайты
kikabidze 0 Опубликовано 12 ноября, 2012 Автор Жалоба Share Опубликовано 12 ноября, 2012 А в чем сложность, можете объяснить? Вы пишете такие модули импорта-экспорта? Здесь лежит php.ini http://www.sendspace.com/file/k4f3hf Подскажите, пожалуйста, что менять? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 12 ноября, 2012 Жалоба Share Опубликовано 12 ноября, 2012 Сложность в количестве. Стандартный импорт пишет данные в кучу таблиц сразу, в кучу колонок и если ему такое количество грузить данных, то он просто поперхнётся. Под такое количество товаров обычно пишут либо свои быстрые скрипты импорта, максимально лишенные всего лишнего, что могло бы тормозить. Либо делают связки магазина с другими системами, откуда берутся все данные, например с тем же 1с. Ни один скрипт импорт ни в одном движке "из коробки" вряд ли подойдёт под такое количество товаров, imho, да и нужно думать будет как посетитель будет ориентироваться в таком количестве товара. Ссылка на сообщение Поделиться на другие сайты
kikabidze 0 Опубликовано 20 ноября, 2012 Автор Жалоба Share Опубликовано 20 ноября, 2012 Пробовал заливать базу 75 тысяч единиц товара. Разбил базу на файлы по 5 тысяч и стал заливать. В результате, первые пять тысяч пошли, как дети в школу, очень быстро, далее время заливки стало увеличиваться и к 45 тысячам, серверу не хватало времени на обработку скрипта, заливка обрывалась. Скажите, пожалуйста, почему серверу не хватает времени на обработку скрипта? насколько я понял скрипт проверяет наличие товара в базе и соответственно делает пометку "Товар добавлен" или "Товар обновлен", соответсвенно с увеличением товара, увеличивается время на обработку базы. Как оптимизировать скрипт, какие строки удалить или добавить, чтобы не происходила данная проверка, пусть скрипт только заливает товары Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 20 ноября, 2012 Жалоба Share Опубликовано 20 ноября, 2012 Удалять нужно все лишние sql запросы в /admin/easypopulate.php т.к. по умолчанию очень много таблиц затрагивается при загрузке товаров. Если их очень много - нагрузка на MySQL получается большая, нужно упрощать импорт, что б грузились только основные данные товара, но быстро. Ссылка на сообщение Поделиться на другие сайты
kikabidze 0 Опубликовано 20 ноября, 2012 Автор Жалоба Share Опубликовано 20 ноября, 2012 Файл easypopulate.php условно разделен на несколько разделов могли бы вы уточнить в каких разделах править? Или если не сложно выложить правленый(упрощенный) easypopulate.php ? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 20 ноября, 2012 Жалоба Share Опубликовано 20 ноября, 2012 Так у меня нет готового файла, нужно садиться и разбираться. Ссылка на сообщение Поделиться на другие сайты
kikabidze 0 Опубликовано 20 ноября, 2012 Автор Жалоба Share Опубликовано 20 ноября, 2012 ok. можете подсказать в каком разделе файла править код? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 20 ноября, 2012 Жалоба Share Опубликовано 20 ноября, 2012 Данные в таблицы вставляются через insert ... Так что, видимо, начинать искать код по insert и убирать всё лишнее. Ссылка на сообщение Поделиться на другие сайты
YuraS 4 Опубликовано 20 ноября, 2012 Жалоба Share Опубликовано 20 ноября, 2012 возможно, на сервере дело пойдет быстрее, так как на никсах ресурсов больше выделено под именно такие задачи. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения