Pull to refresh

Comments 34

UFO just landed and posted this here
Размер слайса был увеличен в одном тесте, и уменьшен в другом.
Тесты ещё в процессе (я хочу составить табличку, чтобы понять закономерность).

Я специально не писал много цифр, чтобы сфокусироваться на словесной части.
UFO just landed and posted this here
коммит подразумевает, насколько я знаю, не только изменения в журнале, но и в самой БД. А как с ними?
UFO just landed and posted this here
Это методы снижания нагрузки на диски. Меня же интересует, скорее, вопрос рассчёта нагрузки. Потому что я сейчас (уже третий день с этой темой вожусь), понимаю, что на самом деле никто реально не может эту нагрузку рассчитать, и все уповают на то, что «авось, хватит».
UFO just landed and posted this here
Ну, давайте поиграем в ТЗ.

ОС: Linux/Windows (пишу оба варианта, выбирайте какой приятнее)
Соединение с сервером: SAS
Диски: Около 50 SATA дисков в корзинах.
Набор стандартных операций пользователя: офисная работа, размер открываемых файлов неопределён (какой пришлют прайс, такой и будет).
SQL-база, допустим (на ваш выбор): MSSQL+1C, MYSQL+SUGARCRM.
Количество пользователей — от 30 до 50
Функции построения отчётов: отчёт о продажах с такого-то по такое-то, отчёт о закупках, обороты, кассовые отчёты за произвольные интервалы времени.
Характер базы, допустим, 'mixed', хотя я осмысленно на этот вопрос ответить не могу.
UFO just landed and posted this here
Вот это «допустим» и смущает. Я начинал возиться с тестами с мыслью «ну там всё просто, количество винтов, складываем иопсы, получаем производительность рейда». Оказалось, нет.

=
UFO just landed and posted this here
RAID0 красивый вариант.

Жить роскошно, правда недолго.
UFO just landed and posted this here
возможно размер слайса должен быть кратен размеру IO буфера для улучшения производительности?
Размеры слайсов: 16к, 32к, 64к, 128к, 256к, 512к

тестовые блоки: 4к, 64к, 4М.

С кратностями всё хорошо.
А какой смысл в использовании RAID60 на 22дисках? Для ряда задач, это будет совершенно необоснованное избыточное хранение данных…

Нужно иметь более-менее избыточность при соответствующем объёме. 4 диска избыточности, 18 информации. Вполне нормально, ИМХО.
Если скорость хоть одного винчестера ниже стандартной — скорость всего рейда будет ниже.
В нормальных аппаратных рейдах, например 3ware, можно в реалтайме видеть IOPS для каждого из дисков, входящих в массив.
Дело не в «одинаковости», скорость может снижаться по разным причинам, например наличие бэдов, разные прошивки.
Винты из одной партии (серийники подряд), новые, смарты идеальные. Рейд адаптек — 5445Z
Если у вас слайс 16к и вы хотите записать 4М — это затронет 256 стрипов.
в вашем случае — почти все винты.
почти все винты будут позиционировать головы туда-сюда туда-сюда…

ужас…

варианты решения
1.контролер с хооооорошеньшим буфером, и мозгами.
чтобы нормально оптимизировал очереди, и винды, даже при рандом аксесе, действовали внятно
2.увеличивать размеры стрипов
3.как вариант — поднять несколько различных рейдов\групп и ид, чтобы одни таблицы читались с одного набора винтов, а другие — с других.
4.сказать что вам важнее — скорость чтения одного файла или IOPS — ведь можно построить систему которая будет быстро обслуживать одного клиента, а можно постоить так чтобы обслуживало конечно сильно медленее, но десяток тысяч( первая система в этом вариант встанет раком )

хотя это все софистика, 90% решает контролер, остальные 10% — разложения данных по «полочкам»
Рейд 5 и 6 по определению медленные на запись.
Сравнение с 10кой в ближайших планах. Но, насколько я понимаю, при большом количестве винтов, скорость записи довольно прилично возрастает. Во-всяком случае, в линейных тестах у меня запись сравнялась с 10ой при примерно 10-12 дисках в массиве.
UFO just landed and posted this here
точно, ведь он собирает железо :)
(чур-чур-чур) Железо собирает поставщик. А вот настраивает уже админ, да.
Любопытно, но пока у меня такая статистика:

блоки: рандом от 4к до 4Мб

Слайсы по 16к — 113875кб/с запись, слайсы по 512к — 77031кб/с. Это тест по 256Гб данных. Насколько я понимаю, ключевым тут является то, что при записи 4к в 512 слайс, его приходится пересчитывать весь (читать и писать обратно).

Сейчас доходит тест с 64к слайсами…
Потестируйте софтовый md-raid в линуксе, думаю вас сильно удивят результаты.
В очереди есть.

Пока из интересного: 4 RAID6 на рейде и стрип из них с помощью md на линуксе дал максимальную скорость чтения в 850Мб/с, в то же самое время, RAID60 того же размера с 4мя secondary raids дал только 650.
UFO just landed and posted this here
я вообще не понял, зачем ты писал пост.
очевидно же, что значения «максимальный иопс» не существует.
скорее интересен вариант макимум иопсов с диска при латентности до XX милисек.
вот это уже можно померять, но лучше воспользоваться табличкой от поставщиков сан-решений, который посчитали это уже очень давно: «SAS 15k — 180, SAS 10k — 140, SATA 7200 — 80, SATA 5400 — 40»
Sign up to leave a comment.

Articles