Більше оперативної пам'яті проти більшої кількості серверів


9

Нещодавно мене запитали "Чи знаєте ви, коли вирішувати між тим, як отримати більше оперативної пам'яті або більше серверів?" (у контексті масштабування програм для видобутку даних).

Я поняття не мав, тож які способи вирішити? Я знаю дуже мало знань про архітектуру та масштабування (моє розуміння пам’яті комп’ютера та того, що сервер робить, обмежується основами високого рівня), тому поради щодо того, як дізнатися більше про ці речі загалом, також дуже вітаються.


3
Чи можу я мати обоє, будь ласка?
Дірк Еддельбуеттель

1
Більше оперативної пам’яті у кожному випадку, про яку я можу подумати… (крім того, що сервер розміщений на ОЗУ)
jcolebrand

3
Як і у більшості тисадів системного. Найкраща відповідь, якщо можливо, - це збирати дані на розробці чи виробничій системі, а потім приймати рішення на основі зібраних вами даних.
Зоредаче

Питання, яке ви ставите, полягає в тому, чи слід масштабувати чи зменшувати масштаб.
micmcg

Більшість програм для обміну даними розроблені для одного комп’ютера. тому більше оперативної пам’яті. Якщо ви використовуєте Mahout або паралельно-R або що у вас є, то більше серверів. Я б взяв напрокат сервери Amazon AWS для експерименту, щоб знайти найкращу комбінацію серверів / оперативної пам’яті.
Ніл Макгуйган

Відповіді:


8

"Чи знаєте ви, коли вирішувати між тим, як отримати більше оперативної пам'яті або більше серверів?" (у контексті масштабування програм для видобутку даних).

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


Ні, це все ще вуду, але ви - відьма! Більше того ... як неофіт використовує цю відповідь для вирішення своєї проблеми? Які основні показники він повинен вивчити, і як він знає, які числа мають значення?
Поставте

Цей вид нагадує мені старий балонний жарт. officediversions.com/discover/modules/wfsection/…
tomjedrz

Відповідь, які основні показники залежить від того, яка система. Питання настільки загальне, що неможливо дати більш конкретну відповідь, крім основ (процесор, пам'ять, диск тощо та монітори додатків). Враховуючи гіптетичний неофіт, вони просто не можуть отримати відповідь на цю проблему, тому що спочатку потрібно знати, як слідкувати за відповідними серверами (іми), і це було б цілком окремим питанням
Jim B

5

Загалом, в поліпшенні продуктивності сервера та додатків існує досить багато вуду (або, принаймні, проб і помилок).

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

Однак дуже загальний характер цього питання змушує мене думати, що не було інших спроб покращити продуктивність. Я погоджуюся, що апаратне забезпечення є дешевим, тому навіть викидати більше серверів при проблемі досить просто. Але я також переконався, що були зроблені інші шляхи, зокрема налаштування ОС та бази даних. Іноді невеликі налаштування бази даних, ОС або навіть конфігурації програми можуть призвести до величезних поліпшень продуктивності.

Шукайте на цьому веб-сайті за допомогою вашої конкретної ОС, бази даних та додатків, і ви цілком можете вразити золото.


5

Як архітектор підприємства я майже щодня займався цим питанням. Вертикальне чи горизонтальне масштабування?

Які ваші потреби?

Вам потрібно підтримувати більше користувачів? Вам потрібно підвищити швидкість обслуговування? Вам потрібно обоє? Вам потрібна висока доступність 99.9999 чи можуть ваші користувачі простоювати?

Для початку вам потрібно зафіксувати показники ефективності в поточній системі. Кількість активних користувачів, завантаження оперативної пам'яті та процесора, введення / виведення диска - дізнайтеся, де ваші вузькі місця.

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

поточні машини працюють на повну потужність, оперативна пам'ять і процесор сильно завантажені, високий диск вводу / виводу - розрахунок вартості для додавання оперативної пам’яті, чи можна перейти на більш швидкий диск вводу / виводу (RAID, SATA замість ATA)?

Якщо вам потрібна висока доступність, то, ймовірно, потрібно все-таки додати апаратне забезпечення та балансувати навантаження.

Чи дешевше додавати оновлення обладнання або додавати нові сервери? Що відповідає цілям довгострокового зростання та росту?

Коли найкращий час для витрачання грошей на ваш ІТ відділ? Чи є у вас зараз кошти чи ви хочете перенести витрати на інший квартал / рік? Якщо кошти - це проблема, то оптимізуйте зараз або вивчіть звільнення апаратних засобів від інших програм, щоб додати рішення для балансування тимчасового навантаження.

Не бійтеся досліджувати численні рішення. Постачальники можуть захотіти придбати збалансоване навантаження рішення, орієнтоване на зберігання SAN, де новий сервер з iSCSI RAID 10 на борту працюватиме за 10 відсотків вартості.

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

Захоплення показників ефективності. Оптимізуйте, вдосконалюйте та знову фіксуйте показники. Продовжуйте збільшувати / зменшувати ефективність документування, щоб ви могли перетворити у звіті, який документує, скільки ви витратили та скільки призвів до підвищення продуктивності. Це тип можливих історій успіху, які перетворюють адміністраторів на архітекторів, архітекторів на керівників проектів і на керівників проектів у керівництво вище, якщо все зроблено правильно.


2

Пейджинг? Чи збираєтесь ви використовувати ОЗУ для кешування диска? Ви пов'язані з процесором з вільною оперативною пам’яттю?

Якщо ви здійснюєте пейджинг та / або можете використовувати ОЗУ для кешування, то отримайте більше оперативної пам'яті. Якщо ти не стикаєшся з тиском ОЗУ, то це щось інше.


2

Оперативна пам’ять - це дешево. Ви завжди повинні це робити до початку, коли у вас є найекономічніша кількість (наприклад, 4 Гб DIMM - це надмірно дорого, тому я б не заважав їм).

Потім вивчіть масштабування набік (більше серверів). Розгляньте дешеве обладнання для споживачів порівняно з дорогими запчастинами сервера, але очікуйте збоїв і складіть оцінку відмов у вашій загальній потужності обробки.

В основному, зробити Google .


1

Яку ОС ви використовуєте, скільки оперативної пам’яті підтримує і скільки оперативної пам’яті у вас є також питання. Якщо ви знаходитесь на межі 32-бітної ОС, придбання більше оперативної пам’яті не принесе вам користі. Якщо ви використовуєте Windows, деякі SKU обмежені певним об'ємом оперативної пам’яті, який не зовсім пов'язаний з 32-бітовим лімітом.


1

Деякі люди, здається, вважають, що додавання оперативної пам’яті - це магічне виправлення. Це допомагає лише в тому випадку, якщо оперативна пам'ять є вузьким місцем.


Це не "магія", але вона відносно дешева і є хорошою першою спробою більшу частину часу.
tomjedrz

1
@ tomjedrz: Гарна перша спроба, за винятком випадків, коли її немає. Це дійсно дуже просто - ми робимо "адміністрування систем як наука" і додаємо оперативну пам'ять до машини після того, як ми зробили тести та моніторинг ресурсів, які показують, що вона потрібна, чи робимо "адміністрування системи як релігійний культ" і додаємо ОЗУ на машину, тому що це те, що нам говорять релігійні сувої, - це правильна молитва за сервер, який трохи повільний? Особисто я віддаю перевагу науковому підходу.
Роб Моїр

0

Більше оперативної пам'яті = більше віртуальних машин.

Тому я думаю, що більше оперативної пам'яті = більше серверів !!


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