Как влияет количество ядер процессора, количество каналов работы оперативки на производительность 1С:Предприятия 8?

1. CMAPT-TEK 350 05.02.12 16:05 Сейчас в теме
Пытаюсь разобраться, как связаны между собой такие вещи, как:
1. Количество ядер процессора
2. Режимы работы оперативной памяти (одноканальный/двухканальный)
3. Работа программ (интересует именно 1С:Предприятие 8) в однопоточном/многопоточном режиме

Как связаны эти потоки, каналы, ядра? И связаны ли вообще?
Как они влияют на производительность платформы "1С:Предприятие 8"? В частности интересует построение сложных отчетов с большим количеством данных и расчет посменного планирования с большим количеством данных.
Где-то читал, что 1С вообще работает только в однопоточном режиме - это правда? И что это тогда означает?
Потоки, которые отображаются в диспетчере задач Windows на закладке "Процессы" - это что за потоки?

Заранее спасибо за любую информацию по этому вопросу!
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
7. Mistrall 06.02.12 07:11 Сейчас в теме
(1) Halil, из личных экспериментов:
Если разделять общее увеличение производительности системы, от влияния непосредственно на 1С, то.
1. На работу 1С предприятия никак не влияет. Но на общую производительность системы влияет весьма позитивно. Зависит от нагрузки на сервер. Если не используется виртуализация, нет дополнительных приложений/служб и сервер СУБД находится отдельно от сервера 1С, то увеличение количества процессоров не даст вам значительного прироста производительности.
2. Не сталкивался с одноканальным режимом на серверах, не думаю, что это значительно повлияет на производительность 1С.
3. Не совсем понял вопрос. Если имеется в виду работа 1С в режиме многопотчного приложения, то, как тут выше писали 1С однопоточное приложение. Если имеется в виду разделение нагрузки на несколько процессов, то 8-я версия работает очень неплохо.
CMAPT-TEK; +1 Ответить
8. CMAPT-TEK 350 06.02.12 11:49 Сейчас в теме
(7) Mistrall, чем отличаются эти "потоки" и "процессы"? по разным ядрам что из них может распределяться?
И по-подробнее, пожалуйста, расскажите, что означает "Если имеется в виду разделение нагрузки на несколько процессов, то 8-я версия работает очень неплохо." - практическая польза для простого пользователя от этого какая?
9. Mistrall 07.02.12 02:08 Сейчас в теме
(8) Halil, под процессом я имел в виду рабочий процесс 1С предприятия rphost.exе. Их может быть несколько и они могут обрабатываться разными ядрами. Общую схему можно найти, например, здесь: http://v8.1c.ru/overview/cluster.htm. Детали настройки, кажется, описаны в одной из статей Гилева. Да там в принципе ничего сложного. Преимущества использования - надежность работы конечных пользователей и распределение нагрузки на сервере.
2. cps 05.02.12 17:16 Сейчас в теме
Не претендую на компетентность, но по наблюдениям 1С не может использовать многоядерность. В том ее смысле, что если у CPU 2ядра, то > 50% загрузки от 1го приложения 1С не добиться.

А все остальное, что способно увеличить быстродействие 1ядерного CPU (частота ядра и шины, тайминги и канальность памяти, кеш процессора, набор поддерживаемых инструкций и т.д.), то хорошо повлияет на выполнение. А кол-во ядер одно приложение 1С не оценит.
3. пользователь 05.02.12 17:19
Сообщение было скрыто модератором.
...
4. red80 05.02.12 19:27 Сейчас в теме
> Пытаюсь разобраться, как связаны между собой такие вещи, как:
> 1. Количество ядер процессора
> 2. Режимы работы оперативной памяти (одноканальный/двухканальный)
> 3. Работа программ (интересует именно 1С:Предприятие 8) в однопоточном/многопоточном режиме

1. Количество ядер - 2 кажется лучший выбор: и под нужды ОС и для 1С ресурсы делятся. У меня одноядерный ноут при сильной загрузке 1С не дает толком переключиться в Firefox. На работе 4-х ядерный, одна база больше 25% ресурсов процессора не занимает.
2. 1С тут наверное ни при чем, двухканальная однозначно лучше.
3. 1С вроде однопоточна.
5. leech001 10 05.02.12 21:00 Сейчас в теме
Провокационный пост :)

1. Многопроцессорные (многоядерные) системы хороши только там где есть высокая парализация задач. Если Вы с одной машины в монопольном режиме режиме будете строить один отчет обращающийся к одному источнику данных и т.д количество ядер Вам не поможет :( Вам нужна частота и чем выше тем лучше даже в ущер суммарной по нескольким ядрам. То есть 1 ядро на 3 ггц будет быстрее обсчитывать чем 2 ядра по 2ггц.

2. Если много данных тут надо обратить внимание на дисковую подсистему в первую очередь особенно на то место где лежит временная база SQL сервера.

3. Не забывайте что на многоядерных серверах нужно поднимать несколько рабочих процессов 1С. При работе 1С сама разберется сможет ли она распределить по ним задачу. Также сам SQL сервер разберется как раскидать по процессам Ваши сложные запросы.
6. Viking1980 06.02.12 06:30 Сейчас в теме
Для 1С как 8.х так и для 7.7 очень интересна тактовая частота процессора, чем она выше тем естественно и лучше особенно для 7.7. Иногда младший процессор но с большей тактовой частотой в 1С выигрывает у своего старшего брата но с меньшей тактовой частотой, хотя у него и технологии поновее и кеш побольше. По поводу оперативной памяти то посмотри на её загрузку во время работы и при наличии свободной перемести часть ядра системы из файла подкачки в оперативную память (линейки оперативки сейчас достаточно дешевы).
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management параметр DisablePagingExecutive, "1" - не использовать файл подкачки для хранения ядра системы, "0" - использовать
7.7 не понимает что такое многопроцессорный камень а 8.х уже понимает.
Двух канальность или трех канальность это по большому счету скорость считывания из памяти, трехканальный DDR2 медленней чем двухканальный DDR3.
Еще очень выжна скорость считывания данных с HDD, для 8.х рекомендую SSD в связке с Server 2008 или Windows 7
т.к. Windows XP и Server 2003 плохо работает с SSD/
CMAPT-TEK; +1 Ответить
10. Meloman1 08.02.12 00:54 Сейчас в теме
Мой сервер ̣̣1c 8.2.14.540 (Windows 2008 x64 - AMD Phenom II X4 805 - 16 GB)так и настроен, т.е. работают 4 раб. процесса (rphost.exe), и по моим наблюдениям в Taskmanager, каждый на своём ядре. Есть ещё плюс: в настройках можно установить предельное значение, занимаемое Р.П., и после его превышения запускается новый Р.П., а тот через установленное время завершается, и происходит перераспределение сессий между р.процессами. Т.е. ситуация с переполнением памяти, как было у меня в в. 8.1, ликвидирована.
11. cps 08.02.12 01:07 Сейчас в теме
(10) Meloman1,
Я читал, что для x64 сервера рекомендуют держать 1 основной процесс + 1 резервный. А для x86 - основных по кол-ву ядер. Интересно, это означает что 64битный rphost сам раскидывает сессии по разным ядрам в несколько потоков?
12. Mistrall 08.02.12 02:14 Сейчас в теме
(11) cps, я использую другую логику: 30 пользователей на процесс +1 резервный. Честно говоря, не думаю, что rphost умеет сам распаралеливать сессии.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот