Как зарегистрироваться на форуме?

Блог имени Кайрат-F2 (темы, которые создал(а) участник форума Кайрат-F2)

Почему СОНО использует часть возможностей процессора

Раздел форума о работе ТОО AKMedia и Центра поддержки налоговых программ в Караганде

Почему СОНО использует часть возможностей процессора

Сообщение Кайрат-F2 » 14 дек 2010, 17:09

Помню, когда СОНО только запустили, было много претензий, что СОНО работает медленно, тормозит даже на современных компьютерах. При этом часто фразы начинаются с текста "у меня двухядерный компьютер, два гигабайта памяти, а СОНО всё равно тормозит".

Пришла пора рассказать о том, как СОНО работает на компьютерах с разным количеством ядер. Если честно, то это не совсем миф. Действительно, СОНО выполняет свои операции медленнее, чем предыдущие программы (ЭФНО, ИСИД, НДС, СГДС). Просто потому что СОНО требуется больше операций выполнять, чем старым программам.

Но простой заменой процессора здесь нельзя решить. СОНО использует и нагружает различные элементы компьютера. Это в первую очередь: процессор, оперативная память, жесткий диск, локальная сеть и т.д. Тут я позволю себе рассказать как можно проще несколько сложных технических деталей. Кому-то это известно, для других темный лес.

Давайте разберемся с одним частым заблуждением: процессор, это вовсе не та большая железная коробка с проводами, куда подключен монитор и остальные комплектующие. Эта коробка называется "системный блок". А процессор это лишь небольшая, но видимо самая главная составная часть системного блока.

Задачами процессора является выполнение операций. До недавнего времени процессоры были одноядерными, т.е. одновременно могла выполняться лишь одна задача. Когда, например, на Вашем компьютере запущен Word, антивирус, 1С и СОНО, то компьютер все задания передает по очереди процессору и тот сначала выполняет маленькую операцию из Word, потом из антивируса, потом из 1С ну и, наконец, из СОНО. И так по кругу. В итоге, кажется, что они выполняются одновременно. При этом СОНО в силу своих особенностей требует выполнения большого количества операций.

Ядром процессора называется та его часть, которая может выполнять задачи.

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

В итоге, когда запускаете СОНО на одноядерном компьютере, то и СОНО начинает тормозить, и остальные программы стоят в очереди, когда процессор освободится, чтобы выполнить их операции. Результат: на одноядерных компьютерах если начинает тормозить СОНО, то и остальные программы тоже начинают тормозить.

Какой вывод можно сделать: если Вы хотите, чтобы СОНО работала чуть быстрее, то рекомендуется закрыть как можно больше программ, тогда процессор будет быстрее обрабатывать операции СОНО.

Теперь давайте посмотрим на двухядерные системы. В двухядерных системах одновременно могут выполняться две операции. Т.е. теоретически процессор может быть в два раза быстрее. Замечательно. Но есть одна проблема. Эти операции не могут быть из одного потока.

Поток – новое понятие. Давайте еще углубимся в технические детали. Положим, у Вас запущена какая-то программа. Каждая запущенная программа это оказывается не только операции, которые надо выполнить. Это сложный комплекс из операций, которые надо выполнить, данных, которые надо обработать и т.д. Этот комплекс принято называть процессом (не путать с процессором).

Т.е. запущенные СОНО, 1С, Word и т.д. это запущенные процессы, которые выполняются. Положим, что у нас есть запущенный процесс. Этот процесс состоит из большого количества операций, которые надо выполнить. Было бы замечательно, если операции разбивались парами и выполнялись параллельно. Но такое сделать невозможно. Техническая задача, которую надо как-то решить.

Поэтому придумали такую вещь, как потоки. Процессы реализовали так, что один запущенный процесс может состоять из нескольких потоков. Если говорить упрощенно, то один поток это подпроцесс основного процесса. И уже эти потоки могут выполняться одновременно разными ядрами. Так задачи одного процесса разделяют на несколько потоков. Т.е. если у Вас в программе имеются два потока и два ядра в процессоре, то они могут выполняться параллельно. Это если потоки одинаково нагружают ядра.

