Лучшая конфигурация для MySQL? InnoDB и MyISAM

Я читал, что InnoDB должен лучше писать в MySQL, чем MyISAM, однако, я пробую это, выполнив 3000 запросов MySQL (вставка строк, 8 столбцов + идентификатор) … но результаты не помогли Я надеялся.
При использовании InnoDB время выполнения составляет около 5,3 секунды, в то время как для MyISAM это занимает около 2,2 секунды.

Моя текущая конфигурация mysql:

innodb_io_capacity = 8000
innodb_read_io_threads = 64
innodb_write_io_threads = 64
innodb_log_buffer_size = 32M
innodb_log_file_size = 564M
innodb_buffer_pool_size = 6G
innodb_buffer_pool_instances = 6
innodb_thread_concurrency = 0

Все остальное по умолчанию.
Мой сервер в данный момент работает: Ubuntu 14.04 x64
12 ГБ оперативной памяти
6 ядер
И используя SSD (поставщик услуг говорит, что он обеспечивает 10000 IOPS)

Какова была бы лучшая конфигурация для InnoDB, если бы я использовал только InnoDB, и какая была бы лучшая конфигурация только для MyISAM (как, если бы по какой-то причине она была бы быстрее, если бы я отключил InnoDB, не используя его?)?

Прямо сейчас просто думаю об использовании моего сервера для хранения вещей, и ему нужно будет записать больше данных, чем читать их … а потом подумать о том, чтобы читать больше, чем писать.
Не уверен, что это имеет значение, но сейчас работает nginx (на сервере нет apache), php 5.6 и MySQL 5.6.19.

0

Решение

MyISAM не защищен от сбоев и не поддерживает транзакции. InnoDB гарантирует и синхронизирует данные с диском (MyISAM — нет) перед завершением оператора (или COMMIT).

Попробуйте объединить записи в одну транзакцию (BEGIN; INSERT, INSERT; COMMIT) или выполнить несколько операций вставки параллельно, а не последовательно (или одновременно одновременно) … эти вещи значительно улучшат производительность.

Я также прочитал бы ссылку, предложенную Стюартом Вагнером.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]