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

Насколько высок уровень ввода-вывода для SQL Server 2005?

У меня есть настройка RAID 1, в которой в среднем 40-60 операций ввода-вывода на диск и средняя длина очереди диска 0,5. В соответствии с Пример BOL ниже, это не узкое место.

Чтений с диска / сек 80
Операций записи на диск / сек 70
Средн. Длина дисковой очереди 5

В этом случае вы сталкиваетесь с (80 + (2 * 70)) / 2 = 110 операций ввода-вывода на диск, а длина очереди диска = 5/2 = 2,5, что указывает на узкое место ввода-вывода на границе.

Это подводит меня к моему вопросу, насколько высок уровень ввода-вывода? Средняя длина дисковой очереди достаточно хорошо задокументирована, так как она не должна превышать 2 на процессор, но в BOL не упоминается о вводе-выводе на диск?

Быстрое пояснение ... «Средняя длина дисковой очереди достаточно хорошо задокументирована и не должна превышать 2 на ЦП» должна быть «Средняя длина дисковой очереди достаточно хорошо задокументирована и не должна превышать 2 на шпиндель», но это общеизвестное знание не обязательно верно.

Дополнительная информация по этой теме от группы поддержки Microsoft SQL здесь: http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx

Когда я читаю ваш вопрос, вы хотите знать, сколько IOPS (операций ввода-вывода в секунду) является высоким для жесткого диска. Ответ - «когда у вас больше, чем поддерживает привод». Seagate Cheetah 15K поддерживает намного больше операций ввода-вывода в секунду, чем накопитель для портативных компьютеров со скоростью вращения 5400 об / мин. В вашем случае у вас есть диски, настроенные как RAID 1 (что добавляет избыточность, но снижает доступное количество операций ввода-вывода в секунду, поскольку вы дважды записываете одни и те же данные).

Любезно предоставлено Википедией (http://en.wikipedia.org/wiki/IOPS), некоторые стандартные числа:

  • Накопители SATA 7200 об / мин - ~ 90 операций ввода-вывода в секунду
  • Накопители с последовательным подключением SCSI со скоростью 10 тыс. Об / мин - ~ 140 операций ввода-вывода в секунду
  • Дисководы SCSI с последовательным подключением 15kRPM - ~ 180 IOPS
  • Simple SLC SSD - ~ 400 IOPS
  • Intel X-25 M (MLC; по состоянию на [обновление] в марте 2009 г., без конкуренции) - ~ 1500 IOPS
  • Intel X-25 E (SLC; по состоянию на март 2009 [обновление], без конкурентов) - ~ 5000 операций ввода-вывода в секунду (в технических данных Intel указано 3300 операций ввода-вывода в секунду при чтении, 35 000 операций ввода-вывода в секунду при чтении, а 5000 измерены для смеси)
  • ioDrive, карта PCI-Express с Flash -> 80000 IOPS
  • DDRdrive X1, твердотельный накопитель на базе PCI Express, май 2009 г. - 300 000+ (512 B IOPS при произвольном чтении) и 200 000+ (512 B IOPS при произвольной записи)
  • Устройство памяти скрипки, более 1000000 операций ввода-вывода в секунду при произвольном чтении

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

это - довольно хорошая статья об узких местах оборудования для SQL Server.

Производитель вашего диска должен предоставить информацию о типах операций ввода-вывода в секунду, которые вы можете ожидать. Столь же важны, как и очередь на диске, сек / чтение и сек / запись - все, что превышает 15-20 мс, вероятно, повредит.