Теперь посмотрим на двухядерный компьютер, в котором выполняется СОНО: при запуске СОНО в ней запускается не один, не два, не три, а около полусотни разных потоков. Каждый поток выполняет свои задачи. Положим, один поток отвечает за прорисовку графики, второй за отслеживание нажатий на мышь и клавиатуру, третий за синхронизацию с сервером и т.д.

И вот почти все эти потоки почти не нагружают процессор. Каждый из них создает небольшую нагрузку. А в итоге все выполняются довольно быстро. Но есть одна проблема: сама СОНО состоит из одного рабочего потока. Т.е. все основные операции выполняет один единственный поток, который осуществляет основные операции. Самые тяжелые операции, как например, валидация формы выполняются этим рабочим потоком, а остальные играют роль обслуживающих.

Вот и получается: СОНО состоит из примерно 50 потоков, на компьютере два или больше ядер. Но всего один поток нагружает полностью одно ядро.

И имеем, что на компьютере два ядра, но одно из них загружено СОНО, а второе ядро простаивает. В итоге большую часть времени СОНО использует около 50% от возможностей процессора. Лишь иногда использует больше, когда один из вспомогательных потоков требует дополнительных операций.

Т.е. с одной стороны СОНО использует только половину возможностей процессора. А с другой стороны остается одно свободное ядро. А это не так уж плохо.

Почему? Запустите СОНО на одноядерном и двухядерном процессоре. На одноядерном процессоре, если запущена СОНО, то работать в других программах затруднительно, если запустить валидацию (проверку правильности заполнения) большой формы. А вот на двухядерном процессоре можно запустить валидацию и еще что-нибудь делать, если этому чему-то достаточно одного ядра

А вот если у Вас всего два ядра, то если запустить одновременно СОНО и валидацию, плюс упаковку файлов, Word, Excel, браузер и две 1С-ки, то всё начнет тормозить.

Соответственно, если у Вас скажем 4 ядра, то СОНО будет в большинстве случаев использовать лишь чуть больше 25% его возможностей. Зато будет около 75% времени свободно для других программ.

