Основне правило, яке я використовую для дискового вводу:
75 ВОН на шпиндель для SATA.
150 ВОН на шпиндель для FC / SAS
1500 IOP на шпиндель для SSD.
Як і ВГД на масив, також враховуються ВГД на терабайт. Не рідкість виявитись дуже поганим співвідношенням ВГД на ТБ, якщо ви робите SATA + RAID6. Це може здатися не надто сильним, але ви часто виявляєте, що хтось помітить "вільний простір" на масиві та захоче його використовувати. Люди звичайно купують концерти та ігнорують iops, коли дійсно навпаки в більшості корпоративних систем.
Потім додайте вартість штрафу на запис для RAID:
- 2 для RAID1, RAID1 + 0
- 4 для RAID5 (або 4)
- 6 для RAID6.
Штраф для запису може бути частково пом’якшений приємними кешами великого запису та за правильних обставин. Якщо у вас багато послідовного вводу IO (наприклад, журнали БД), ви можете значно зменшити штрафні санкції на RAID 5 та 6 досить. Якщо ви можете написати повну смужку (наприклад, один блок на шпинделі), вам не доведеться читати, щоб обчислити паритет.
Припустимо, набір 8 + 2 RAID 6. У звичайній роботі для одного запису IO потрібно:
- Прочитайте блок "оновлений".
- Прочитайте перший блок паритету
- Прочитайте другий блок паритету
- Перерахуйте паритет.
- написати всі 3. (6 ІО).
З кешованим повним записом смужки - наприклад, 8 послідовних "шматок" розміром смужки RAID, ви можете обчислити паритет на всю партію, не потребуючи читання. Тож вам потрібно лише 10 записів - по одній на кожну інформацію та дві паритетності.
Це робить ваш штраф 1.2.
Ви також повинні мати на увазі, що запис IO легко кешувати - вам не потрібно отримувати його на диск відразу. Він працює в умовах обмеженого часового обмеження - до тих пір, поки ваші вхідні записи в середньому не перевищують швидкість шпинделя, всі вони зможуть працювати зі швидкістю кешу.
Читання IO, з іншого боку, зазнає важких обмежень - ви не можете виконати прочитане, поки дані не будуть отримані. Алгоритми зчитування кешування та кеш-пам’яті читання стають важливими в цей момент - передбачувані шаблони читання (наприклад, послідовні, як ви отримаєте з резервного копіювання) можна передбачити і попередньо встановити, але випадкові зчитування зчитування не можуть.
Для баз даних я б, як правило, пропонував вам припустити, що:
Більшість IO 'бази даних' випадково зчитується. (наприклад, погано для випадкового доступу). Якщо ви можете дозволити собі накладні витрати, RAID1 + 0 добре - адже дзеркальні диски дають два джерела зчитування.
більша частина вашого «журналу» IO - це послідовне записування. (наприклад, добре для кешування, і всупереч тому, що запропонують багато DBA, ви, мабуть, хочете RAID50, а не RAID10).
Співвідношення двох важко сказати важко. Залежить, що робить БД.
Оскільки випадкове читання IO - це найгірший випадок кешування, саме там SSD дійсно входить у свій власний - багато виробників не турбують кешування SSD, оскільки це все одно приблизно однакова швидкість. Отже, особливо для таких речей, як темп-бази даних та індекси, SSD дає хороший прибуток від інвестицій.