вторник, 15 января 2013 г.

Выбор сервера для 1С8


Источник статьи: http://www.gilev.ru/1c/hardware/for250users.htm

Все чаще крупные компании в условиях кризиса посматривают в сторону 1С:Предприятие 8.1 как альтернативы дорогим SAPам. И одной из задач конечно является выбор серверного оборудования. В этой статье речь пойдет о конкретном примере. В качестве исходных данных формулируется задача: подобрать сервера для использования 1С:Предприятие 8.1 на 250 пользователей.
Конечно, не у всех IT-отделов стоят подобные задачи. Об этом свидетельствует опрос (см. слева). Поэтому автор предполагает, что статья будет полезна только части аудитории, которая находится в ситуации, похожей на описываемую ниже в этой статье.

Вопрос стоимости (бюджета и т.п.)
Муж с женой:
- Твоя резина зимняя сколько стоит? По тысяче?
- Я по две с половиной хочу взять.
- Ужас! Кусок резины - 2,5 тысячи!
- Не просто резины, а с шипами...
- Подумаешь, кусок резины с шипами! Хотя... мы вот Светке вибратор на ДР дарили... с шипами... Ну ладно, бери по 2,5.

Основным критерием выбора сервера является его стоимость. Тут надо учитывать возможность разных руководителей подходить к этому вопросу по-своему.
Возможна фраза вроде:
- У нас есть вот столько денег на решение этой задачи, больше нету.
это все равно что:
- Вот тебе сто тысяч рублей, купи нам "Феррари"!
Новый "Феррари" в нормальном состоянии за сто тысяч рублей купить не удастся. Сначала выясните, какими аппаратными средствами решается Ваша задача, затем - сколько эти средства стоят, и только тогда выбирайте самое недорогое из подходящих. Либо - снижайте основные критерии Вашей задачи.
Многие компании из небольших фирм вырастают в солидные конторы. А вот психология IT-служб как была, так и остается на прежнем уровне. По моим наблюдениям одним из индикаторов такой ситуации является соотношение стоимости зарплаты системного администратора к стоимости сервера.
Экономим на серверах (снижение совокупной стоимости владения)
Авторитетные источники, такие как компания Elashkin Research (ИТ аналитика) в наши времена финансового кризиса дают в том числе такие рекомендации:
  • Эффективно используйте охлаждение
  • Следите за потреблением энергии
Достаточно забавные рекомендации, с учетом того, что не понятно, кто и как будет считать эффективность охлаждения и энергопотребления. Проблема в том, что системный администратор денежно не заинтересован оптимизировать энергозатраты, а среднестатистический бухгалтер их посчитать не сможет, так как здесь нужно "опираться" на технического специалиста.
В промышленных масштабах речь пойдет о клиент-серверном варианте развертывание 1С:Предприятие 8.1.
Из этой схемы видно, что обслуживать клиентские соединения 1С:Предприятие может несколько физических серверов, объединенных в Кластер серверов 1С:Предприятие 8.1.
Что выбрать - один сервер приложений или несколько?
Вариант использования нескольких серверов (горизонтальное масштабирование).
Главным преимуществом горизонтального масштабирования является возможность не переплачивать за серверные мощности. Эта тема особенно популярна сейчас, когда стало модно писать о кризисе.
Плюсы этого варианта:
  • экономия на первоначальном этапе эксплуатации, так как можно покупать серверные мощности "впритык", а когда их перестает хватать для выполнения текущих задач, докупаются новые сервера или "откусывается" часть мощностей от другого физического сервера с помощью виртуальных серверов (например с помощью VMware)
  • экономия, если уже существует парк серверов, и можно дополнительные рабочие сервера кластера создавать "на всем что под рукой"
  • не требуются сложные методики расчета потребляемых мощностей, когда будет не хватать, тогда и добавляются новые мощности
