| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

Производительность

Page history last edited by PBworks 18 years, 2 months ago

09.02.06

Инструкция по ускорению:

  • скачать обработку http://servplus.pbwiki.com/f/SpisSklad.rar, запустить ее и проставить МОЛ для всех складов
  • установить в Сервис/Настройка/Режимы/Контроль остатков=по фирме.

 

После этого документы будут проводиться быстрее.


 

09.02.06

Предв.результат

Прописал МОЛ для складов.

Стал перепроводить документы.

Сначала установил "контроль остатков=не контролировать".

Споткнулся на первом же документе (Перемещение ТМЦ 01.01), который считывает информацию из регистра партий - 10-30 секунд на то, чтобы считать единственную строчку. Интересно, что "Начальный ввод", не считывающий остатков - проводится мигом.

И до тех пор, пока не поставил Контроль остатков=по фирме, скорость маленькая, очень медленно выполняется ВыгрузкаИтогов.

А когда поставил "по фирме", стало работать практически нормально.

 

Вот только закавыка - теперь перепровести/пересоставить документы так, чтобы удовлетворяло условию "контроль остатков=по фирме". Наверное, придется делать специализированный подбор остатков и менять фирму-склад.

 

И еще: быстро работает, когда создаешь-проводишь документы в оперативном режиме (когда каждый проводимый документ совпадает с точкой актуальности). Если создаешь-проводишь документы прошлых (по отношению к ТА) дней - время обработки каждого документа увеличивается секунд на 10 - рассчитываются итоги регистров по состоянию на документ.

 

Для проверки сменил обратно "Контроль остатков=по компании". И запустил тест: Брр.. Ужасно долго. Почему-то даже проведение приходного документа долго. Фигня какая-то.


09.02.06

Скорость обработки в зависимости от режима контроля остатков

По фирме 9 сек
по упр.аналитике 43 сек
по юр.лицу 75 сек
по компании 410 сек
не контролировать404 сек


09.02.06

Рекомендации Павла Шемякина

Будут размещаться на Советы Шемякина


08.02.06 21:00

Wow! Зафиксировал тормоза конфигурации С-П по сравнению с типовой ТиС

Пробовал разные варианты установки сервера и конфигураций, вставил трассировку действий (запись/проведение) и вдруг заметил:

проведение документов (и ПриходТМЦ и Реализация) значительно медленнее типовой ТиС

Запись документов происходит фактически моментально, а на проведение тратится от 30 секунд в приходе до 5 минут в реализации !

Это вроде не зависит от склада, с которым работаем.

Да, и самое главное - это в однопользовательском режиме !

 

Проверил это же в файл-серверной версии - аналогично

Будем искать тормоз при проведении документа !

 

От чего может зависеть замедление:

- либо у нас ситуация с данными принципиально отличается от типовой ТиС (много складов)

- либо чего-то мы навставляли тормозного при проведении


План работ по производительности:

 

  • фиксация фактов
  • улучшение оборудования (сервера, сети, р/м)
  • улучшение механизмов 1С

 

Для начала посмотрим, __с какой скоростью 1С работает__.

Для измерения можно скачать обработку http://servplus.pbwiki.com/f/Test.rar которая создает и проводит порции приходных и расходных документов, а затем выдает скорость обработки (или, наоборот, время обработки документа).

Страница обработки "Тест производительности"

 

Если измерить производительность 1С в самых "лучших" условиях: один пользователь, на хорошей машине, можно даже при размещении ИБ не в сети, а на локальном диске - то мы получим максимальную скорость обработки.

Это будет в дальнейшем ориентиром и оценкой для более сложных и нагруженных случаев, а также для оценки, насколько наши добавленные в конфигурацию особенности замедлили работу системы, оценки замедления при росте БД.

 

Имея измеритель, мы можем оценить также, насколько хорошо и быстро работает сервер и сеть.

 

Я измерил скорость работы типовой 1С ТиС, получил:

- у себя на ноутбуке, в файл-серверном варианте - 8-10 секунд на документ (на удивление медленно!)

- SQL на сервере офиса Капитан в однопользовательском варианте, работа с ноутбука - 12-15 секунд на документ

- SQL на сервере офиса Капитан в однопользовательском варианте, работа с сервера:

  1. тест 1 (начало работы с демо-базой) - 4-5 секунд на документ
  2. тест 2 (после нескольких часов набивки в демо-базу) - 9-10 секунд/документ
  3. тест 3 (после перестарта 1С, сервер не перезапускался) - снова 4-5 секунд на документ

 

Результаты по конфигурации "Сервис-Плюс":

- ноутбук, локальная ИБ - 9-10 секунд/документ

 

Выводы:

  1. Вряд ли нам удастся разогнать 1С для обработки средней накладной быстрее чем за 10 секунд. И даже 30 секунд на обработку - еще нормально.
  2. Мощность процессора, на котором исполняется 1С, сильно влияет на скорость обработки.
  3. Во время работы 1С происходит некоторое "насыщение" со снижением скорости обработки, после перезапуска 1С производительность восстанавливается до прежних значений

 

Попутные наблюдения:

- занятость процессора при обработке SQL-запросов: даже одна рабочая станция занимает наш офисный сервер на 100%.

