Служит ли Linux дешевой альтернативой Windows в Enterprise-системах?
Между тем любой интересующийся этим вопросом может самостоятельно оценить правоту той или другой стороны. Для этого достаточно воспользоваться общедоступной информацией по тестам TPC.
Небольшое отступление для тех, кто не знаком с этой аббревиатурой. TPC (Transaction Processing Performance Council – Совет по обработке транзакций) является независимой некоммерческой организацией, созданной для исследования обработки транзакций и производительности систем управления базами данных (СУБД) и распространения объективной и воспроизводимой информации о производительности в тестах TPC для компьютерной индустрии. В настоящее время TPC является наиболее авторитетной организацией, проводящей тестирование бизнес-систем. Тесты TPC включают не только техническую спецификацию, но и формализованную процедуру проведения тестов, представления результатов, а также обязательный аудит результатов независимой аудиторской компанией. Членство в Совете по транзакциям практически всех основных игроков на этом рынке, политика аудита и одобрения всеми членами совета представленных результатов не позволяют использовать авторитет Совета в своих целях кому-либо из производителей аппаратного или программного обеспечения.
TPC-C – один из наиболее известных тестов TPC, ставший индустриальным стандартом де-факто. Он включает набор параллельно выполняемых транзакций различных типов и сложности. База данных в тесте TPC-C состоит из девяти типов таблиц, содержащих широкий диапазон значений и имеющих большой размер. Результаты теста измеряются числом транзакций в такой системе в минуту (tpmC). С точки зрения бизнес-процессов TPC-C симулирует компьютерную среду, в которой большое число пользователей выполняют транзакции с использованием данных, хранящихся в СУБД. Подобная бизнес-активность характерна для систем ввода заказов, вне зависимости от области деятельности, будь то система управления предприятием или заказ авиабилетов. Этот тест включает симуляцию ввода заказов, выдачи накладных, внесения информации о платежах, проверки состояния заказов и отслеживания состояния склада. Нагрузка на систему и структура базы данных выбраны такими, что они не являются специфичными для какой-либо конкретной отрасли, но отражают усредненный бизнес по управлению, продажам или дистрибуции неких товаров или услуг.
Соотношение цена/производительность измеряется в стоимости одной транзакции в данном тесте. Каждый принятый TPC результат содержит подробную информацию об использованном оборудовании, программном обеспечении и стоимости владения. Если необходимо, можно пересчитать этот параметр, используя свои данные по скидкам, предоставляемым именно вашей компании производителями, и получить собственные данные.
Методика и примеры такого расчета приведены в аналитическом исследовании компании Elashkin Research. Вооружившись этими знаниями, рассмотрим текущее состояние результатов тестов TPC-С и попробуем найти сравнимые по производительности и используемому аппаратному обеспечению системы.
Хорошим тестовым примером может служить сравнение практически идентичных кластерных серверов с СУБД Oracle, но работающих под разными операционными системами (Linux и Windows).
HP ProLiant DL580-PDC 32P | HP ProLiant DL580-PDC 32P | |
архитектура | кластер | кластер |
ОС | Red Hat Linux Advanced Server | Microsoft Windows 2000 Advanced Server |
СУБД | Oracle 9i R2 Enterprise Edition | Oracle 9i R2 Enterprise Edition |
TPC-C (tpmC) | 138,362 | 137,261 |
$/ tpmC | 17.38 | 18.46 |
Не фокусируясь, в данном случае, на различии архитектур кластерных СУБД Oracle и SQL Server (shared nothing архитектура последнего обладает меньшей защищенностью от сбоев и сложнее в обслуживании на реальных задачах), сравним их по критериям производительности. Несколько большая производительность системы под Linux на самом деле составляет менее 1%, а вот отличие в цене составляет более 6% в пользу Linux. Обычно производители ограничиваются только предоставлением этих цифр. Однако нас интересует более глубокий анализ, а не маркетинговая составляющая тестов. Тщательный анализ стоимостного компонента показывает, что отличие в стоимости программной компоненты решения, построенного на Linux, от решения на основе Windows составляет менее одного процента от общей стоимости. Что очевидно, при общей стоимости системы около двух с половиной миллионов долларов и стоимости СУБД Oracle для этой конфигурации свыше миллиона долларов, стоимость Linux в 6400 долларов или Windows 2000 порядка 25000 долларов (все цены с учетом поддержки на 3 года) не играет никакой роли.
Очевидно, что в области действительно мощных Enterprise-решений различия в стоимости «бесплатного» Linux и «платного» Windows настолько малы, что не влияют на принятие решения. С этой точки зрения следует ожидать заметного улучшения ситуации в пользу Linux для менее мощных систем. Например, 4-процессорных Itanium-серверов.
HP rx5670 | HP rx5670 | HP rx5670 | |
CPU | 4 x Itanium 2 | 4 x Itanium 2 | 4 x Itanium 2 |
память | 48GB | 48GB | 48GB |
диски | 5096GB | 5002GB | 2733GB |
ОС | Red Hat Linux Advanced Server IA64 | Microsoft Windows .NET Server 2003 Enterprise Edt. | HP UX 11.i, v1.6 with Performance Pack 64-bit |
СУБД | Oracle 10i Database Standard Edition | Microsoft SQL Server 2000 Enterprise Ed. 64-bit | Oracle 10i Database Standard Edition |
TPC-C (tpmC) | 80495 | 87741 | 80571 |
$/ tpmC | 5.30 | 5.03 | 13.26 |
Отметим, что система на основе продуктов Microsoft обладает примерно на 9% большей производительностью. Впрочем, все перечисленные системы еще коммерчески не доступны. Oracle 10i заявлен с мая 2003 года, а Microsoft - c февраля 2003-го (данные производителя; могут отличаться от реальных данных), поэтому до выхода продуктов производитель может дополнительно оптимизировать их производительность.
Гораздо интереснее посмотреть на стоимостную составляющую. На первый взгляд, решение на основе HP-UX гораздо дороже. Однако, как и в предыдущем случае, необходим полный анализ спецификаций представленных систем. В данном примере дисковая система сервера под HP-UX построена на основе гораздо более дорогого Superstore Virtual Array 7100, что поднимает цену сервера до $1.255.356 против $362.968 (Linux) и $381.889 (Windows). Опять же оставим в стороне потребительские качества такого решения (они явно не сказались на производительности) и сравним стоимость оставшихся двух систем.
Стоимость ПО на сервере для Oralce/Linux составляет:
- $30.000 — лицензия Oracle;
- $6.000 — техническая поддержка на 3 года;
- $0 — стоимость дистрибутива Linux (входит в стоимость сервера);
- $3.750 — техническая поддержка на 3 года.
Итого $39.750.
Для Windows:
- $5.399 — OS;
- $66.164 — СУБД;
- $7.302 — поддержка от HP;
- $5.850 — поддержка от Microsoft.
Итого: $84.715
С учетом стоимости клиентских мест (как ни странно, но Windows оказался дешевле) и стандартных скидок общая стоимость систем получилась:
- $426.393 — Linux;
- $441.022 – Windows.
Но большая производительность последней системы и обусловила 5% преимущества по цене/производительности. Следует отметить, что собственно разница в стоимости операционной системы составила $5.399, что по сравнению с более чем $400.000 общей стоимости составляет очень малую долю.
Очевидно, что в этом случае удельный вклад стоимости операционной системы остался практически таким же, как и для кластерного решения. Дальнейшее снижение цены сервера мало скажется на цене ПО, а цена аппаратной части будет падать, но реально заметной она станет при цене сервера в 30-40 тысяч долларов, что весьма характерно для России, но не имеет ничего общего с действительно Enterprise-решениями.
Из вышесказанного следует: несмотря на все мифы и представления о Linux как о бесплатной или очень дешевой системе, в реальной жизни вклад стоимости самой OS пренебрежимо мал. Очевидно, что принятие решения о выборе операционной системы на основе стоимостных параметров в значительно большей степени должно базироваться на оценке стоимости администрирования, обслуживания и возможных потерь, связанных с простоями системы.
При этом гораздо большее влияние на выбор будут оказывать надежность, отказоустойчивость и защищенность решения.
Михаил Елашкин, директор компании Elashkin Research
обсуждение статьи
Сетевые решения. Статья была опубликована в номере 01 за 2003 год в рубрике мнение