Всем привет. Пытаюсь импортировать в битрикс xml файл размером 100мб. За 12 часов, во временные таблицы загрузилось только 38%. Служба поддержки сказала оптимизировать mysql. На хостинге 4гб памяти. Из них сейчас используется 3.1 (free -m). Файл my.concf: Код (Text): [client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] innodb_file_per_table=1 user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc-messages-dir = /usr/share/mysql skip-external-locking open_files_limit = 100000 key_buffer = 16M max_allowed_packet = 16M thread_stack = 192K thread_cache_size = 8 myisam-recover = BACKUP query_cache_limit = 1M query_cache_size = 16M expire_logs_days = 10 max_binlog_size = 100M [mysqldump] quick quote-names max_allowed_packet = 16M [mysql] [isamchk] key_buffer = 16M !includedir /etc/mysql/conf.d/ Можно хоть как нибудь увеличить производительность или только переезд на другой хостинг решит эту проблему?(очень не желательно)
имхо проблема не мускле.. а именно в битриксе)))) всем известно наскока он прожорлив 100 мб ... фигня для базы напиши импорт вручную )
Возможно и можно, но эту нужно смотреть и анализировать, что и как происходит на протяжении всего процесса. Что за xml, насколько там много записей, насколько много "усилий" требуется на загрузку 1-ой записи? Какая структура временных таблиц и т.д.?
в xml файле 15 тысяч товаров с характеристиками. Импортировал 300 товаров, заняло по времени минут 20
Может имеет смысл отредактировать файл my.cnf увеличив например query_cache_size ? Опыта с настройкой mysql нет, но прочитал, что если завысить настройки, то mysql будет перезапускатся во время работы
@ghosttim напиши скрипт, для импорта данных из своего xml файла. Причем тут mysql ? 20 минут может заливаться дамп на 20-40 гигов. А у тебя 100 мегабайт, алло. Если не можешь - иди в подфорум "Сделайте за меня", если не хочешь иди в тех. поддержку битрикса и насилуй их.
флюгегехайменом битриксить по тех поддержке - тоже самое что головой об яйца --- Добавлено --- а так действительно как выше описали, отдельный скрипт запили и не будет гемора на пятой точке
да тоже самое что и тут только с кириллицей https://github.com/MouseZver/My-garbage-code/blob/master/2013/twwk.ts6.ru/designer.lib.php
Я думаю, что у битрикса скорее всего EAV-модель товаров, поэтому для каждого товара надо выполнить целую серию insert-ов.
Я думаю, что у битрикса скорее всего... *кашляет* простите Я думаю, что у битрикса... *сильно кашляет, какое-то время не может остановиться* ...у битрикса... *кашляет кровью, падает под стол, его выносят*
переезд не решит проблему, но может ещё немного оттянуть конец битрикса. кстати, xml импортится напрямую через LOAD XML или есть какой-то скрипт импорта? в последнем случае можно попытаться выиграть если таки применить LOAD XML в промежуточную таблицу, а затем манипулировать данными уже исключительно в базе.
Вся суть Битрикса. 1) Вместо оптимизации завысить требования. 2) Если тупит при завышенных требованиях, уповать на то, что нужно оптимизировать окружение. 3) Запилить виртуальную машину с завышенными требованиями и оптимизированным окружением, чтобы люди могли запускать их сиране поделие и не тревожить саппорт. 4) Если люди все же тревожат саппорт, сказать им, что они сами мудаки и ничего не понимают.
За то данный алгоритм помогает иметь большие бабки ) во как надо работать. А мы господа программисты тут чего то трудимся, пыхтим, поступай как кхе-кхе....и будь богат
Они богаты благодаря своим маректологам, а не программистам. Не путай... Я как вспомню, блин.. Крч, в какой-то версии эти криворукие дебилы сподобились прикрутить автолоад. Маркетологи тут же превратили это в инновационный подход, позволяющий экономить ваши ресурсы, используя только тот код, который требуется в текущий момент, бла бла бла, чуть ли не откровение господне и собственная разработка. Хотя на самом деле это "наши дегенераты наконец-то поняли, как работает автолоад".