Минусы этого варианта:
  • сложность в планировании (например финансовых бюджетов)
  • усложнение администрирования серверов
    • один сервер всегда обслуживать легче
    • по умолчанию пользователи распределяются по рабочим серверам равномерно. Поскольку железо редко бывает одинаковой мощности, придется вручную указывать "коэффициент" распределения, при этом он все равно не точный, так как время сессий пользователей разное
    • увеличивается стоимость системного ПО и ключей серверов приложений
      • ВНИМАНИЕ! На каждый рабочий сервер приложений нужен локальный ключ. Это означает, что стоимости совсем слабых (но недорогих) серверов будут завышены как минимум на стоимость дополнительных локальных серверных ключей.
    • придется либо дополнительно выполнять проактивный мониторинг загруженности серверов, либо по факту в момент высокой загруженности уйдет некоторое время на введение новых мощностей
  • сложность в расчете центрального рабочего сервера, если используются полнотекстовый поиск и управляемые блокировки
в версии 1С:Предприятие 8.1 механизм управляемых блокировок и полнотекстового поиска выполняется в менеджере кластера, который в свою очередь работает в одном экземпляре на весь кластер.
Вариант использования одного сервера
Использование только одного центрального рабочего сервера в кластере уберет все недостатки, описанные выше для нескольких одновременно используемых серверов.
Плюсы этого варианта:
  • прозрачность планирования (например бюджета)
  • простота обслуживания, особенно при внедрении "с нуля", когда серверного парка нет
  • характерное требование некоторых крупных компаний "иметь сервер приложений с 2-3х кратным запасом мощности"
  • оптимальная стоимость лицензий на ОС и локального ключа сервера приложений
Минусы этого варианта:
  • стоимость железа (но не ПО), поскольку сервер обычно сразу покупается с некоторым запасом, чтобы через 3 месяца не оказалось, что он больше не тянет (либо придется переходить к варианту с несколькими серверами)
  • сложно посчитать требования к оборудованию. Часто опираются просто на предыдущий опыт использования.
Сервер приложений 1С:Предприятие 8.1
В описываемом мной ниже случае, взвесив все "за" и "против", мы остановились на единственном центральном рабочем сервере кластера. А ситуация была такая:
В компании "Х" порядка 500 пользователей системы 1С:Управление торговлей. Конфигурация имеет значительный процент доработок, по функциональности наверно даже ближе к УПП. Текущий сервер приложений на какой-то момент времени стал "перегружен". С помощью счетчиков "Монитора быстродействия" (Performance) было выявлено, что процессорное время используется на 98%, т.е. CPU не хватает уже при 160 пользователях. Вторая проблема - вынужденные перезагрузки сервера приложений каждую ночь, иначе выдавалось сообщение о нехватке памяти (т.е. так называемые утечки памяти, о которых уже писал в своих заметках здесь).
Посчитав долю времени CPU на одного пользователя, было решено увеличить количество процессоров.
По памяти RAM также были сделаны корректировки, на основе опыта аналогичных проектов компании 1С-Рарус.
В результате всех пожеланий были выработаны следующие критерии к серверу приложений:
4 CPU QuadCore 2.6
12 GB RAM.
Автор оставляет за читателем самостоятельный выбор производителя серверов.
В соответствии с требованиями к оборудованию, в реальном примере автора был использован сервер x3850 M2. Вы можете сделать выбор сервера от другого производителя (HP, SUN и т.д.), используя за основу приведенную здесь спецификацию.
Таким образом, получился примерно такой сервер:
Part No.
Описание
Кол-во
List Price
List Price
System x
App1Cfor250users
-
Ориентировочные цены на 12/14/2008
71414RU
x3850 M2, 2xXeon Quad Core X7350 130W 2.93GHz/1066MHz/8MB L2, 8x1GB, O/Bay HS 2.5in SAS, UltraSlim Enhanced CD-RW/DVD-ROM Combo, 2x1440W p/s, Rack
1
USD 14 279,00
USD 14 279,00
44E4243
Intel Xeon QC Processor Model X7350 130W 2.93GHz/1066MHz/8MB L2
2
USD 3 339,00
USD 6 678,00
41Y2762
2GB (2x1GB) PC2-5300 CL5 ECC DDR2 667 LP RDIMM Memory Kit
2
USD 169,00
USD 338,00
40K1052
IBM 73.4GB 2.5in 10K HS SAS HDD
4
USD 259,00
USD 1 036,00
10N3071
1 Year Onsite Repair 24x7 4 Hour Response
1
USD 1 800,00
USD 1 800,00
-
-
-
Итого
USD 24 131,00

