Заставить 1С использовать два ядра системы! #365300


#0 by Pashkaa
Есть ли способы заставить 1С использовать оба ядра процессора при своей работе, само собой речь идет о клиентской части, а не о серверной. Покупаешь новые компы в контору, типа современные Intel Core 2 Duo, и чё толку, старые пни серии D на 3Ггц работают быстрее чем какой нить E7200 (2*2,53) т.к. при работе клиентского приложения используется только 50% мощности. ОБИДНО!!!
#1 by ShoGUN
Низя, да и нахрен...
#2 by Темный Эльф
Запусти два экземпляра 1с
#3 by IamAlexy
УПП перепроведение документов... одно ядро в 100% загрузка второе в нольцелых хрен десятых...
#4 by asp
так они же последовательно должны проводится в хронологическом порядке
#5 by zag2art
Ставьте порядочные игрушки - станет легче переносить несправедливость...
#6 by Veel
никак(
#7 by ShoGUN
8.0 или 8.1? Нельзя никак. Только переписывать платформу под многопоточность, а оно вообще не впилось 1С.
#8 by eddy_n
Что ты хочешь от платформы, которая начиналась создаваться в 2000 году.
#9 by Pashkaa
Дак вот 8.1 свежая платформа, мир катится к многоядерности, 3, 4, скоро будет 8 а 1С так и будет карячится на одном. И чё мне дадут два экземпляра, быстрее будет формироваться один и тот же отчет в двух экземплярах, бред... Обидно ссу@%9(0/... :((
#10 by Pashkaa
Да может кто то может опровергнуть и сказать что 8.2 будет поддерживать многоядерность?
#11 by Serg_1960
Может и бред скажу: В диспетчере можно указать для процесса какой процессор использовать - а "программно" что нельзя? Запустил два экземпляра на разных процессорах... Один экземпляр одну последовательность восстанавливает, а другой экземпляр - другую последовательность... Сиди смотри и наслаждайся :)
#12 by IronDemon
Ashampoo Core Tuner частично поможет
#13 by eddy_n
Я думаю, от 8.х никакой поддержки многоядерности ждать не приходится. Хотя бы свой сервер причесали...
#14 by Pashkaa
я его ставил, но кроме как показ процессов и установки приоритета для них я там ничего не нашел. Хотя заявлено было что может помочь в распределении нагрузки. Может не нашел опцию.. И почему ты говоришь что частично?
#15 by Megas
Ага запускаеш одинаковые отчёты на разных ядрах и делаеш ставки какой быстрее обработает =)
#16 by Fragster
такие компы - для висты спецом... одно ядро она использует, другое - прикладные программы ;)
#17 by Scooter
оптимизируйте сервер, клиент/сервер, толку будет больше
#18 by Pashkaa
как вариант я согласен, но всё же проблема решается лишь частично. Взять ту же УТ, формируешь большой отчет, данные обрабатываются на сервере, тут вопросов нет, но вот когда проводится Расчет ширины колонок отчета, опять же клиентское приложение грузит одно ядро своей системы и порой продолжительное время. Это не вариант. Так можно дойти и до виртуализации на сервере и терминальных соединениях.
#19 by Pashkaa
Почему какой то WinRAR умеет грузить ядра грамотно, а система корпоративного уровня которая рвётся в сегмент ERP, CRM, MRP и т.д. не умеет этого делать
#20 by Kraft
Учи мат. часть. ИМХО вряд ли многие вещи можно на потоки раскидать в 1С, прально тебе говорят, оптимизируй сервер приложений и сервер БД - больше толку будет. Многоядерность по настоящему гуд: для нормальных игр и приложений обработки видео, 3D и т.д. (ну и ессно на серверах :)
#21 by Rovan
точно! Виста любит по диску пошарится - то ли ищет что-то, то ли индексирует :-)
#22 by Kraft
Кто тебе сказал, что WinRAR грамотно грузит ядра? ПРоцессор грузит - операционна система :)
#23 by Vitello
Потому что по большому счету ей это не особо надо.
#24 by Kraft
:D
#25 by Megas
Она дефрагментирует
#26 by Rovan
было бы неплохо запускать ОбработкуОжидания на дркгом ядре - тем более когда она выполняет фоновые действия, а не с текущей открытой формой
#27 by Salvador Limones
ЛОЛ!!! 5 баллов!
#28 by Pashkaa
Я могу с уверенностью сказать что WinRAR при работе использует оба ядра системы, насколько грамотно он их использует я утверждать не возьмусь, и то что в момент работы winrar-a процы грузит система тоже не буду доказывать но в диспетчере загрузка ложится на процесс winrar-a. Вот тут я вообще не соглашусь.
#29 by asp
суть задачи архиватора позволяет задействовать все процессоры системы. 1С-ка на компе пользователя это каким образом может сделать? Что касается сервера, то на кластере можно создать несколько процессов и привязать каждый процесс к нужному ярду. Без проблем.
#30 by Pashkaa
Не я писал платформу 1С поэтому я на этот вопрос не отвечу, и в мат части по распараллеливанию вычислительных процессов я не силён, т.к. в этой области программирования не работал. Но ведь явно что во время работы приложения можно распараллелить чась вычислений и действий. Или я не прав? Что касается сервера я уже говорил что не всё что выполняется системой 1С можно выполнить на сервере, можно лишь грамотно перенести ряд кода выполняться на сервере.
#31 by svent0vit
следует заметить, что далеко не каждую задачу можно эффективно распараллелить. Тем более - для грамной реализации параллельных вычислений почти зачастую приходится полностью перерабатывать алгоритмы.
#32 by svent0vit
*грамотной
#33 by asp
> Но ведь явно что во время работы приложения можно распараллелить чась вычислений и действий. Или я не прав? какие вычисления вы предлагаете распараллелить?
#34 by Fragster
а вот это - замечательное заблуждение... даже 3.80 рар не загружает многопроцессорную систему на 100%, а только на 100/кол-во процессоров(ядер)% - а что там график загрузки показывает - это фигня полная...
#35 by Rovan
"во время работы приложения можно распараллелить чась вычислений и действий"....да, при условии, что они логически независимы друг от друга
#36 by Aleksey_3
А драйвера на процессор ставил?
#37 by fillIn
> и в мат части по распараллеливанию вычислительных процессов я не силён, т.к. в этой области программирования не работал. > Но ведь явно что во время работы приложения можно распараллелить чась вычислений и действий.
#38 by Pashkaa
Т.е. все утверждают в невозможности такого решения а порой и в отсутствии необходимости, я так понял? как тогда ты объяснишь вот это
#39 by Rovan
Лично у меня на 7-10 компах параллельно обрабытываются данные (фоном) в 1С которые не относятся к действиям пользователя - вот они как раз бы неплохо шли на 2м ядре :-)
#40 by Pashkaa
Я ищу объяснение почему этого не может сделать компания 1С, а не я. Если те кто в этом больше понимает утверждает, что это сделать физически сложно и неоправданно, то вопрос снят с обсуждения и тема закрыта.
#41 by Fragster
во! придумал! при запуске 1с - по оле запускай второй сеанс от робота для текущего пользователя - а у него - обработки ожидания, апи для управления какое-нить намути... таким образом даже 7.7 работать будет на 2 ядра
#42 by Fragster
1с это может сделать... более того, сервер 1с 8.1 может использовать сколько хочешь ядер (т.н. кластер серверов)... а зачем это клиенту - фиг знает...
#43 by Torquader
Распараллелить удачно можно только независимые вычисления, так как в противном случае оба процессора будут ждать друг друга. Что касается 1С, то логичным видится только реализация интерфейсной части на одном процессоре, а вычисления на другом, так как распараллеливание вычислений по обращениям в базу данных - очень нетривиальная вещь. Кстати, вполне вероятно, что интерфейсная часть 1С и работает на другом процессоре, только она потребляет очень мало ресурсов и невидна. И прежде, чем говорить о процессорах, надо поговорить о многопоточности - 1С изначально однопоточное приложение. При использовании многопоточности при работе со встроенным языком возникнет масса сложностей даже с реализацией процесса отладки приложения. Сейчас же программист 1С прекрасно представляет, что у него происходит в программе и в какой последовательности выполняется.
#44 by fillIn
В файлсерверной базе запустил первый попавшийся отчет (Диаграмма ганта). Грузятся оба ядра. 1-е 40-50%, 2-е 50-60%. Но это файл-сервер. Тут есть что распараллелить. В большинстве отчетов и обработок проведения на клиентской части клиент-сервера как правило распараллеливать нечего.
#45 by Pashkaa
Ну вот если взять SQL, он же умеет распараллеливать свою работу. Почему например 1С при выполнении того же запроса не может параллельно выбирать данные из разных таблиц задействую вычислительную мощность всей системы. Вообщем ладно, если это всё не просто и только причинит вред, пусть работает как работает. Как в анекдоте про папу программиста: "Сын приходит к отцу, тот сидит трудится над каким то кодом проги - Сын: папа а почему солнце всходит и заходит всходит и заходит - Папа: А ты проверял? - Сын: Да - Папа: Тогда ничего не трогай, главное что проверял и работает
#46 by Pashkaa
А ты попробуй запусти отчет который занимает много страниц на том же клиент-сервере. При выборке данных у тебя на серваке будет грузится оба ядва, а вот при непосредственном выводе отчета будет грузится клиент и засеки сколько. Тока в отчет добавь группировок что бы листов 100 было
#47 by Pashkaa
Не обратил внимания как ты обозвал архитектуру "файл-сервер", такой организации не бывает по определению :) Либо файловая версия либо клиент-серверная
#48 by Темный Эльф
А кто сказал, что не может? Запусти два 1С-а, выполни в каждом из них по запросу, затем собери вместе и покажи отчет. И будет у тебя полное распараллелирование и использование обоих ядер. И ты сам будешь разделять работу и указывать процессорам, кому что делать.
#49 by fillIn
А как же взаимовыручка? :-) Микрософт и прочие SQLи тоже жить хочут. Нельзя ж все под себя грести.
#50 by Pashkaa
Почему этого нет на уровне платформы а не на уровне клиентских приложений, я если уж на то пошло могу вообще обойтись без запросов через 1С, можно юзать и прямые запросы к скулю. Вопрос то не в том как сделать это через жопу
#51 by borik
Дисциплинированные  у вас пользователи однако. Типа работают на компе тока в 1С и в одном экземпляре :))). А вот у нас наоткрывают кучу приложений (а могут ещё и терминального клиента заюзать) и жалуются типа всё тормозит.... Та квот к чему я: если бы они работали на многоядерной системе они наверное ещё и фильмы параллельно смотрели без особого ущерба производительности... Мне всё таки кажется деньги потрачены не совсем зря...
#52 by Pashkaa
если честно на пользователей мне было похер когда задавал этот вопрос, порой когда надо выполнить самому что либо объемное в 1С, сидишь и ждёшь, готов выключить вообще всё лишь бы 1С выполняла обработку быстрее. Дак ведь хрен.
#53 by b_ru
сервер 1С тоже умеет распараллеливать свою работу. Любой сервер распараллелить очень легко - по триду на клиента. ты бы учебник какой по информатике почитал... Бывает такая архитектура, еще как бывает. Применительно к 1С - та самая файловая БД, к которой обращаются много пользователей одновременно.
#54 by fillIn
"по определению"  ? Поспорим об определениях? Внесите в студию определение, которому противоречит в како-либо части .
#55 by smaharbA
как здорово вы рассуждаете о многопоточности, я так неумею ... for /f "tokens=2 delims=," %i in ('wmic path win32_process where name^="1cv7s.exe" get handle^,processid /format:csv') do wmic path win32_thread where ProcessHandle="%i" get processhandle,handle
#56 by borik
А вот тут не факт что виновата тока 1С, возможно дисковая подсистема тормозит, может нехватка памяти...
#57 by ado
Такие вещи должен делать не клиент, а сервер приложений.
#58 by Rovan
например некий отчет проверяет (отбирает) элементы справочника по некой формуле (сложной функции) таким образом на 2х ядрах можно проверять на допустимость одновремнно 2 элемента
#59 by Rovan
на сервере приложений постоянно крутиться более важная обработка загрузки и выгрузки данных, обработки (сверки) загруженных данных и т.п.
#60 by Rovan
к
#61 by ado
Поставь еще один сервер.
#62 by Vitello
Кстати да, +1. Представил себе одинэсника который пишет многопоточный код...и подумал, что лучше не надо таких возможностей предоставлять...
#63 by Hitcher
И представь себе вопросы на Мисте. Типа "Написал простейший запрос. Но он  грузит напрочь всю 32 ядерную систему. Объясните пожалуйста, ка пальцах, как сделать так, чтобы работали хотя бы 16 ядер".
Tags:


Ответить:

Back to top