Разберемся с масштабируемостью

Оценить
(0 голоса)

Понятие scalability (масштабируемость) относится к поведению сервера в случае добавления либо большего количества работы, либо большего количества ресурсов, по отдельности или совместно. Если по мере того, как системные ресурсы увеличиваются, рабочая нагрузка, которая может быть обработана, увеличивается с той же самой скоростью, масштабируемость считается линейной. Например, если при удвоеиии количества центральных процессоров может быть выполнено вдвое больше транзакций. то обработка транзакций масштабируется линейно.

Некоторые рабочие нагрузки масштабируются лучше, чем другие; например, запросы к информационному хранилищу часто масштабируются практически линейно, поскольку между процессами существует только небольшая конкуренция. Некоторые рабочие нагрузки OLTP могут демонстрировать более низкие характеристики масштабируемости.

Другим способом достижения высокого уровня масштабируемости является размещение многочисленных рабочих нагрузок на одной и той же системе. Если рабочие нагрузки не влияют одна на другую, то дополнительная работа может быть эффективно реализована по мере добавления аппаратных ресурсов.

Фирма Sun приложила значительные усилия для улучшения масштабируемости как собственно операционной системы Solaris, так и в сотрудничестве с партнерами по разработке программного обеспечения их программных продуктов в среде Solaris. Это привело ко многим мировым рекордам по результатам эталонных тестов, достигнутым за несколько лет на высокопроизводительных платформах фирмы Sun, таких как сервер Enterprise 10000 (Starfire).

Вне зависимости от того, является ли целью поддержка большей рабочей нагрузки или обработка существующей рабочей нагрузки с большей скоростью, представляется вполне логичным, что эта цель может быть достигнута с помощью большего количества центральных процессоров или при использовании более производительных центральных процессоров. Например, разумными кажутся следующие суждения:

•             Если какой-нибудь сервер с четырьмя полностью используемыми центральными процессорами способен обработать 2000 транзакций в минуту, то сервер с восемью центральными процессорами сможет обрабатывать 4000 транзакций в минуту (линейная масштабируемость).

•             Если полностью используемый сервер может поддерживать 50 пользователей, обрабатывающих по 100 транзакций в минуту, то тот же самый сервер, поддерживая 100 активных пользователей, должен все еще быть в состоянии обрабатывать по 100 транзакций в минуту, даже притом, что времена отклика удвоились бы (также линейная масштабируемость).

На первый взгляд может также показаться правдоподобным, что:

•             Время отклика, равное двум секундам в системе с четырьмя центральными процессорами, будет уменьшено до одной секунды в системе с восемью центральными процессорами, испытывающей ту же самую рабочую нагрузку. Эта логика могла бы работать до бесконечности, но, в конечном счете, это будет равносильно высказыванию о том, что если 50000 рабочих могут построить пирамиду за два года, то 18 миллионов рабочих могли бы построить ее за два дня.

•             Время выполнения некоторого пакетного задания может быть уменьшено в два раза при выполнении на сервере с двумя центральными процессорами. Если данное пакетное задание является однопотоковым, то только один центральный процессор будет активным. Один воздухоплаватель мог бы облететь вокруг света за 80 дней, но это не означает, что 80 воздухоплавателей, стартовавших из той же самой отправной точки, смогут сделать это за 1 деиь.

К сожалению, действительность имеет неприятную привычку вторгаться время от времени в идеальный мир. Так, иапример, рабочие на строительстве пирамиды обнаружили бы, что некоторые вещи просто не масштабируются сверх некоторого предела. И как только вы достигаете этого предела, использование все большего количества ресурсов в ряде случаев может только ухудшить ситуацию.

Масштабируемость вашего сервера
Ложь, большая ложь и статистика
Сравнение методов
Противоречия интервалов
Противоречия накопления и представления данных

Добавить комментарий


Защитный код
Обновить