Чтобы посмотреть эту и ниже идущую спецификацию с актуальными данными, скачайте бесплатную утилиту от IBM Standalone Solutions Configuration Tool (SSCT), с помощью которой Вы сможете открыть этот файл спецификации сервера приложений.
В приложенном файле все тоже самое, за исключением того, что данная утилита позволит Вам автоматически подгрузить с сайта IBM новые ориентировочные цены. Есть и другой хороший способ узнать актуальные цифры - позвоните Вашему поставщику серверов.
Если вы хотите поделиться информацией об аналогичном сервере на вашем предприятии, свяжитесь со мной.

Теперь о том, какие факторы повлияли на выбор данной конфигурации:
Возможность вертикальной масштабируемости
Сервер IBM x3850M2 обладает возможностью вертикальной аппаратной масштабируемости (мощность увеличивается не покупкой более мощного сервера, а только добавлением части мощности к уже существующей мощности), об этом уже писал в своих заметках "Вертикальное масштабирование для устранения деградации производительности 1С:Предприятие".
Если у Вас есть информация о подобной технологии у других производителей, свяжитесь со мной, мы расширим эту статью.
Скорость замены и ремонта
Одним из определяющих выбор факторов часто становится возможность оперативного ремонта при выходе из строя серверного оборудования. В крупных компаниях, помимо этого, также не пустым звуком является понятие "корпоративная политика", определяющая стандартизацию процедур. Конечно "самосбор" - вещь экономичная, но вы попробуйте найти например процессор к вашему серверу через два года.
Т.е. весомым фактором в нашем случае стало гарантийное и пост-гарантийное обслуживание фирмы IBM (ремонт и тех.поддержка) .
По умолчанию с сервером идет 3х годичная бесплатная гарантия. Срок фиксации неисправности – рабочие сутки.
В спецификации добавлен пример платной дополнительной поддержки, которая устанавливает следующие сроки реакции: 24 часа 7 дней в неделю, время реакции - 4 часа.
Для создания новых возможностей по продаже пакетов расширения гарантии IBM ServicePack создана версия «с упаковкой». Частным пользователям можно быстрее и легче приобрести требуемое расширение гарантии, а для корпоративных заказчиков упрощается процедура постановки на баланс.
Для корпоративных заказчиков удобство состоит также в том, что данная опция имеет номер по каталогу продуктов для заказа и продаётся по фиксированной цене со 100% предоплатой.
Сама компания IBM выполняет техподдержку в пределах МКАДа, далее ответственность за действо висит на партнерах IBM, которые за это дело отвечают и отчитываются, таким образом, зона действия - зона действия партнеров IBM по всей России.
Если у Вас есть информация о преимуществах суппорта других производителей, свяжитесь со мной, мы расширим эту статью.
Возможность сборки под заказ (уникальные конфигурации)
Еще один момент, это готовность заказчика ждать до 8 недель поставки заказанного оборудования. В нашем случае, до того как сервер пришел, чтобы как-то выдержать нагрузку 250 пользователей, мы перераспределили мощности сервера СУБД, поставив туда второй узел кластера 1С:Предприятия (т.е. временно использовали схему с несколькими рабочими серверами кластера).
Экономичное энергопотребление (снижение стоимости владения)
gns .o0 в принципе, можно обложить сервер бутылками пива из морозильника. минус - часто менять придется. плюс - в офисе всегда будет пиво
<Maks|wrk> gns: минус - пиво будет тёплым
<gns> Maks|wrk: а вот для этого мы и заюзаем thermal sensor
<gns> Maks|wrk: как только пиво достигает +15, оно заменяется новым, а старое утилизируется

