gifts2017

100% загрузка процессора при вводе текста

Опубликовал Александр Аверков (Аверков) в раздел Администрирование - Оптимизация БД (HighLoad)

Оказывается, что простой ввод текста в поле ввода (без обработчиков событий) способен загрузить процессор на 100%!!! (всё зависит от железа и скорости ввода)

Для исключения возможных ошибок в проектировании, а также для
исключения проблем связанных с совместимостью платформы 1С:
Предприятие с операционными системами были предприняты попытки
использования платформы с пустой базой данных, содержащей единственную
обработку на которой расположено поле ввода (с отключенным
автопереносом строк) в различных режимах (локально, клиент-сервер),на
различных операционных системах (Windows 2003 Server, Windows XP, Windows Vista).
Проведённы испытания дали аналогичные результаты.

Проблема, как выяснилось, известна давно. Найдены первые упоминания о ней ещё в 2005 году (во времена платформы 8.0)

http://itland.ru/forum//index.php?showtopic=10915&hl=загрузка+проца+при+вводе

Но почему-то в течении 4 лет ситуация не изменилась. Не понятно почему форумы посвященные оптимизации работы конфигураций на 8-ой платформе пестрят советами о том как правильно выбрать оборудование, настроить SQL-сервер, оптимизировать запрос и т.п., а такая дыра в производительности, которая сводит к нулю все эти старания до сих пор не закрыта?

Одна из веток партнерского форума на эту тему закончилась следующим постом:

"1С сообщила, что работает над этой проблемой, значит вопрос будет решен! УРА!"

Дата сообщения 26.12.2007. Что бы это могло значить? Разработчики сделали пометку в блокноте: "исправить ошибку в платформе" и потеряли её в списке из 100 страниц? Или может быть посеяли весь блокнот? А может быть просто фирме 1С до этого нет дела - одним багом больше, одинм меньше... всё равно будут покупать.

Вчера в 1С ушло письмо с официальным обращением, ответа пока что не последовало и судя по тому, что проблема не решается уже в течении 4 лет можно предположить, что ждать её быстрого решения не приходится и сейчас. В связи с этим пришлось сделать как в старом анекдоте... "после сборки обработать напильником" :) В этом очень помогла внешняя комопнента AutoItX3 (http://www.script-coding.info/AutiItX.html) с помощью которой удалось вставить искуственные задержки (Sleep)... Это позволило снизить нагрузку на процессор до 3-5% вместо 50% (данные приведены для Core2Duo 2.2 Ггц)

Здесь приведено свежее обсуждении проблемы на различных форумах (здесь же приведён пример решения):

http://www.infostart.ru/forum/messages/forum14/topic9265/message70072/?result=reply#message70072

http://www.forum.mista.ru/topic.php?id=406456#F

Выражаю благодарность за помощь в решении проблемы Игорю Белышеву (aka biv75: http://www.infostart.ru/profile/30388/)

 

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Епрст (Ёпрст) 06.05.09 18:12
Ну так, в чем проблема то ?
Переходите на клюшки - там это реализовано!
venger; biv75; vip; +3 Ответить
2. Игорь Белышев (biv75) 06.05.09 20:27
Сам врюхался со снеговиком по самые .. клубни, думал что вот оно, счастье наступило, теперь всё проверяю на производительность, вычисляю хамуты.
Из последнего долго думал на чем строить продажу билетов на автовокзалах, сделал на РС ввиду логичности построения, но сомнения мучали, вроде как правильней использовать регистры накопления РН, не поленился потратил 6 часов на перестроение хранения данных в РН замерил производительность.. при равных регистрах запись в РН на порядок дольше чем РС.... плевался долго, для программы где важна скорость и оперативность это очень важный момент, а как же торговые компании где всё на РН, полный анамнез. Я конечно понимаю что 1С рекомендует использовать SQL и проскальзывают речи что мол они и сразу предупреждали что 8.Х была заlумана ислючительно для работы в паре с SQL, но какого (прошу прощения за мой французкий) хрена анонсированая как прорыв платформа работает хуже чем 7.7.

Толи я чего-то не понимаю, толи..... (на этом мысль обрывается)
3. Serj (Serj1C) 07.05.09 10:17
Никогда не замечал, а любопытно ведь.
У меня 8.1 - 50%ЦП, 8.2 - 10%ЦП.
Значит в 8.2 поправили?
4. Александр Аверков (Аверков) 07.05.09 13:00
(3) 50% - для двухядерного процессора означает, что один процессор загружен на 100%. В 8.2 ситуация чуть лучше только для командного интерфейса, для обычного всё точно так же.
5. Serj (Serj1C) 17.06.09 15:10
Список исправленных ошибок в 8.1.14.69

10025077 Ввод данных в поля ввода
Проблема:
При вводе данных в поле ввода наблюдается 100% загрузка процессора компьютера.
Дата публикации: 2009-06-10

http://users.v8.1c.ru/WE_8_1_14_69.aspx
6. Александр Аверков (Аверков) 29.06.09 11:10
(5) Спасибо за информацию. Приятно удивлен тому, что многочисленные просьбы решить эту проблему всё-таки увенчались успехом. По крайней мере надеюсь, что увенчались, потому как пока ещё не смотрел релиз :)
7. AdApter (adapter) 07.10.09 11:04
релиз поставили и посмотрели. теперь все ок. Вся ферма терминалов нагружена примерно на 30%. большая разница даже по сравнению с той корявкой что мы сами вставляли.

Мы все молодцы, спасибо тем кто участвовал в партнерке и помог достучаться до небес :)
8. AdApter (adapter) 07.10.09 11:06
правда иногда глюки неоправданной загрузки в терминале все равно бывают. Наверное в других местах, в каких - придется снова вылавливать
9. Алексей Подоляк (trioka) 20.05.13 07:02
Добрый день. Не могу запустить на windows 2008x64
не регается dll (autoitx3_64.dll)
нужна для фикса загрузки локального проца при подключении по RDP.
может проблема по другому уже решена?
ps. я знаю что продублировал сообщение. не ругайтесь
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа