1 2 3 Previous Next 30 Replies Latest reply on Dec 15, 2014 3:58 AM by Bugatt1

    VmWare и 1С 8

    Kapppa6ac Novice

      Доброго времени суток.

       

      Досталось в наследство 1С 8 самописный велосипед и его прогер. Прогер грит, что ему для того, чтобы все шустро работало нужена только частота проца, а кол-во ядер не играет никакой роли, т.к. 1С однопоточна.

      Есть серванты по 16 ядер, они тянут базу, но прилично подтормаживает.

      Возникла идея "объединить" каким-то образом ядра, чтобы в винде видилось 4 ядра, а по факту на каждое ядро в винде приходилось по 4 ядра физических.

      Возможно ли такое или глупая затея?

        • 1. Re: VmWare и 1С 8
          EGarbuzov Virtuoso
          VMware Employees

          Возникла идея "объединить" каким-то образом ядра, чтобы в винде видилось  4 ядра, а по факту на каждое ядро в винде приходилось по 4 ядра  физических.

          Нет, такое сделать не получится. Кажется, где-то недавно читал про проекты объёдинения матрицы "обычных" ядер в огромный логический CPU, но к виртуализации в нынешнем её понимании это никакого отношения не имело.

           

          Был довольно большой топик по работе 1C в vSphere, возможно найдёте там что-то полезное: http://communities.vmware.com/thread/296390

          • 2. Re: VmWare и 1С 8
            Umlyaut Expert

            Kapppa6ac wrote:

             

            Доброго времени суток.

             

            Досталось в наследство 1С 8 самописный велосипед и его прогер. Прогер грит, что ему для того, чтобы все шустро работало нужена только частота проца, а кол-во ядер не играет никакой роли, т.к. 1С однопоточна.

            Есть серванты по 16 ядер, они тянут базу, но прилично подтормаживает.

            Возникла идея "объединить" каким-то образом ядра, чтобы в винде видилось 4 ядра, а по факту на каждое ядро в винде приходилось по 4 ядра физических.

            Возможно ли такое или глупая затея?

             

            Судя по всему, используется 1С на виртуальном терминальном сервере, не?

             

            В таком разе имеет смысл запускать ехе-шники 1C в сеансах через bat/cmd с "зажатым" аффинити - тогда Ваши "гипотетические 8 юзеров 1С" будут работать каждый на своём vCPU... ну, скажем, 8-процессорной VM... а не делить на восьмерых тики единственного vCPU (и соответствующего ему pCPU). Соответственно, следующих юзеров можно так же равномерно "размазывать" по ядрам...

            Я, во всяком случае (у меня два терминальника - с 7 и 8 версиями 1С), именно так "расфасовал" пользователей - каждым N юзеров по vCPU (читай - pCPU).

             

            Попробуйте, глядишь, полегчает...

             

            P.S. Про необходимость хороших IOPSов для 1С-ной базы уж и не заикаюсь - сам держу её на зеркале из двух SSD...

            • 3. Re: VmWare и 1С 8
              eworm Hot Shot

              Пардон за оффтоп, но для того,что бы 1с работала сносно,нужен прежде всего код, который способен более менее работать, а для этого нужен программер, который его  напишет.

               

              99 процентов проблем с тормозящей 1С- это или код, или задачи, которые эта 1С решать в принципе не должна.

               

              1С это смб софт и должен рабоать на смб железе.

              • 4. Re: VmWare и 1С 8
                Kapppa6ac Novice

                eworm wrote:

                 

                99 процентов проблем с тормозящей 1С- это или код, или задачи, которые эта 1С решать в принципе не должна.

                Полностью согласен. Но я не прогер 1С, да и вникать во все это желания особого нет. Поэтому проверить не могу.

                • 5. Re: VmWare и 1С 8
                  Kapppa6ac Novice

                  Umlyaut wrote:

                   

                  Судя по всему, используется 1С на виртуальном терминальном сервере, не?

                   

                  В таком разе имеет смысл запускать ехе-шники 1C в сеансах через bat/cmd с "зажатым" аффинити - тогда Ваши "гипотетические 8 юзеров 1С" будут работать каждый на своём vCPU... ну, скажем, 8-процессорной VM... а не делить на восьмерых тики единственного vCPU (и соответствующего ему pCPU). Соответственно, следующих юзеров можно так же равномерно "размазывать" по ядрам...

                  Я, во всяком случае (у меня два терминальника - с 7 и 8 версиями 1С), именно так "расфасовал" пользователей - каждым N юзеров по vCPU (читай - pCPU).

                   

                  Попробуйте, глядишь, полегчает...

                   

                  P.S. Про необходимость хороших IOPSов для 1С-ной базы уж и не заикаюсь - сам держу её на зеркале из двух SSD...

                       Фифти-фифти - кто-то на терминале, кто-то на клиенте. Но суть не в том. Тестировался сервер 1С и SQL сервер.

                  Гоняли множество тестов. Харды SSD. Начали с них, результат максимально приближенный к "чистому" железу показал драйвер LSI Logic Parallel, остальные жутко тупили, кстати говоря пробывали еще и Hyper-V на нем вообще все плохо.

                       Запустили проведение базы дабы посмотреть под нагрузкой одного пользователя. На "Чистом" железе база проводилась минут 20, а на виртуалке 1ч 20мин. Мониторилось все счасть под Veeam. Загрузка любого ядра не превышала 0.8 Ггц, суммарная загрузка не более 3Ггц. Почему???

                       Очень хотелось бы убрать все добро с реального железа в виртуалки под HA, но пока как видно 1С этого не дает. Есть ли удачные примеры виртуализации нагруженных 1Сок (не типовых конфигураций), поделитесь опытом?

                  • 6. Re: VmWare и 1С 8
                    Merlin22AK Novice

                    Всем добрый день.

                    Ну надо же, топик на злобу дня!

                    Никак не мог понять что происходит с 1с8.2:

                         Есть связка из 3 ВМ (серверы 2008 r2):

                    1. Терминальный сервер. Стоит клиент 1с

                    2. Сервер 1с предприятие

                    3. MSSQL 2008

                    Практика показала, что наиболее загружен по процам в этой связке MSSQL. И ему я выдал 4 vCPU сделал для CPU резерв 2000 и лимит 8000. (физические процессоры на хосте 2 Ггц)

                    В обычное дневное время всё както жило и нареканий не вызывало. И тут они решили запустить какое то мега проведение документов за месяц! И чудовище задумалось.... У них на физ. сервере раньше это занимало 16 часов. Ну я то думал с нашей vТехникой мы уделаем старый железный сервер. И вот фиг, не вышло. Как мы утром посмотрели ВМ с MSSQL занялся на 2000 Мгц и так и ехал всю ночь и не успел к утру. Ну думаю наверное в резерв упёрся и почемуто до лимита ресурс не взял, ну типа глюкануло что то , в следующую ночь сделал резерв 8000. Не помогло, таже фигня 2000 и привет. Залез в консоль сервера запустил диспетчер задач и "Вот, ведь, БЛИН!!!" , занят только 1 CPU , остальные 3 отдыхают и переодически занимается другой а первый расслабляется. И так оно и едет на 2000. Знакомый чел, близкий к 1С объяснил, что так как задача проведения запущена одним юзером 1С, то она не может занять более 1 CPU. И правда, запустили параллельно ещё одну задачу, она заняла 2-й CPU. Таким образом выходит что на скорость выполнения одного задания 1С ограничена мегагерцами одного ядра физического процессора . Это очень печальный вывод!

                     

                    Казалось бы сервер SQL должен был сам смекнуть и разделить задачу на несколько CPU сам, но почему то этого не делает. Мне всё равно почемуто кажется это не проблема 1С, а гакойто баг MS SQL.

                     

                    Может кто то это поборол?

                    • 7. Re: VmWare и 1С 8
                      Kapppa6ac Novice

                      Merlin22AK wrote:

                       

                      Всем добрый день.

                      Ну надо же, топик на злобу дня!

                      Никак не мог понять что происходит с 1с8.2:

                           Есть связка из 3 ВМ (серверы 2008 r2):

                      1. Терминальный сервер. Стоит клиент 1с

                      2. Сервер 1с предприятие

                      3. MSSQL 2008

                      Практика показала, что наиболее загружен по процам в этой связке MSSQL. И ему я выдал 4 vCPU сделал для CPU резерв 2000 и лимит 8000. (физические процессоры на хосте 2 Ггц)

                      В обычное дневное время всё както жило и нареканий не вызывало. И тут они решили запустить какое то мега проведение документов за месяц! И чудовище задумалось.... У них на физ. сервере раньше это занимало 16 часов. Ну я то думал с нашей vТехникой мы уделаем старый железный сервер. И вот фиг, не вышло. Как мы утром посмотрели ВМ с MSSQL занялся на 2000 Мгц и так и ехал всю ночь и не успел к утру. Ну думаю наверное в резерв упёрся и почемуто до лимита ресурс не взял, ну типа глюкануло что то , в следующую ночь сделал резерв 8000. Не помогло, таже фигня 2000 и привет. Залез в консоль сервера запустил диспетчер задач и "Вот, ведь, БЛИН!!!" , занят только 1 CPU , остальные 3 отдыхают и переодически занимается другой а первый расслабляется. И так оно и едет на 2000. Знакомый чел, близкий к 1С объяснил, что так как задача проведения запущена одним юзером 1С, то она не может занять более 1 CPU. И правда, запустили параллельно ещё одну задачу, она заняла 2-й CPU. Таким образом выходит что на скорость выполнения одного задания 1С ограничена мегагерцами одного ядра физического процессора . Это очень печальный вывод!

                       

                      Казалось бы сервер SQL должен был сам смекнуть и разделить задачу на несколько CPU сам, но почему то этого не делает. Мне всё равно почемуто кажется это не проблема 1С, а гакойто баг MS SQL.

                       

                      Может кто то это поборол?

                           Что-то похожее объясняли наши прогеры. Суть в том, что сам по себе сервак 1С однопоточный и хоть ты тресни если запускаешь перепроведение, то будет работать на одином камушке. Другой вариант когда работают несколько пользователей, тогда они разбираются на рабочие процессы и каждый рабочий процесс берет себе по одному камушку. В рабочем процессе находятся пять пользаков.

                           Из этого получается, что если ты хочешь получить именно производительность, то нужна только частота проца. Ну и если пользователей много то нужно много ядер.

                       

                           Слова не мои - слова программера. Если не прав в чем-то поправьте пожалуйста.

                      • 8. Re: VmWare и 1С 8
                        Merlin22AK Novice

                        ну да, всё похоже так и есть.

                        Будем ждать, что ктото что-нибудь придумал...

                        Вот что то нашлось но пока не ковырял: http://manaeff.ru/forum/viewtopic.php?f=11&t=534

                        • 9. Re: VmWare и 1С 8
                          RumataRus Master

                          Merlin22AK wrote:

                           

                          Казалось бы сервер SQL должен был сам смекнуть и разделить задачу на несколько CPU сам, но почему то этого не делает. Мне всё равно почемуто кажется это не проблема 1С, а гакойто баг MS SQL.

                           

                          Приветствую, коллега!

                          Рискну предположить, что MS SQL здесь ни при чем.

                          Мы используем ДРУГУЮ систему управления предприятием в связке с  MS SQL 2008 и он по мере надобности использует ресурсы всех ядер, см. скриншот.

                          Также из практики могу сказать, что включение RSS на VMXNET3 этого сервера улучшило ситуацию с обработкой сетевых запросов: теперь они обрабатываются всеми ядрами сервера.

                          ispro7srv.PNG

                          • 10. Re: VmWare и 1С 8
                            RumataRus Master

                            Merlin22AK wrote:

                             

                            Казалось бы сервер SQL должен был сам смекнуть и разделить задачу на несколько CPU сам, но почему то этого не делает. Мне всё равно почемуто кажется это не проблема 1С, а гакойто баг MS SQL.

                             

                            Может кто то это поборол?

                             

                            ДОПОЛНЕНИЕ:

                            На скриншоте этого не видно, но могу дать честное слово, что когда даже ОДИН пользователь запускает какую-нибудь ресурсоемкую процедуру, то используется столько ядер, сколько нужно, попробую в тестовой среде это организовать и Вам продемонстировать другим скриншотом.

                            • 11. Re: VmWare и 1С 8
                              Merlin22AK Novice

                              Извините, а что есть "включение RSS на VMXNET3" , в свойствах (смотрю vClient-ом) сетевого адептера для ВМ у которой адептер VMXNET3 нет никаких доп свойств типа RSS.

                              • 13. Re: VmWare и 1С 8
                                Merlin22AK Novice

                                Большое спасибо, будем пробовать. Очень надеюсь что поможет.

                                • 14. Re: VmWare и 1С 8
                                  Kapppa6ac Novice
                                  Мы используем ДРУГУЮ систему управления предприятием в связке с  MS SQL 2008 и он по мере надобности использует ресурсы всех ядер,

                                  Т.е. не 1С?

                                  1 2 3 Previous Next