А вот теперь вспоминаем, что там нам рекомендовали в кризисные времена делать умные люди. О! Экономим:
  • IBM Cool Blue - набор средств, облегчающих планирование, управление и контроль энергопотребления и охлаждения центров данных, что обеспечивает создание более эффективных инфраструктур.
  • Технология IBM Calibrated Vector Cooling™ (у HP этой технологии нет!), которая организует два маршрута подачи потока воздуха к каждому компоненту, в результате чего повышаются коэффициент использования и долговечность компонентов, а также сокращаются избыточные потоки воздуха.
  • IBM PowerExecutive – позволяет не только спланировать потребляемый объем мощности и отражает реальное потребление мощности питания.
  • ЭТО ЭКОНОМИТ ДО 50% электроэнергии!!!
Если у Вас есть информация о подобной технологии у других производителей, свяжитесь со мной, мы расширим эту статью.
Совместимость, поддержка производителем
Если у Вас есть информация о сертификации подобного сервера других производителей, свяжитесь со мной, мы расширим эту статью.
Результаты модернизации сервера
После установки нового сервера проблема перегруженности сервера приложений 1С:Предприятие ушла! Появилась возможность в случае необходимости оптимизировать код и при этом получать достоверные результаты при отладке. На 100% загруженном сервере получить достоверные результаты "улучшен код или нет" нельзя. Сервер в среднем стал загружен на 25%. Поскольку общая производительность складывается из нескольких составляющих, ссылаюсь на свой материал, посвященный этой теме.
Сервер баз данных ("по феншую")
<InDel|кодит> и сервер у нас тоже похоже не по фэншую стоит )
<tozix> Сервер стоит по фэншую. Просто руки не по фэншую растут.

Итак, теперь второй случай.
Общие требования:
4 CPU QuadCore 2.6
32 GB RAM с возможностью наращивания
система хранения данных на 16 HDD SAS (4Gbt/sec) c возможностью наращивания дисков
Вылилось это в такую спецификацию:
Part No.
Описание
Кол-во
List Price
List Price
System x
SQL1Cfor250users
-
Ориентировочные цены на 12/14/2008
71414RU
x3850 M2, 2xXeon Quad Core X7350 130W 2.93GHz/1066MHz/8MB L2, 8x1GB, O/Bay HS 2.5in SAS, UltraSlim Enhanced CD-RW/DVD-ROM Combo, 2x1440W p/s, Rack
1
USD 14 279,00
USD 14 279,00
44E4243
Intel Xeon QC Processor Model X7350 130W 2.93GHz/1066MHz/8MB L2
2
USD 3 339,00
USD 6 678,00
41Y2768
8GB (2x4GB) PC2-5300 CL5 ECC DDR2 667 LP RDIMM Memory Kit
2
USD 599,00
USD 1 198,00
41Y2771
4GB (2x2GB) PC2-5300 CL5 ECC DDR2 SDRAM RDIMM Memory Kit
2
USD 239,00
USD 478,00
39R6525
QLogic 4Gb FC Single-Port PCIe HBA for IBM System x
1
USD 1 109,00
USD 1 109,00
10N3059
3 Year Onsite Repair 24x7 4 Hour Response
1
USD 1 695,00
USD 1 695,00
181470H
DS4700 Express Model 70
1
USD 17 250,00
USD 17 250,00
40K6816
73.4GB 4Gbps 15K FC E-DDM HDD
16
USD 1 301,00
USD 20 816,00
42V1554
3 Year Onsite Repair 24x7 4 Hour Response
1
USD 2 500,00
USD 2 500,00
-
-
-
Итого
USD 66 003,00

