Назад | Перейти на главную страницу

Оптимальная настройка для массового импорта CSV

В настоящее время у нас есть сайт Wordpress, но нам необходимо импортировать от 10 000 до 20 000 сообщений в день из файлов CSV. Наша текущая установка - это комплексный сервер LAMP с 8 ГБ ОЗУ и 8 виртуальными ядрами. Скорость импорта довольно низкая и занимает несколько часов.

Мой вопрос: приведет ли отделение сервера MySQL от сервера LAMP к увеличению скорости импорта? Наш сайт не работает медленно и не останавливается во время импорта, это просто скорость импорта, которую мы хотим улучшить.

Спасибо

  • Какой движок таблиц используется? Если InnoDB, попробуйте увеличить размер буфера двойной записи и импортировать в {меньше, одну} транзакцию (и) (и / или настройте innodb_flush_log_at_trx_commit к чему-то другому, кроме 1). Если не InnoDB, переключитесь! И установите соответствующий innodb_buffer_pool_size.
  • Подумайте о переформатировании данных, чтобы иметь возможность использовать встроенный MySQL LOAD DATA INFILE, который может быть очень быстрым по сравнению с массовым INSERTс.
  • Используйте расширенный синтаксис вставки вместо построчно INSERTs если возможно.

Как только все это будет выполнено (или, по крайней мере, обдумано и отклонено по уважительным причинам), вы, вероятно, столкнетесь с узкими местами из-за фактических параметров машины, а не из-за проблем, которые можно решить с помощью настройки MySQL. На этом этапе имеет смысл перейти на отдельную коробку. Выполнение этого перехода на более раннем этапе может создать проблемы (например, из-за задержки в сети), как и их решение.