- Файл подкачки фактически не трогается.

- если для БД изначально не выделить много места, наблюдаются необъяснимо-неконтролируемые "зависания" обработки запросов. Видимо, выделяется доп.память и на реорганизацию идет время.

- когда решил перестартовать 1С после долгой работы, повторный запуск-долго (неск.минут) идет "Установка соединения с сервером базы данных"; видимо сервер при этом обновляет какие-то параметры.


Скорость обработки документов, наверное, должна зависеть от размера БД. Кроме того, в тесте нагрузки нужно указать именно такой средний размер документа, который есть на самом деле.

Для оценки, какие документы есть в БД можно использовать обработку к_АнализаторБД http://servplus.pbwiki.com/f/AnalizDB.rar


Для измерения производительности системы в многопользовательском режиме:

  • добавлена возможность синхронизации старта обработки к_ТестНагрузки (чтобы все стартовали одновременно) - обновленную версию можно скачать
  • добавлена возможность автозапуска обработки к_ТестНагрузки прямо при запуске системы: в глобальный модуль в процедуру ПриНачалеРаботыСистемы добавить строки

	Если ИмяПользователя()="Администратор" Тогда
		ОткрытьФорму("Отчет", "Автозапуск", КаталогИБ()+"ExtFormsк_ТестНагрузки.ert");
	КонецЕсли;

Инструкция по организации многопользовательского теста:

  1. найдите комнату, где есть несколько компьютеров, на которых вы одновременно запустите много-много одинаковых 1С и будете мерять совокупную производительность; обеспечьте наличе 1С на всех р/м; разверните их экраны в одну сторону - к себе
  2. создайте новую БД на SQL, заведите на сервере новую конфигурацию 1С, подсоединитесь к БД, проверьте работу, в т.ч. так чтобы из ExtForms этой конфигурации вызывалась обработка к_ТестНагрузки
  3. заведите пользователя Администратор со всяческими правами и проверьте, как автозапускается к_ТестНагрузки, поле "Рабочий каталог" для этого пользователя не заполняйте. Для нового пользователя установите Основной склад - оптовый (в демо-ТиС это Главный склад), фирму и полномочия, позволяющие проводить документы, превышающие остаток кредита (в демо-ТиС - Администратор).
  4. создайте ярлык для автозапуска 1С, где в поле Объект укажите команду для запуска 1С с указанием ИБ и пользователя, типа: "C:\Program Files\1Cv77\BIN\1Cv7s.exe" enterprise /NАдминистратор /D"F:\DemoDB.sql\". Проверьте автозапуск с ярлыка.
  5. Проверка-подготовка к многопользовательскому запуску: запустите к_ТестНагрузки с одного р/м, установите нужные параметры теста (продолжительность, параметры "рабочей смеси") и сохраните настройки обработки (и установите Сохранять автоматически для настроек). Запустите 2-й экземпляр, нажмите "Общий старт" и пронаблюдайте одновременную работу. Подготовьтесь к массовому запуску: установите продолжительность и сохраните настройки.
  6. Приступайте к тестированию: на всех рабочих местах запустите нужное количество экземпляров 1С (используйте подготовленный ранее ярлык). При запуске лучше дождаться, когда предыдущее приложение реально стартует (последовательно появляются сообщения в "Запуск приложения", "Соединение с БД" - до тех пор пока не появится обычное "1С:Предприятие".
  7. На одном компьютере с 256 Мбайт ОЗУ можно запустить 5-6 экземпляров 1С (у меня получалось стролько, дальше - доп. тормоза при запуске). Может, у вас получится и больше.
  8. Чтобы смоделировать работу (гипер-активную!) 30 пользователей, вам понадобится 5-6 компьютеров.
  9. Для наблюдения процесса лучше разместить несколько 1С-окон слева-направо (или сверху-вниз), чтобы одновременно наблюдать строку состояния
  10. После завершения теста - запишите результаты (программа сама не ведет лог-файл)

 

Задачи теста (что нужно пронаблюдать):

  • скорость обработки документов (для одного процесса и для системы в целом). Если наблюдается линейный рост времени обработки в зависимости от числа процессов, значит, центральный обрабатывающий узел работает с насыщением и его не удастся "разогнать" увеличением числа одновременно работающих. Если же, до некорого числа одновременно работающих процессов, совокупная скорость быстрее, чем сумма одиночных скоростей - значит, у центр.обрабатывающего узла есть еще резервы, он может "потянуть больше"
  • загруженность процессора и памяти сервера, на котором работает SQL
  • какие сообщения чаще появляются в статус-строке рабочих станций ("Ожидание блокировки журнала", "Выполнение запроса"-это чтение остатков или что еще)
  • есть ли падение скорости обработки со временем (возможно за несколько часов на 40-50%)

 

Варианты теста:

  • зависимость скорости обработки от скорости ЦП SQL-сервера
  • зависимость от числа процессоров

 

Что можно не мерять:

  • насколько медленнее работает система, когда на сервере еще что-то работает (на сервере ничего больше не должно работать)
  • зависимость от доступной ОЗУ - уменьшать все равно не будем, а увеличивать вроде незачем - можно пронаблюдать использование ОЗУ

Comments (0)

You don't have permission to comment on this page.