В данном примере за базу взята та же самая железка x3850M2. Однако у Вас уже должен был возникнуть вопрос, а что это за "фигня" рядом? Это внешняя система хранения данных, типа жестких дисков, но дороже. Догадываюсь, что следующий вопрос будет что то вроде, "в баню" дорогие диски, мы люди простые, предметами роскоши не избалованы.
Дисковая подсистема СУБД
Один из способов повысить производительность СУБД, это "закэшировать" базу данных в памяти. И это действительно действенный прием для очень многих конфигураций 1С:Предприятие, где более 80% процентов обращений к данным происходит на чтение, а остальное на запись. Но для 250 человек:
  1. даже 20% относительного времени обращений к HDD на практике выливается в достаточное большое количество обращений
  2. при интенсивном вводе данных соотношение операций над данными может быть 50% на чтение / 50% на запись
  3. при интенсивном вводе данных (где то через 10 месяцев после ввода в эксплуатацию) база данных перерастает 32 GB, и на второй год для большинства серверов достигается предел максимально возможного к установке RAM.
    • в приведенной спецификации жесткие диски можно поставить и другой емкости, исходить нужно из реально предполагаемых объемов данных
    • при 250 пользователях можно ориентировочно предположить, что за 3 года база не вырастет более чем на 500 Gb, при текущих дисках емкость DS4700 около терабайта, что вполне достаточно
    • рекомендация замерить динамику роста базы за месяц и посчитать самостоятельно "прогноз роста базы" на основании этой динамики
  4. наряду с такими характеристиками как емкость дисков и скорости линейной передачи данных (можно замерить обычным копированием больших файлов) на первый план выходит количество операций ввода-вывода в секунду, которые способно обработать устройство, так называемые IOps (Input-Output operations per second)
    • обратите внимание, что различные СУБД по разному пишут данные. Например для MS SQL Server в зависимости от свойства базы "режим восстановления данных" данные либо сразу попадают в базу данных после завершения активной транзакции, либо накапливаются в журнале транзакций
    • для многих СУБД можно разбивать данные на отдельные жесткие диски, таким образом, для MS SQL Server можно использовать файловые группы, перенося туда например индексы наиболее больших по объему таблиц, но НЕ РАЗБИВАТЬ ЛОГ НА НЕСКОЛЬКО (файлов) ДИСКОВ, улучшения производительности для лога не будет
Это означает, что:
1. Делать "ставку" на кэширование операций чтения/записи RAID-контроллера (и мы будем это делать).
2. Параллельно с этим хорошим улучшением производительности (уменьшению очередей к дискам) является увеличение количества дисков в RAID-массиве.
Хорошим выбором определенно является система хранения IBM System Storage DS4700 Express Model, которая получила сертификат "Совместимо! Система программ "1С:Предприятие" . Смотрим выше указанную спецификацию.