Это конечно очень упрощенно. Многое из этого компьютерщикам известно. Да и периодически вспомогательные потоки требуют некоторого усилия от оставшихся ядер. Но зато дает понимание, как работает СОНО на разных компьютерах. Надеюсь, не очень сложно объяснил.
Кайрат-F2

 
Сообщения: 37471
Зарегистрирован: 27 янв 2008, 16:54
Откуда: г. Братислава - Словакия
Профессия: IT Специалист
Блог имени Кайрат-F2
Активность участника


    Эта тема в сообществах:

    Тема пока не добавлена ни в одно сообщество

    Re: Почему СОНО использует часть возможностей процессора

    Сообщение Olga062007 » 14 дек 2010, 19:05

    Кайрат-F2 писал(а):Надеюсь, не очень сложно объяснил

    Нет! Очень доходчиво! Даже для чайников ;)
    Аватара пользователя
    Olga062007
    -------
     
    Сообщения: 2725
    Зарегистрирован: 16 фев 2009, 22:40
    Откуда: Алматы
    Профессия: Бухгалтер
    Блог имени Olga062007
    Активность участника

      Re: Почему СОНО использует часть возможностей процессора

      Сообщение shurik_kz » 15 дек 2010, 00:03

      Кайрат, а вообще можно ли сделать СОНО, чтобы использовала параллельность потоков?
      Аватара пользователя
      shurik_kz
      -------
       
      Сообщения: 6927
      Зарегистрирован: 17 сен 2008, 15:02
      Откуда: Almaty
      Профессия: IT Специалист
      Блог имени shurik_kz
      Активность участника

        Re: Почему СОНО использует часть возможностей процессора

        Сообщение Кайрат-F2 » 15 дек 2010, 00:12

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

        Дело в том, что самые тяжелые вещи в СОНО сделаны в 1 поток. В СОНО есть куча уже оптимизированного. Если хочешь могу некоторые технические вещи и секреты написать, но там всё упирается в знание Java и JRE. В целом ситуация такая: видно, что в одних местах всё написано качественно и достаточно оптимально, а в других местах видно, что можно улучшать и улучшать. Но это скорее задача разработчиков.

        Учитывая сколько я времени потратил на попытки изучения структуры и улучшения работы - оно того не стоит. Надо править в самой СОНО, а не снаружи костыли ставить.
        Кайрат-F2

         
        Сообщения: 37471
        Зарегистрирован: 27 янв 2008, 16:54
        Откуда: г. Братислава - Словакия
        Профессия: IT Специалист
        Блог имени Кайрат-F2
        Активность участника

          Re: Почему СОНО использует часть возможностей процессора

          Сообщение det » 15 дек 2010, 04:31

          Замечательная статья, Кайрат. Хочу от себя добавить: заметил, что очень сильно производительность СОНО зависит от размера базы данных. Выход нашелся сам собой: в июле-августе в одной фирме криво встали обновления СОНО и справочники ТС отказались обновляться. О твоем решении этой проблемы я еще не знал и сделал по-своему: папку с текущей версией СОНО переименовал в SONO_08_2010 и изменил путь к ней в ярлыке, также переименовав сам ярлык в "Старая СОНО (до августа 2010 года)". Запустил - работает (что ей не работать, пути все относительные, java машина своя). Экспортировал все профили. Затем установил новую версию СОНО в стандартную папку, импортировал профили. В итоге:
          • СОНО работает на порядок быстрее
          • Все отчеты и уведомления сохранены
          • Обновление установилось правильно, потому что "с нуля"
          Из минусов разве что лишний гигабайт съеденного дискового пространства, но ни компьютер, ни бухгалтера этого не заметили.
          Аватара пользователя
          det
          -------
           
          Сообщения: 72
          Зарегистрирован: 28 июл 2009, 22:07
          Откуда: Павлодар
          Профессия: IT Специалист
          Блог имени det
          Активность участника

            Re: Почему СОНО использует часть возможностей процессора

            Сообщение Кайрат-F2 » 15 дек 2010, 11:18

            Ну чем больше данных в базе, тем она больше и дольше занимает время на запуск и выключение СОНО, также на каждый запрос к ней. Поэтому если скажем не нужны справочники ТНВЭД, их можно не обновлять с сервера, если старые отчеты не нужны, их можно удалить и т.д., то тогда СОНО будет чуть быстрее запускать и работать. База-то в этом случае меньше.

            Согласен, что скорость жесткого диска в некоторых местах ограничивает. Поэтому неплохо, если жесткий диск высокоскоростной и в базе нет лишних данных.
            Кайрат-F2

             
            Сообщения: 37471
            Зарегистрирован: 27 янв 2008, 16:54
            Откуда: г. Братислава - Словакия
            Профессия: IT Специалист
            Блог имени Кайрат-F2
            Активность участника

              Re: Почему СОНО использует часть возможностей процессора

              Сообщение Gosti » 15 дек 2010, 12:03

              99% тормозов это не работа с threads и использование аффинити_маск, а виртуалка, вот основной тормоз соньки и этого не изменить никакими оптимизациями.
              Аватара пользователя
              Gosti

               
              Сообщения: 3851
              Зарегистрирован: 12 май 2010, 13:46
              Откуда: From bunch of crap
              Профессия: Безработный
              Блог имени Gosti
              Активность участника

                Re: Почему СОНО использует часть возможностей процессора

                Сообщение shurik_kz » 15 дек 2010, 12:08

                Gosti
                С возвращением :)
                Gosti писал(а): это не работа с threads и использование аффинити_маск, а виртуалка

                Кайрат-F2 писал(а):Надеюсь, не очень сложно объяснил.

                :D
                Аватара пользователя
                shurik_kz
                -------
                 
                Сообщения: 6927
                Зарегистрирован: 17 сен 2008, 15:02
                Откуда: Almaty
                Профессия: IT Специалист
                Блог имени shurik_kz
                Активность участника

                  Re: Почему СОНО использует часть возможностей процессора

                  Сообщение Кайрат-F2 » 15 дек 2010, 12:09

                  Моя задача была ускорить процесс валидации на больших формах МОП (книги покупки, книги реализаций). Там в последней версии кое-что сломали. Это отдельная тема для разговора. Но факт, что большую часть времени выполняется неоптимизированный код, который занимает 50% возможностей процессора. А сама JRE (виртуалка как Вы ее называете) при этом простаивает. Периодически у нее запускаются обработчики, но выполняются быстро, а вот рабочий поток подвисает СОНО
                  Кайрат-F2

                   
                  Сообщения: 37471
                  Зарегистрирован: 27 янв 2008, 16:54
                  Откуда: г. Братислава - Словакия
                  Профессия: IT Специалист
                  Блог имени Кайрат-F2
                  Активность участника

                    Re: Почему СОНО использует часть возможностей процессора

                    Сообщение Gosti » 15 дек 2010, 12:12

                    Я не вернулся - мимо проходил :P
                    Аватара пользователя
                    Gosti

                     
                    Сообщения: 3851
                    Зарегистрирован: 12 май 2010, 13:46
                    Откуда: From bunch of crap
                    Профессия: Безработный
                    Блог имени Gosti
                    Активность участника

                      Re: Почему СОНО использует часть возможностей процессора

                      Сообщение kaz » 15 дек 2010, 12:27

                      Gosti
                      я очень рад, что ты с нами :)
                      Аватара пользователя
                      kaz
                      -------
                       
                      Сообщения: 2152
                      Зарегистрирован: 07 мар 2009, 18:32
                      Откуда: г.Шымкент
                      Профессия: Другое
                      Блог имени kaz
                      Активность участника

                      Re: Почему СОНО использует часть возможностей процессора

                      Сообщение gulya_bis » 15 дек 2010, 12:52

                      Gosti, я тоже рада, что Вы здесь :)
                      gulya_bis
                      -------
                       
                      Сообщения: 219
                      Зарегистрирован: 04 май 2009, 18:16
                      Блог имени gulya_bis
                      Активность участника

                      Re: Почему СОНО использует часть возможностей процессора

                      Сообщение Светлана_Николаевна » 15 дек 2010, 20:55

                      Gosti писал(а):Я не вернулся - мимо проходил :P

                      Ходи этой дорогой почаще. ;)
                      Аватара пользователя
                      Светлана_Николаевна

                       
                      Сообщения: 3528
                      Зарегистрирован: 17 янв 2010, 11:12
                      Откуда: Костанай
                      Профессия: Бухгалтер
                      Блог имени Светлана_Николаевна
                      Активность участника

                      Re: Почему СОНО использует часть возможностей процессора

                      Сообщение Кайрат-F2 » 15 дек 2010, 20:56

                      Делайте форум поинтересней, будет больше интересных людей
                      Кайрат-F2

                       
                      Сообщения: 37471
                      Зарегистрирован: 27 янв 2008, 16:54
                      Откуда: г. Братислава - Словакия
                      Профессия: IT Специалист
                      Блог имени Кайрат-F2
                      Активность участника

                        Re: Почему СОНО использует часть возможностей процессора

                        Сообщение Светлана_Николаевна » 16 дек 2010, 00:45

                        Кайрат-F2 писал(а):Делайте форум поинтересней, будет больше интересных людей

                        Это делал Gosti.
                        Я так точно не умею. :(
                        Аватара пользователя
                        Светлана_Николаевна

                         
                        Сообщения: 3528
                        Зарегистрирован: 17 янв 2010, 11:12
                        Откуда: Костанай
                        Профессия: Бухгалтер
                        Блог имени Светлана_Николаевна
                        Активность участника

                        Re: Почему СОНО использует часть возможностей процессора

                        Сообщение Кайрат-F2 » 16 дек 2010, 01:48

                        Мы конечно отвлеклись от темы. Но смысл моих последних слов, если немного описывает анекдот:
                        сидит женщина в луже и плачет "потеряла, потеряла". На вопрос "что потеряла?", она ответила "равновесие потеряла"

                        Смысл в том, что если будем сидеть и ничего не делать, а только сидеть и плакать, то будущего не будет. Надо вставать и работать, а не сидеть в луже и плакать.
                        Кайрат-F2

                         
                        Сообщения: 37471
                        Зарегистрирован: 27 янв 2008, 16:54
                        Откуда: г. Братислава - Словакия
                        Профессия: IT Специалист
                        Блог имени Кайрат-F2
                        Активность участника

                          Re: Почему СОНО использует часть возможностей процессора

                          Сообщение Gosti » 03 сен 2013, 13:55

                          Хммм, лучшая тема за неделю? От 2010 года? :D
                          Аватара пользователя
                          Gosti

                           
                          Сообщения: 3851
                          Зарегистрирован: 12 май 2010, 13:46
                          Откуда: From bunch of crap
                          Профессия: Безработный
                          Блог имени Gosti
                          Активность участника

                            Re: Почему СОНО использует часть возможностей процессора

                            Сообщение Кайрат-F2 » 03 сен 2013, 14:01

                            Ну несколько участников только на этой неделе ее увидели (была ссылка на тему недавно) и поставили балл. Так бывает, всплывает тема не очень новая. В списке только темы, которые оценивают сами участники
                            Кайрат-F2

                             
                            Сообщения: 37471
                            Зарегистрирован: 27 янв 2008, 16:54
                            Откуда: г. Братислава - Словакия
                            Профессия: IT Специалист
                            Блог имени Кайрат-F2
                            Активность участника

                              Re: Почему СОНО использует часть возможностей процессора

                              Сообщение Gosti » 03 сен 2013, 14:03

                              Ааа, ясно.
                              Аватара пользователя
                              Gosti

                               
                              Сообщения: 3851
                              Зарегистрирован: 12 май 2010, 13:46
                              Откуда: From bunch of crap
                              Профессия: Безработный
                              Блог имени Gosti
                              Активность участника

                                Re: Почему СОНО использует часть возможностей процессора

                                Сообщение Gosti » 23 янв 2014, 18:54

                                Опять прошелся мимо, писал тут недавно сервис запущяющий 600 потоков одновременно, даже оно не вешало машину настолько, как это делает епамовское чудоговноподелие. Эклипс как среда разработки хорош, но jvm - УГ, да и сам джава нормально смотрится в качестве инструментария для разработки софта под телевизоры/чайники/телефоны, не более.
                                Аватара пользователя
                                Gosti

                                 
                                Сообщения: 3851
                                Зарегистрирован: 12 май 2010, 13:46
                                Откуда: From bunch of crap
                                Профессия: Безработный
                                Блог имени Gosti
                                Активность участника


                                  Привет. Мы ищем таланты:
                                  • Тебе интересен форум? Ты хочешь участвовать и развивать его?
                                  • Тебе интересно в твоей профессии?
                                  • Тебе есть чем поделиться из твоего опыта с коллегами на форуме? Есть чем поделиться из собственного опыта, научить или рассказать?
                                  Мы ищем таланты, которые помогут развить форум. Что взамен:
                                  • Получить приглашение на форум
                                  • Радость общения
                                  • Совместное развитие
                                  Как: об этом написано на странице: http://tandem.f2.kz/

                                  Вернуться в ТОО AKMedia

                                   


                                  • Похожие темы
                                    Ответы
                                    Просмотры
                                    Последнее сообщение

                                  Кто сейчас на конференции

                                  Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17


                                  Лучшие темы за неделю:

                                  [07.08.2024 обновлена] Шаблоны форм на 2024 год для ИС СОНО
                                  Кайрат-F2
                                  15 ноя 2024, 19:42



                                  Вам помог наш сайт?

                                  Тогда и мы с радостью примем Вашу помощь
                                  Перечислите любую сумму на Билайн-номер +7-777-398-41-00

                                  Каждое перечисление поможет форуму!



                                  Новые сообщения:

                                  Работа налоговых серверов в 4 квартале 2024 года
                                  Кайрат-F2
                                  20 ноя 2024, 10:08

                                  [19.11.2024 обновлена] e-Salyq Business - мобильное приложение
                                  Кайрат-F2
                                  19 ноя 2024, 00:07

                                  [07.08.2024 обновлена] Шаблоны форм на 2024 год для ИС СОНО
                                  Кайрат-F2
                                  15 ноя 2024, 19:42

                                  [15.11.2024 обновлена] Шаблоны форм на 2025 год для ИС СОНО
                                  Кайрат-F2
                                  15 ноя 2024, 19:41

                                  Экономика Казахстана к 2060 годам и сегодняшней рождаемость
                                  Кайрат-F2
                                  09 ноя 2024, 19:31

                                  Цены на овощи и фрукты в Казахстане
                                  Кайрат-F2
                                  07 ноя 2024, 04:45

                                  [30.10.2024 обновлена] [e-Salyq Azamat] eSalyq - Мобильное приложение
                                  Кайрат-F2
                                  30 окт 2024, 22:07

                                  [18.10.2024 обновлена] Шаблоны форм на 2023 год для ИС СОНО
                                  Кайрат-F2
                                  18 окт 2024, 04:40

                                  [18.10.2024 обновлена] Шаблоны форм на 2022 год для ИС СОНО
                                  Кайрат-F2
                                  18 окт 2024, 04:37

                                  [18.10.2024 обновлена] Шаблоны форм на 2021 год для ИС СОНО
                                  Кайрат-F2
                                  18 окт 2024, 04:35

                                  [18.10.2024 обновлена] Шаблоны форм на 2020 год для ИС СОНО
                                  Кайрат-F2
                                  18 окт 2024, 04:34

                                  [18.10.2024 обновлена] Правила заполнения налоговых форм на 2019 год
                                  Кайрат-F2
                                  18 окт 2024, 04:32

                                  [06.06.2022 обновлена] NCALayer - для запуска Java в браузере
                                  Кайрат-F2
                                  14 окт 2024, 14:35

                                  Девальвация или инфляция в Казахстане?
                                  Кайрат-F2
                                  11 окт 2024, 21:39

                                  [Новость] www.esf.gov.kz - Портал по выписке электронных счетов-фактур
                                  Кайрат-F2
                                  09 окт 2024, 18:44

                                  Работа налоговых серверов в 3 квартале 2024 года
                                  Кайрат-F2
                                  08 сен 2024, 00:42

                                  [28.12.2023 обновлена] AKMedia Browser 23.12.28[ЭСФ, обновление форм СОНО, Кабинет]
                                  Кайрат-F2
                                  27 авг 2024, 13:03

                                  [03.08.2024 обновлена] Версия ИС СОНО 4.0.39 [02.08.2024]
                                  daur
                                  19 авг 2024, 17:43

                                  portal.kgd.gov.kz
                                  Кайрат-F2
                                  18 авг 2024, 19:39

                                  Олимпиада
                                  Кайрат-F2
                                  13 авг 2024, 12:01

                                  [Новость] knp.kgd.gov.kz - Кабинет налогоплательщика ИСНА
                                  Кайрат-F2
                                  01 авг 2024, 21:55

                                  А вы знаете, что.............
                                  Кайрат-F2
                                  01 июл 2024, 12:46

                                  [Новость] Банковские новости
                                  Кайрат-F2
                                  13 июн 2024, 01:20

                                  Работа налоговых серверов в 2 квартале 2024 года
                                  Кайрат-F2
                                  13 июн 2024, 00:47

                                  [16.12.2022 обновлена] Транспортный клиент для ИС Акциз (Декларант)
                                  Кайрат-F2
                                  17 май 2024, 23:46

                                  [Новость] pki.gov.kz Национальный удостоверяющий центр РК
                                  Кайрат-F2
                                  02 май 2024, 15:11

                                  [Новость] online.stat.kz - отчеты в статистику через Интернет
                                  Кайрат-F2
                                  02 май 2024, 15:10


                                  Хостинг предоставлен Компанией Хостинг–Сервис HS.kz