Що важливіше для сервера баз даних? Мем? Мем швидкість? Основні?


11

Я збираюся перенести свій сервер баз даних на дещо краще нове обладнання. Поточний сервер баз даних не має жодних проблем, за винятком того, що він працює на Centos 4. Поточне обладнання має 2 чотириядерні xeon 5335, 4 15K RPM в RAID 10 і 4 Гб (так, це дійсно всього 4 Гб) пам'яті.

Вибір апаратного забезпечення в моєму бюджеті майже не має різниці в ціні і матиме ті ж 4 жорсткі диски 15 Кб в обороті в хвилину в RAID 10. Вони:

  • 2 чотирьохядерний xeon 5335 з 8 Гб 533/667
  • 2-х шестигранне ядро ​​xeon 2620 з 16GB 1333
  • 4 двоядерний оптерон 8212 з 8 ГБ 667
  • 1 octo core xeon 2650 з 8GB 1333
  • 1 чотирьохядерний xeon 3460 з 16GB 1333

Виключаючи жорсткі диски, який порядок важливих частин сервера баз даних? Це щось на зразок: розмір пам'яті, швидкість пам’яті, ядра, а потім розмір кешу?


3
Яке ваше поточне використання в процесорі? Ви біжите на 10%? 50%? Якщо ви регулярно ~ 30-40%, то, здається, 2620 з 16 Гб оперативної пам’яті - це те, що ви хочете (шестигранний чіп Q1`12 з швидкою оперативною пам’яттю 16 ГБ? Так, будь ласка)
jcolebrand

@jcolebrand Це я вважав, що найкраще. 10-20% використання в середньому при шипах до 30-40% іноді.
Ехо каже: Відновити Моніку

XEON 2620 на 2 ГГц, XEON 3460 на 2,8 ГГц?
Нілс

Відповіді:


21

На мій досвід, те, що ви шукаєте, було б у такому пріоритетному порядку:

  1. Швидкість дискової підсистеми. RAID10 на мій досвід найкращий. Бонусні бали за SSD.
  2. Загальна кількість оперативної пам’яті Чим більше оперативної пам’яті, тим більше кешу зможе мати ваш сервер.
  3. Швидкість пам'яті. Більш швидка ОЗУ, очевидно, краще, ніж повільна ОЗУ, проте оперативна пам'ять завжди швидша, ніж диски, тому більш повільна ОЗУ краще, ніж менш швидка ОЗУ.
  4. Кількість ядер CPU
  5. Швидкість процесора

Це, очевидно, залежить від програми, але зазвичай сервер бази даних - це забезпечити дійсно швидкий доступ до даних, тому швидкість процесора є менш важливою, ніж швидкість доступу до даних (диски та оперативна пам'ять). Але очевидно, якщо ви використовуєте багато математики / розрахунків у своїх запитах, вам потрібно більше ресурсів процесора.


2
залежно від архітектури db, я б сказав, що більше ядер буде краще в цілому, ніж більша швидкість процесора, тому що більша тактова частота! = коротший конвеєр, і там є занадто багато речей для врахування, але з більшою кількістю ядер ОС може мати більше місця для робити побічні процеси, і двигуни, як правило, досить розумні, щоб мати можливість поширюватися на більше ядер.
jcolebrand

@jcolebrand точка взята і відповідь оновлена!
Джош

2
Оскільки MySQL було спеціально згадано, швидші процесори зазвичай є кращим вибором, ніж більше (якщо ви не говорите лише про 1 або 2), оскільки швидкість одного запиту в принципі обмежена швидкістю одного процесора. Навіть найновіші версії MySQL не мають масштабів, як і деякі інші RDBMS в декількох ядрах через внутрішню суперечку мутексу та семафору. Я запускаю декілька 24 основних серверів, і я дав би лівій руці торгувати ними на половину більшої кількості ядер, які на 1,5 рази швидше.
Аарон Браун

7

Що стосується MySQL, ви також повинні врахувати двигун зберігання даних за замовчуванням.

Якщо ви використовуєте лише дані MyISAM, вам потрібно врахувати лише наступне

Швидкість диска, Швидкість пам’яті, Загальна ОЗУ, ЦП

Кількість ядер є великим нефактором, оскільки MyISAM (насправді, mysqld) не використовує декілька ядер.

Якщо ви використовуєте лише дані InnoDB, тепер вам є про що поговорити, коли справа стосується ядер.

MySQL 5.5 тепер постачається з багатоядерною підтримкою InnoDB.

Усі процесори будуть стріляти по всіх балонах для InnoDB до тих пір, поки ви правильно налаштуєте InnoDB. Вірите чи ні, якщо ви не налаштовуєте InnoDB, є випадки, коли старіші версії InnoDB будуть швидше вичерпаними, ніж новіші.

Примітка модераторам

Якщо посилань занадто багато, будь ласка, не зволікайте. Просто попередити мене, і я можу перефразувати уривки цих посилань.


Це добре знати. Багато таблиць - це MyISAM, але більшість, якщо не все, можна змінити на InnoDB, що я думав робити все одно. Я буду модернізувати до 5,1 (з 4,1),
Ехо каже: Відновити Моніку

Потрібно оновити до 5.5. Для MySQL 5.1 потрібен плагін. Простіше просто пройти 5,5.
RolandoMySQLDBA

Плагін InnoDB можна легко встановити в 5.1. Також Percona Server 5.1 заснований на плагіні InnoDB.
Аарон Браун

@AaronBrown: Оскільки в Echo є MySQL 4.1, це зробить або Percona 5.1, або MySQL 5.5. Незважаючи на те, що я раніше встановив плагіни semisync 5.5, я просто трохи ледачий на плагіни.
RolandoMySQLDBA

0

З усього сказаного і того, що мені здається з DB-серверів: "2 шестигранний ядро ​​xeon 2620 з 16 ГБ 1333" мені здається першим вибором.

Використовуйте RDIMM3 зі швидкістю 1333 МГц - 12 або 15 ГБ, можливо, швидше, ніж 16 ГБ, оскільки ви можете розділити кількість DIMM на 3.

Якщо ваш БД важкий для запису, також шукайте хороші показники IO диска.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.