Оперативная память СУБД
Как уже видно из таблички, на сервере установлен достаточно большой объем RAM. Вспоминаем, что в идеальном варианте весь используемый объем данных мог быть закэширован в ОЗУ. Но что показательно - сервер обладает скрытым потенциалом, а если конкретно, то в максимальной комплектации он способен "переварить" 256Gb. Не думаю, что Вам потребуется такой объем, но случаи бывают разные и этот сервер не даст Вам повода его заменить на более мощный.
Процессоры СУБД
CPU обычно редко становятся узким местом в серверах такого уровня. К тому же как считать уже несколько раз писал, например здесь.
Обращу лишь внимание, что хотя и существует некоторая разница между 3 процессорами Quad Core и 1 процессором Six Core (в обоих случаях 6 ядер), рекомендую обратить внимание на политику лицензирования СУБД. Например MS SQL Server считает (на момент написания статьи) лицензии по процессорам и не учитывает количество ядер.
Примечание. Если хочется сэкономить, но с возможностью подстраховаться, то можно взять сервера только с 2 CPU Quad Core. Таким образом, как только Вы увидите, что процессоры стали загружены более чем на 80%, можно установить еще парочку. В этом смысле брэндовые сервера (не обязательно IBM) предпочтительней, так как если эта потребность в наращивании CPU возникнет через два года, то в отличие от "самосборных" систем процессоры Вы найдете!
Взаимодействие сервера приложений и СУБД
Скорость передачи по сети между серверами должна быть не ниже 1GB/sec. А поскольку дисковая подсистема в нашем случае выполняет обмен на скорости 4GB/sec, следите с помощью счетчиков производительности, чтобы сеть не стала "узким местом" производительности.
Высокая доступность (отказоустойчивость)
Данный пример хорош для компаний, чьими требованиями является время восстановления работоспособности не более суток. Обратите внимание на позиции "сервис паков" по обслуживанию в спецификации. Однако в случаях, когда требуется постоянная онлайновая доступность, рекомендую прочитать статью "Надежная работа".
Для 250 человек (при условии закупки сопровождения 24х7) многие компании практикуют строить кластеры для SQL. Приведенный в спецификации пример отражает достаточно долгое время восстановления данных, потому что 250 пользователей даже за час выполняют достаточно большой объем работы. Однако стоимость кластерных решений не является просто суммой двух серверов, обычно она несколько выше.
При использовании систем хранения данных, как в нашем примере, резервные копии можно хранить на отдельном LUNе. Единственное, на что хочу обратить внимание:
http://bash.org.ru/quote/401718
Год за годом все новые админы бэкапят серверные винты на логических разделах тех же самых винтов.:)
Бэкапить надо на другие жесткие диски, а крупные объемы некоторые организации практикуют сохранять на ленточные носители.
Если после статьи "Надежная работа" останутся вопросы, давайте это обсудим.
Терминальный сервер
В данном случае надо отметить, что рекомендуется большое количество пользователей держать не на одном сервере, а разносить на несколько. На каждом сервере хостить примерно 25 пользователей. В нашем примере будет использован сервер IBM System x3650, который получил сертификат "Совместимо! Система программ "1С:Предприятие".
Part No.
Описание
Кол-во
List Price
List Price
System x
Terminal1Cfor25users
-
ориентировочные цены на 12/14/2008
7979E7U
Express x3650, Xeon Quad Core E5405 80W 2.0GHz/1333MHz/12MB L2, 2x2GB ChK, O/Bay 2.5in HS SAS, SR 8k-l, CD-RW/DVD Combo, 2x835W p/s, Rack
1
USD 1 719,00
USD 1 719,00
44R5630
Intel Xeon QC  Processor Model E5405 80W 2.0GHz/1333MHz/12MB L2
1
USD 349,00
USD 349,00
39M5785
2GB (2x1GB) PC2-5300 CL5 ECC DDR2 Chipkill FBDIMM Memory Kit
2
USD 169,00
USD 338,00
43X0837
IBM Server 73GB 15 K SFF HS SAS HDD
4
USD 369,00
USD 1 476,00
-
-
-
Итого
USD 3 882,00

Справедливости ради надо отметить, что в отличии от более "тяжелых" серверов выше, свобода выбора "терминалок" куда больше, а обновление "железок" чаще. Приведенная конфигурация будет уместна при 1-2 терминальных серверах. Я бы также рекомендовал при переводе большей части 250 пользователей в терминал (3-12 серверов) посмотреть в сторону Blade-серверов, отказавшись от локальных дисков, и подключив лезвия на недорогую систему хранения данных типа DS 3400.
Upgrade железа
Наверняка опытные администраторы сталкивались с ситуацией, когда серверное оборудование перестает держать нагрузку через несколько лет, так как вырастают обрабатываемые объемы данных. Все, подчеркиваю все обозначенные здесь железки имеют запас наращивания ресурсов.
А выдержат ли эти сервера 500 пользователей?
Ну конечно выдержат...
Рассуждая по этому поводу, хочется вспомнить один старый мультфильм о том, как к скорняку пришел купец и принес каракулевую шкурку. Купец спросил мастерового, - ты шапку из неё сделать сможешь? Скорняк ответил, – могу. Купец обрадовался и спросил, – а две? Тот посмотрел на шкурку и сказал, – и две могу. Купец, - а четыре? Ответ, - и четыре могу. Если помните этот мультфильм, то вспомните, что дело дошло до десяти шапок из одной шкурки и как эти десять маленьких шапочек смотрелись на голове купца.
P.S. Кто внимательно читал, должны были обратить внимание на приемы горизонтального и вертикального масштабирования, которые позволяют выдержать и 1000 полноценных пользователей.
А где это железо реально используется?
Например в 1С, на демостенде 1С и IBM "Корпоративная система управления на платформе "1С:Предприятия 8", где Вы можете самостоятельно выполнить оценку данного оборудования, т.е. прийти и "пощупать".
А также у нас и наших заказчиков. Можно обращаться, мы открыты для контакта.

Комментариев нет:

Отправить комментарий