Кто-нибудь знает какие-либо сравнения, которые показывают, как SSD сравнивают с HDD по производительности в среде SQL?
Я пытаюсь понять, какой выигрыш в производительности можно получить, перейдя на SSD.
Кто-нибудь знает какие-либо сравнения, которые показывают, как SSD сравнивают с HDD по производительности в среде SQL?
Я пытаюсь понять, какой выигрыш в производительности можно получить, перейдя на SSD.
Ответы:
Если вы выполняете большое количество небольших операций чтения, SSD работают намного быстрее. Вот одно из немногих сравнений о производительности базы данных. Посмотрите на нижний график для краткого ответа.
Для необработанной производительности твердотельные накопители обладают многими преимуществами, главное из которых состоит в том, что время поиска фактически равно 0, что означает, что все небольшие попадания HD в базу данных обрабатываются намного быстрее.
Тем не менее, существуют некоторые проблемы с текущим поколением в отношении времени записи, поскольку после стольких операций записи блок больше не может использоваться. Они могут писать совсем немного, я думаю, что, по словам представителей Intel, они округляют петабайт байтов для своих 32-Гбайт накопителей, прежде чем они начнут достигать опасного уровня программного обеспечения ... со временем это только улучшится.
Чтобы лучше понять, почему они работают намного лучше, прочитайте эту статью Anandtech о твердотельных накопителях . Он разбирается в деталях о дисках, о том, что хорошо, а что нет, а также о том, как они работают. Вверху также есть ссылка на последующие статьи, посвященные последней серии накопителей.
Вы можете установить свою операционную систему и программное обеспечение SQL на стандартный жесткий диск, а затем добавить SSD для хранения файлов базы данных. Это должно ограничить количество операций записи на SSD-накопитель, а также максимально увеличить объем пространства, доступного для ваших данных на накопителе.
Я рекомендую вам прочитать следующую статью « Миграция серверного хранилища на твердотельные накопители»: анализ компромиссов , это довольно приятное чтение.
На мой взгляд, пока недостаточно преимуществ от SDD в области серверов. Может быть, через несколько лет их стоит купить, но на данный момент HDD - лучший выбор.
Ответ Ника Крейвера хорош; Я просто хочу добавить две оговорки к твердотельным накопителям, о которых, я думаю, люди должны знать:
а) Проблемы SSD с износом при записи не проходят, они имеют основополагающее значение для используемых флэш-ячеек. Ячейки SLC имеют намного более высокую стойкость записи, чем MLC, поэтому OP следует рассмотреть возможность получения диска SLC поверх MLC. Конечно, SLC также значительно дороже.
б) Текущие накопители кэшируют данные на накопителе перед их записью. Таким образом, существует риск потери данных, если питание отключается во время операции записи. Это то, что вы можете обойти, но кеш есть как для производительности, так и для уменьшения усиления записи.
ИМХО ни один из вышеперечисленных не является нарушителем. Я был бы готов развернуть SSD сегодня, но с некоторыми планами.
Что-то иметь в виду.
Если вы работаете с базой данных настолько, что ваши чтения замедляются, и вам нужны твердотельные накопители, вам нужно исправить свои индексы или посмотреть, как увеличить объем оперативной памяти на сервере.
Большинство серверов баз данных после полной настройки не нуждаются в SSD для нормальной работы.
Прочитайте эту статью (довольно старая - 2009):
Резюме: замените диски SAS 24 x 15 000 об / мин на 6 (да шесть) SSD-дисков и получите на 35% больше производительности. Это было с Intel X25M, которые больше не являются лучшими для SSD.
Для пользователей баз данных это фантастика, так как вы можете иметь меньшие, более быстрые серверы, используя меньше энергии
Одна вещь, чтобы рассмотреть, это иметь журнал транзакций на жестком диске и ваш MDF на SSD. Кроме того, срок службы будет сильно зависеть от типа приложения. OLTP может сгореть, хотя и быстро, так как статические данные не должны иметь проблем.
Мой собственный опыт был смешан здесь ...
Тестирование на Windows 7 с SQL Server 2008 Express R2. Работает на i7 Desktop с Sandy Bridge и установленной оперативной памятью 12G (мне кажется, DDR3?). Извините, что настольный компьютер, я только после того, как выяснил, сколько записей я могу управлять на платформе i7, прежде чем построить сервер.
Сначала я запустил эти тесты на установленном диске 1,5 ТБ 7200 об / мин, чтобы получить базовые тайминги.
10 тыс. Записей с обновлением процедур, оптимизация таблиц для хранения ранее связанных данных в плоской таблице, добавление индексов до тех пор, пока я не сократил время до нескольких секунд в качестве отправной точки, затем я продублировал записи до 1,2 миллиона и получил время 0: 3: 37 для тех же обновлений. 3 1/2 минуты не плохо для этой не рейдной установки.
Дублирование записей до 2,56 миллионов дало мне время 0:15:57 - почти в 5 раз больше. Скорее всего, это связано с тем, что объем установленной памяти 12G больше не просматривается.
Установив диск SSD и переместив базы данных, время фактически увеличилось до чуть более 20 минут. Я предполагаю, что это потому, что файлы подкачки находятся на жестком диске, и на диске SSD по умолчанию не было ни одного, поскольку он не был установлен в качестве диска ОС (когда я попробовал это, было много голубых экранов).
Добавил файл подкачки к накопителю SSD и перезапустил тест, 0: 5: 52 -m, так что файл подкачки, похоже, сделал свое дело, но я не уверен, что файл подкачки подходит для накопителя SSD по всем вышеуказанным причинам, они сильно написаны и могут привести к чрезмерному износу диска.
Одно предупреждение, я также включил Smartboost на этом диске, и это, возможно, также повлияло на время, будет выполнено без него.
На мой взгляд, в наши дни проще добавлять память, и за такую стоимость гибридный диск с рейдом 0 + 1 может справиться почти без проблем.
edit: отключил файл подкачки на SSD и позволил Smart Boost делать свое дело, время улучшилось с 5:52 до 4:55 минут для 2,56 миллионов записей с серией из 3 обновлений каждая. Я попробую 8G ssd кеш на гибридном диске seagate 750G. тогда, если это не плохо, я попробую их в рейде 0 + 1.
последнее обновление, так как это старая ветка - но я хотел опубликовать результаты, которые я получил, чтобы кто-то мог их найти.
Перемещение базы данных в Seagate 750G Hybrid с 8G кешем SSD Я провел тест несколько раз, чтобы кэш SSD мог учиться. Это дает мне время 5:15 мсек для того же теста, обновляя 2,56 млн записей - это достаточно близко к производительности SSD (4:55 мсек с Intel Smartboost), чтобы я мог оценить стоимость.
При цене примерно в 50 долларов (239 долларов против 189 долларов в настоящее время) гибрид обеспечивает более чем шестикратное хранение и почти такую же производительность без использования какого-либо дополнительного программного обеспечения для оптимизации. В рейде 0 + 1 я рассчитываю значительно улучшить время, и у этого привода есть 5-летняя гарантия, надеясь, что он мне не понадобится.
Лично я бы не использовал SSD по причинам, уже упомянутым; они будут постепенно замедляться, прежде чем в конечном итоге потерпят неудачу. Мы еще не знаем, когда это произойдет - текущие оценки - это просто оценки. Помните, когда мы все купили эти «неразрушимые» компакт-диски в начале / середине 80-х? Несколько лет спустя мы считали срок хранения данных на CD такой же глупостью, как и использование дискет.
Если у вас все оборудование, ОС и БД настроены правильно, вам не нужно играть на SSD.
Через несколько лет, когда продукты немного повзрослеют, будет другой сценарий. Но до тех пор ...
В статье Microsoft Research речь идет о цене за Гб, а не о приросте производительности. На самом деле он не подходит и не тестирует диски, а использует алгоритм ретроспективного преобразования, основанный на файлах журналов с реальных серверов.
Некоторые вещи, которые приходят на ум с SSD и SQL:
1 / Если вы не добавите правильные индексы, SSD будет более щадящим, поскольку время случайного поиска очень мало.
2 / Расходы значительно ниже по сравнению с тем, когда было проведено это исследование, и для небольших веб-приложений, скажем, для запуска серверной части телефонного приложения, а не корпоративных серверов Exchange, производительность могла бы сэкономить на привлечении консультанта для настройки SQL Server.
3 / Один SSD-накопитель с теневым копированием, безусловно, дешевле, чем набор шпинделей в шкафу RAID, а также контроллер и соединения. Не говоря уже о мощности и обогреве и стойке.
4 / Шпиндели печально известны тем, что они чаще всего умирают на компьютере. SSD не имеет движущихся частей, и час простоя может стоить цену SSD за один раз.
5 / Износ - это проблема, но у них есть способы управления ею (включая рассеивающие блоки), которые возможны, потому что случайно фрагментированные данные не замедляют работу SSD. Кроме того, небольшая база данных на большом диске, вероятно, не изнашивается вовремя, чтобы купить более дешевую новую в будущем.
6 / Существует тенденция к нереляционным базам данных и выполнению объединений на среднем уровне. Это действительно может изменить ситуацию: ввод / вывод в простые неиндексированные таблицы на SSD-дисках в шардах без снижения производительности и с гораздо более простым масштабированием. Также экономия на лицензиях SQL Server для каждого шарда
7 / Это все теоретически. Если бы у кого-нибудь было реальное тестирование производительности на шпинделях, я бы с удовольствием посмотрел.
Люк