#0
by krasnojrov
Есть задачка написанная на 1с8. Пытался использовать многоядерные процессоры, чтобы быстрее щелкала. Прогресса нет, запускал на одно ядерном(в файловом варианте) - диспетчер задач показывает загрузку ЦП 100%, на 4-х и 8 ядерном(двух процессорном) соответственно 25% и 13%, и диспетчер показывает примерно равномерную загрузку ядер ЦП. Пытался манипулировать, задавал соответствия (диспетчер задач>процессы>1cv8.exe>задать соответствие>ставил флажок на одно ядро)- на графике одно ядро работает по максимуму Загрузка процессора (в целом) не меняется. Что надо делать в в такой ситуации? Тот же RAR прекрасно работает с многоядерными и дает прирост в скорости.
#1
by ДенисЧ
купи/укради у 1с исходники и перепиши. Тот же 1с-сервер вполне себе использует многоядерность.
#2
by Irbis
>> Пытался использовать многоядерные процессоры, чтобы быстрее щелкала. Вот это как делал? С бубном танцевал?
#7
by krasnojrov
Ставил на сервер(db2 экспресс) - негде посмотреть настройку, в итоге скорость та-же, даже чуть меньше
#8
by Irbis
Куда уж нам, просто в 1С ни в клюшках ни в снеговике не припомню никаких инструкций по этому поводу
#11
by МихаилМ
1) напишите внешнюю компоненту 2) перенесите проект на другой ЯП с многоПоточностью . скоро будет вопрос, что тот же рар умет задествовать мощности видеоускорителей. как задействовать в 1с.
#12
by Irbis
Смирись, лучше вылизывай код. Большинство тормозов из-за неверно заточеных рук программистов.
#13
by Капитан Смоллет
Пиши слезливое письмо генеральному конструктору 1с с просьбой переписать платформу на многопоточность. Единственно тебе уже посоветовали в 2
#14
by ДенисЧ
Ставь кошерный мссиквел и на сервере 1с настраивай количество рабочих процессов соответственно количеству процессоров. На ИТС есть соответствующие статьи. Вкратце - количество процессов == количество процессоров - 2
#21
by КМ155
[То есть в файловом варианте не сделать такое] запусти 8 1с.Exe по шт. на ядро и распараллель задачку
#24
by Капитан Смоллет
Ага. Поставь Windows Server 2008 R2 HPC. Сделай клауд-вычисления по сетке.. :)
#26
by Капитан Смоллет
Как однопоточное приложение собираемся распараллеливать? пид-процесс один и тот же. Запись и чтение в базу данных может вызвать конфликт, поскольку система не может отличить пид-процесс, как в лучае клиент-серверного приложения. Для многоядерных процов надо писать спецприложения. И не надо путать распределение нагрузки с увеличением производительности.
#27
by krasnojrov
Спасибо КМ, идея весьма нетривиальная, прикидываю какие задачки распаралелить можно.
#31
by Живой Ископаемый
божечки, ну и почему же ты подумал что виноват rphost и процессоры? вернее их неиспользование?
#34
by Живой Ископаемый
2 над одной базой или разными? если над одной, то что они должны будут делать? ну вот реально, чтобы это пригодилось?
#36
by Irbis
А зачем делать документ на 20000 строк, с тем расчетом чтобы потом его разбивать на 4 по 5000. Может сразу делать 4 документа?
#37
by Капитан Смоллет
Да ничего не надо делать, пока однопоточное приложение. )) в человек предложил РАСПРЕДЕЛИТЬ нагрузку на многоядерном процессоре. Реально увеличить производительность системы можно либо переписав его на многопоточность либо использовать cloud-вычисления (типа фермы Цитрикса).
#39
by krasnojrov
Что за блокировки? Я предложил каждый документ обрабатывать на своем ядре в отдельном 1cv8.exe одновременно.
#46
by Живой Ископаемый
2 И? - ну вот ты разбил такой документ на 4 и что дальше? в какой момент тебе поможет то, что приложение будет использовать 4 процессора вместо 1?
#47
by Живой Ископаемый
В момент записи их в базу? Так о какой производительности ты говоришь применительно к базе данных? Что в 1С выполняется дофига чисто математических вычислений без записи в базу? Разве что в каком-нибудь РАУЗе?
#48
by Живой Ископаемый
2 вот что произойдет когда все четыре "Я предложил каждый документ обрабатывать на своем ядре в отдельном 1cv8.exe одновременно." документа обработаются? Ты уже замерял на что расходуется время при обработке документов?
#49
by krasnojrov
Попробовал, вот что получилось: Система-Win2008, двухпроцессорный сервер с 8 ядрами. Документ 20809 строк. Запускал 4 копии документа на 4 приложениях(на каждое приложение свой документ). Первая попытка с заданными соответствиями(каждое приложение на своем ядре) - время работы: 10:36:24 10:32:02 10:37:38 10:45:00, в среднем 10:37:46. вторая попытка без задания соответствий время работы: 11:54:26 11:32:44 12:39:47 11:45:33, в среднем 11:58:08, то есть используя соответствия получаем 11% быстродействия. Быстродействие по сравнению с запуском задачи на одном приложении увеличивается кратно!!! Эта задачка(10 часов работы) не сильно напрягала меня, на ночь оставишь - утром все сделалось. Следующая задачка - в справочнике 188000 элементов надо найти каждому элементу соответствие в других справочниках(10, к-во элементов 16000), без "мероприятий" грозится работать за 90 часов, оптимизацией кода должно быть 24 часа(не успею доделать), вся надежда на распаралеливание и большую "считалку"
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- УстановитьСсылкуНового не работает
- Предопределенные значения в отборе для универсального отчета
- Сохранение Отчета в Формате *.xls в 1С: 8.1
- Альфа Авто распределенка
- Вывод на второй монитор
- помогите как вывести дополнительную надпись в отчете (СКД)
- Как связать справочник с регистром сведений?
- 8.2 При открытии подсистемы сразу отображать форму
- регулярные выражения
- Можно ли отследить изменения элементов справочника сделанных внешней обработкой?
- Установить значение в колонке ТЗ при добавлении
- Подскажите по записи XML. Можно ли дописывать в середину?
- создать табличную часть при проведении
- Как узнать список активных пользователей?
- КД2: где живут типовые правила конвертации?
- не устанавливается дополнительное субконто в ОСВ по 90.01.2 счету
- Клиент-банк (изменить алгоритм выгрузки/загрузки)
- Поделитесь, пожалуйста, опытом работы в режиме управляемых блокировок в УПП
- 1С: 8.2 Формы внешних обработок
- Сбилась нумерация в Кассовой книге