Есть задача:
Организовать на нем работу серверной 1с. пользователей сейчас до 30, но планируют увеличивать до 100.
Что по вашему мнению выгоднее:
1) на хостовую машину Hyperv-server. на виртуальные 1с и sql ?
2) на хостовую машину MS Server 2012R2 и на нее уже сервер 1с и sql ?
Я бы разнес на вирутуальные _)) Но сейчас многие говорят что можно ставить на 1 машину и 1с и sql и все будет хорошо и быстрее на 30 и выше процентов_))
Физическая неудобна для администрирования, для быстрого восстановления после возможных сбоев.
Современные виртуальные машины класса Hyper-V, ESX и тп. - жрут жалкие проценты производительности.
Только виртуальные машины. На каждую машину - одна роль. И второй такой же сервер для фэйловера. Потерь производительности не будет.
Можно конечно как неандертальцы все на одну ставить, но потом не пишите сюда вопросы что делать, если после очередного обновления какой-либо системы у вас рухнуло ВСЕ. И вам за ночь нужно будет поднять и настроить их все.
nfire, вы, видимо с энтерпрайзом не сталкивались. Развернуть виртуалку с MSSQL, которой требуется 64Гб оперативы и 100-200Гб SSD, на любой комп не всегда возможно.
Дмитрий, зачем 64 и 100-200? когда пожар и все рушится, поднять рабочую базу на наспех собранном железе, очень ценно.. денек оно поработает и не с кучей оперативки и ссд
На виртуалки - удобнее в обслуживании.
Разница с железом в производительности процентов 5%, то есть вы этого даже не заметите.
Но в случае сбоя поднять виртуалку из бэкапа (если он у вас есть) - минутное дело, всяко-разно никак не сопоставимо с многочасовой настройкой ПО на железе.
1) на хостовую машину Hyperv-server. на виртуальные 1с и sql ?
Выгодно в плане удобства администрирования.
Крайне невыгодно в плане производительности. Если для вас удобство важнее производительности, то вполне нормальный вариант.
2) на хостовую машину MS Server 2012R2 и на нее уже сервер 1с и sql ?
InoMono, Какие полтора процента? В два-три раза как минимум.
Или получать данные напрямую из памяти, или гонять данные через два сетевых интерфейса, с очередями и задержками присущими сетям.
Какие полтора процента? В два-три раза как минимум.
Или получать данные напрямую из памяти, или гонять данные через два сетевых интерфейса, с очередями и задержками присущими сетям.
1) Вас кто-то обманул.
2) Запомни, студент, в любой задаче, где интенсивно используется СУБД при грамотной организации решения этой задачи - основная нагрузка по перевариванию данных как раз ложиться на СУБД. А уже переваренный в СУБД небольшой по объему результат уезжает по сети в приложение.
3) Локально ты будешь обращаться к СУБД через сетевые интерфейсы тоже. И да, они будет конечно виртуальными, не связанными с реальным железом. Но ненамного более простыми, чем виртуальные интерфейсы виртуальных машин.
InoMono,
отвечу за "студента"
1) никто его не обманул, человек явно работал с 1С ;)
2) вы знаете как 1С работает с СУБД? там используются только самые базовые ф-ции самой базы без переваривания силами СУБД и сокращение издержек в этом месте положительно влияет на производительность
3) локально к СУБД можно (и в данном контексте нужно!) обращаться через SharedMemory (это кстати ответ на то почему нежелательно разносить сервера)
вы знаете как 1С работает с СУБД? там используются только самые базовые ф-ции самой базы без переваривания силами СУБД и сокращение издержек в этом месте положительно влияет на производительность
Вы описываете семерку. Она почила в бозе уже 10 лет как. Хотя кое где используется.
;)
3) локально к СУБД можно (и в данном контексте нужно!) обращаться через SharedMemory (это кстати ответ на то почему нежелательно разносить сервера)
А еще можно вообще от операционной системы отказаться. Она же часть ресурсов забирает.
Oracle в свое время сделал возможность своей СУБД работать с дисками напрямую, минуя файловую систему. И что? Думаете сразу фантастический рост производительности? Отнюдь. Серебряной пули не существует.
Что до конкретно 1С - ФИЗИЧЕСКИ разносить сервера не стоит.
Но на различные виртуальные машины в пределах одной физической машине - не наблюдается никакого страшного падения производительности.
Сеть 1С использует не столь сильно.
вы крайне переоцениваете восьмерку ;)
там ситуация не сильно лучше
Исходя из того, что восьмерка должна отображать пользователям кучу инфы, когда пользователи листают экран журнала документов например - конечно она вытягивает много данных.
Впрочем, чего гадать-то на кофейной гущи. Возьмите хоть встроенный профилировщик Windows и замерьте нагрузку на сеть.
Будете очень удивлены.
Вроде бы да, 1С использует сеть интенсивно. Но при этом сетевая карта не так чтоб даже и нагружена.
Ну а виртуалка вполне годна.
Она не притормаживает работу на вот эти смешные
Какие полтора процента? В два-три раза как минимум.
как написал Артем.
Какие два раза, Артем?
Даже при самом худшем сценарии - и 10 процентов не достигает.
Я не буду особо вам доказывать, но сталкиваясь на разных крупных предприятиях с интеграцией 1С, ВСЕ интеграторы однозначно рекомендуют ставить по возможности сервера вместе... или они не профессионалы? не понимают бедные что сеть не тормозит? что sharedmemory глупости?
фантастического роста конечно не будет, но борьба с производительностью в крупных базах у 1С это одна из самых больных проблем тянущихся с семерки до сих пор, и до сих пор нет однозначного способа победы, по этому в бой идут все возможные способы
Ой какую дискуссию развели. InoMono, При чем тут виртуальные машины вообще? Была дана конкретная ситуация.
Разносить на разные машины сервер 1с и скуля крайне не рекомендуется ввиду просадки производительности. Это факт. Подтвержденный практикой эксплуатации типовых решений 1с.
Да в восьмерке если взяться и оптимизировать код, то можно свести к минимуму обмен информацией между сервером 1с и скулем. Но кто блин это делать будет? Нанимать программеров и оптимизировать кучу типового кода, который постоянно меняется. На сопровождении разоритесь, программеры 1с очень жадные люди, и денежки любят.
Какие два раза,
Цифра не с потолка взята. Типовые базы 1с работают в режиме SharedMemory в два, три раза быстрее нежели по сети.
Поэтому разносят 1с и скуль по разным серверам в двух ситуациях -
1)Железо банально не справляется чтобы тянуть и то и другое.
2)Когда производительность не сильно важна, ресурсов гарантированно больше чем надо, и на первое место выходит удобство.
Вроде бы да, 1С использует сеть интенсивно. Но при этом сетевая карта не так чтоб даже и нагружена.
А как вы оцениваете нагруженность сетевой карты? По диспетчеру задач? Или аналогичным инструментам?
Сетевая карта может быть загружена на 1% и при этом могут быть дикие тормоза из-за того что сетевая карта не справляется.
Не думаю, что надо разносить SQL сервер и сервер 1С на разные машины - скорее всего это приведет к тормозам. Про размещение - никаких физических машин, исключительно ВМ - удобнее со всех сторон, сильного торможения точно не будет.