У меня есть сервер с 2 SSD. Я запускаю установку LAMP и имею базу данных innoDB.
мои вопросы:
1) будет ли innoDB автоматически использовать оба SSD или только один? 2) значительно ли снизится производительность, если я буду использовать 2 HDD вместо 2 SSD?
Спасибо
будет ли innoDB автоматически использовать оба SSD или только один?
Нет, InnoDB (и MySQL) ничего не знает о вашей подсистеме хранения. Вам необходимо настроить устройства хранения по мере необходимости (RAID, LVM, файловые системы и т. Д.), Смонтировать хранилище в выбранном вами месте, а затем указать MySQL на его использование.
Могу ли я значительно снизить производительность, если буду использовать 2 HDD вместо 2 SSD?
Это полностью зависит от вашей рабочей нагрузки и возможностей ваших блочных устройств. Если у вас старые или дешевые твердотельные накопители, но жесткие диски Fibre Channel 15 Кбайт, то эти жесткие диски будут перемещаться по всем твердотельным накопителям.
Вращающиеся жесткие диски, как правило, лучше справляются с последовательными рабочими нагрузками, тогда как твердотельные накопители, как правило, лучше работают с произвольным вводом-выводом.
Вы можете заставить InnoDB использовать два или более отдельных устройства без использования RAId или чего-то еще, вам просто нужно указать несколько файлов в переменной innodb_data_file_path
Что-то вроде:
innodb_data_file_path = / ssd1 / ibdata1: 1024M; / ssd2 / ibdata2: 1024M; / ssd1 / ibdata3: 1024M; / ssd2 / ibdata4: 128M: авторасширение
поместит первый ГБ данных из вашей базы данных на первый SSD, затем второй на другой и т. д.
Вероятно, лучше всего использовать 'innodb_file_per_table', который создает отдельный файл innodb для каждой таблицы, тогда вы можете просто символически связать разные таблицы или базы данных с разными дисками, чтобы балансировка нагрузки, как вы думаете, даст вам лучшую производительность там, где она вам нужна. .
У этого способа есть как преимущества, так и недостатки. Лучшее решение для скорости - иметь достаточно оперативной памяти, чтобы все данные innodb также были кэшированы в памяти.