За последние 24 часа нас посетили 7497 программистов и 683 робота. Сейчас ищут 223 программиста ...

Как увеличить производительность MySQL

Тема в разделе "MySQL", создана пользователем ghosttim, 8 сен 2017.

  1. ghosttim

    ghosttim Активный пользователь

    С нами с:
    26 мар 2014
    Сообщения:
    22
    Симпатии:
    0
    Всем привет. Пытаюсь импортировать в битрикс xml файл размером 100мб. За 12 часов, во временные таблицы загрузилось только 38%. Служба поддержки сказала оптимизировать mysql. На хостинге 4гб памяти. Из них сейчас используется 3.1 (free -m). Файл my.concf:
    Код (Text):
    1. [client]
    2. port        = 3306
    3. socket        = /var/run/mysqld/mysqld.sock
    4. [mysqld_safe]
    5. socket        = /var/run/mysqld/mysqld.sock
    6. nice        = 0
    7. [mysqld]
    8. innodb_file_per_table=1
    9. user        = mysql
    10. pid-file    = /var/run/mysqld/mysqld.pid
    11. socket        = /var/run/mysqld/mysqld.sock
    12. port        = 3306
    13. basedir        = /usr
    14. datadir        = /var/lib/mysql
    15. tmpdir        = /tmp
    16. lc-messages-dir    = /usr/share/mysql
    17. skip-external-locking
    18. open_files_limit = 100000
    19. key_buffer        = 16M
    20. max_allowed_packet    = 16M
    21. thread_stack        = 192K
    22. thread_cache_size       = 8
    23. myisam-recover         = BACKUP
    24. query_cache_limit    = 1M
    25. query_cache_size        = 16M
    26. expire_logs_days    = 10
    27. max_binlog_size         = 100M
    28. [mysqldump]
    29. quick
    30. quote-names
    31. max_allowed_packet    = 16M
    32. [mysql]
    33. [isamchk]
    34. key_buffer        = 16M
    35. !includedir /etc/mysql/conf.d/
    Можно хоть как нибудь увеличить производительность или только переезд на другой хостинг решит эту проблему?(очень не желательно)
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    1.447
    Симпатии:
    304
    Адрес:
    Татарстан
    имхо проблема не мускле.. а именно в битриксе)))) всем известно наскока он прожорлив
    100 мб ... фигня для базы
    напиши импорт вручную )
     
  3. t1grok

    t1grok Новичок

    С нами с:
    29 янв 2017
    Сообщения:
    119
    Симпатии:
    32
    Возможно и можно, но эту нужно смотреть и анализировать, что и как происходит на протяжении всего процесса.
    Что за xml, насколько там много записей, насколько много "усилий" требуется на загрузку 1-ой записи?
    Какая структура временных таблиц и т.д.?
     
  4. Abyss

    Abyss Активный пользователь

    С нами с:
    12 дек 2015
    Сообщения:
    1.277
    Симпатии:
    214
    Адрес:
    Default city
    Битрикс говно.
    /thread
     
  5. ghosttim

    ghosttim Активный пользователь

    С нами с:
    26 мар 2014
    Сообщения:
    22
    Симпатии:
    0
    в xml файле 15 тысяч товаров с характеристиками. Импортировал 300 товаров, заняло по времени минут 20
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    5.450
    Симпатии:
    888
    Адрес:
    Лень
    у меня парсер ютюба за 40 сек столько парсит :confused:
     
  7. ghosttim

    ghosttim Активный пользователь

    С нами с:
    26 мар 2014
    Сообщения:
    22
    Симпатии:
    0
    Может имеет смысл отредактировать файл my.cnf увеличив например query_cache_size ? Опыта с настройкой mysql нет, но прочитал, что если завысить настройки, то mysql будет перезапускатся во время работы
     
  8. Abyss

    Abyss Активный пользователь

    С нами с:
    12 дек 2015
    Сообщения:
    1.277
    Симпатии:
    214
    Адрес:
    Default city
    @ghosttim напиши скрипт, для импорта данных из своего xml файла. Причем тут mysql ? 20 минут может заливаться дамп на 20-40 гигов. А у тебя 100 мегабайт, алло. Если не можешь - иди в подфорум "Сделайте за меня", если не хочешь иди в тех. поддержку битрикса и насилуй их.
     
  9. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    5.450
    Симпатии:
    888
    Адрес:
    Лень
    флюгегехайменом битриксить по тех поддержке - тоже самое что головой об яйца
    --- Добавлено ---
    а так действительно как выше описали, отдельный скрипт запили и не будет гемора на пятой точке
     
  10. Abyss

    Abyss Активный пользователь

    С нами с:
    12 дек 2015
    Сообщения:
    1.277
    Симпатии:
    214
    Адрес:
    Default city
    @MouseZver я прост хз че там в битриксопараше, но думаю проблема в ней.
     
  11. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    5.450
    Симпатии:
    888
    Адрес:
    Лень
  12. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    6.676
    Симпатии:
    1.261
    Я думаю, что у битрикса скорее всего EAV-модель товаров, поэтому для каждого товара надо выполнить целую серию insert-ов.
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.439
    Симпатии:
    1.739
    Я думаю, что у битрикса скорее всего... *кашляет* простите

    Я думаю, что у битрикса... *сильно кашляет, какое-то время не может остановиться*

    ...у битрикса... *кашляет кровью, падает под стол, его выносят*
     
    Fell-x27 и artoodetoo нравится это.
  14. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    9.358
    Симпатии:
    727
    Адрес:
    из России с любовью
    переезд не решит проблему, но может ещё немного оттянуть конец битрикса.

    кстати, xml импортится напрямую через LOAD XML или есть какой-то скрипт импорта? в последнем случае можно попытаться выиграть если таки применить LOAD XML в промежуточную таблицу, а затем манипулировать данными уже исключительно в базе.
     
    #14 artoodetoo, 18 сен 2017
    Последнее редактирование: 18 сен 2017
  15. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.165
    Симпатии:
    1.753
    Адрес:
    :сердА
    Вся суть Битрикса.
    1) Вместо оптимизации завысить требования.
    2) Если тупит при завышенных требованиях, уповать на то, что нужно оптимизировать окружение.
    3) Запилить виртуальную машину с завышенными требованиями и оптимизированным окружением, чтобы люди могли запускать их сиране поделие и не тревожить саппорт.
    4) Если люди все же тревожат саппорт, сказать им, что они сами мудаки и ничего не понимают.
     
    xaker01 нравится это.
  16. xaker01

    xaker01 Активный пользователь

    С нами с:
    16 апр 2016
    Сообщения:
    210
    Симпатии:
    34
    За то данный алгоритм помогает иметь большие бабки ) во как надо работать.
    А мы господа программисты тут чего то трудимся, пыхтим, поступай как кхе-кхе....и будь богат
     
  17. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.165
    Симпатии:
    1.753
    Адрес:
    :сердА
    Они богаты благодаря своим маректологам, а не программистам. Не путай...
    Я как вспомню, блин.. Крч, в какой-то версии эти криворукие дебилы сподобились прикрутить автолоад. Маркетологи тут же превратили это в инновационный подход, позволяющий экономить ваши ресурсы, используя только тот код, который требуется в текущий момент, бла бла бла, чуть ли не откровение господне и собственная разработка.

    Хотя на самом деле это "наши дегенераты наконец-то поняли, как работает автолоад".
     
    xaker01 нравится это.