2016-06-07 3 views
-1

Информация: MySQL Community 5.7.12 64 битУлучшение производительности MySQL

Язык программирования: Python 3.5

mysqld.cnf: Mysqld.cnf

результат "шоу переменных" show variables

Описание: - У меня есть 200 000 задач. - Я обрабатываю эти задачи с помощью 500 потоков, по одной на каждую задачу, когда заканчивается поток, запускается другая задача. Дело в том, что не должно быть более 500 потоков. - Я создаю соединение на поток. (pymysql) - Каждый из этих потоков имеет около 350 вставок в таблицу, а запрос «insert ignore». - Это очень простые вставки в таблице с 12 столбцами.

У меня есть сервер со следующими спецификациями: ТАК: Ubuntu 16.04 LTS Оперативная память: 32 Гб PROCESOR: 6 2,66 ГГц Количество procesors: 2 HDD: 10K RPM SAS 2.5" виртуальных ядер: 24 сердечники.

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

Как я могу улучшить это? с этим вопросом я ставлю ссылки mysqld.cnf и результат отображения переменных y csv.

Пожалуйста, советую?

Спасибо!

+0

Вы должны лучше предоставить фрагмент кода – Alex

+1

Вместо 350 отдельных вставок вы можете делать небольшие партии с синтаксисом с несколькими вставками? –

+0

Jared Beekman, я могу попробовать это. Я проведу его сегодня вечером и порекомендую о результатах. –

ответ

0

Благодаря комментарию Джареда Бекмана, я смог это сделать. Я собрал все запросы, и результат был в 100 раз быстрее.

Смежные вопросы