Переключение на Главную Страницу Страницы: 1 2 [3] 4 5  ОтправитьПечать
Очень популярная тема (более 25 ответов) Жуткие тормоза при работе с 1С (число прочтений - 18640 )
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Жуткие тормоза при работе с 1С
Ответ #30 - 05. Июня 2012 :: 07:18
Печать  
mozer писал(а) 05. Июня 2012 :: 07:08:
Z1 писал(а) 05. Июня 2012 :: 07:03:
mozer писал(а) 05. Июня 2012 :: 06:45:
Z1 писал(а) 05. Июня 2012 :: 04:14:
mozer писал(а) 04. Июня 2012 :: 19:06:
Слушай читаю тут статью. Проблема описана как у меня и грешат на временные таблицы. Проблема в том, что буфер сесии разбухает до ограмных размеров и очищается при выходе. Есть способ его на "горячую" чистить??

статью сюда показывай ссылку ( наверное с софтпоинта).

да от туда.
http://softpoint.ru/article_id11.htm

не на ту статью дал ссылку.
замедления перепроведения при большом кол-ве документов в sql 2005.

Статью про временные таблицы не помню но по моему там идет речь об стандартном запросе
Условие(Зн в СписокЗнач); но может и ошибаюсь.

На ту. дело втом, чтоя обратил внимание на конструкцию
Код
Выбрать все
if exists (select * from TEMPDB..SYSOBJECTS where ID = OBJECT_ID('TEMPDB..#TMP0PROC') and SYSSTAT & 0xf = 4 )
   drop procedure #TMP0PROC;
IF EXISTS (SELECT * FROM tempdb..sysobjects WHERE ID=OBJECT_ID('tempdb..#TMP0') AND sysstat & 0xf = 3 )
    DROP TABLE #TMP0;
 



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

ну так найди такое место в программе и перепиши через прямой запрос 1с++.Сравни в профайлере время до и после.
Пример приведенный в статье несложно переписать на прямой запрос ( надо использовать УложитьСписокОбъектов)
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Жуткие тормоза при работе с 1С
Ответ #31 - 05. Июня 2012 :: 07:19
Печать  
Z1, смена full на simple правда приводит к увеличению производительности?
Мне интересно за счет чего?
  

1&&2&&3
Наверх
 
IP записан
 
mozer
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 324
Местоположение: Пермь
Зарегистрирован: 14. Января 2011
Пол: Мужской
Re: Жуткие тормоза при работе с 1С
Ответ #32 - 05. Июня 2012 :: 07:22
Печать  
Цитата:
ну так найди такое место в программе и перепиши через прямой запрос 1с++.Сравни в профайлере время до и после.
Пример приведенный в статье несложно переписать на прямой запрос ( надо использовать УложитьСписокОбъектов)

Видимо так и сделаю, раз нет других вариантов. А место я уже нашел еще вчера. запросов там только много.
  
Наверх
 
IP записан
 
mozer
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 324
Местоположение: Пермь
Зарегистрирован: 14. Января 2011
Пол: Мужской
Re: Жуткие тормоза при работе с 1С
Ответ #33 - 05. Июня 2012 :: 07:24
Печать  
Eprst писал(а) 05. Июня 2012 :: 05:20:
ЗЫ: если что, в комплексной основная оптимизация совсем в другом месте.


и по этому поводу очень хочется услышать комментарии  Улыбка
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Жуткие тормоза при работе с 1С
Ответ #34 - 05. Июня 2012 :: 07:28
Печать  
trad писал(а) 05. Июня 2012 :: 07:19:
Z1, смена full на simple правда приводит к увеличению производительности?
Мне интересно за счет чего?

да за счет меньшего колва write в журнал транзакций.
Для 1с sql с ее блокировкой _1sjourn это особенно критично.
Второе что при full  часть информации записывается
в журнал транзакций гораздо подробней.

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

у меня журнал транзакций 10 мб. В течении дня может увеличиться до 20 мб.
  
Наверх
 
IP записан
 
mozer
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 324
Местоположение: Пермь
Зарегистрирован: 14. Января 2011
Пол: Мужской
Re: Жуткие тормоза при работе с 1С
Ответ #35 - 05. Июня 2012 :: 07:39
Печать  
Z1 писал(а) 05. Июня 2012 :: 07:28:
у меня журнал транзакций 10 мб. В течении дня может увеличиться до 20 мб.

У меня он вообще 19 ГБ. может урезать?

Началось притормаживание как раз.(в данный момент)
еще обнаружил конструкции типа в профайлере
Код
Выбрать все
exec sp_cursorfetch 180170097,4,0,1
 


Что это?
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Жуткие тормоза при работе с 1С
Ответ #36 - 05. Июня 2012 :: 07:48
Печать  
mozer писал(а) 05. Июня 2012 :: 07:39:
Z1 писал(а) 05. Июня 2012 :: 07:28:
у меня журнал транзакций 10 мб. В течении дня может увеличиться до 20 мб.

У меня он вообще 19 ГБ. может урезать?

Началось притормаживание как раз.(в данный момент)
еще обнаружил конструкции типа в профайлере
Код
Выбрать все
exec sp_cursorfetch 180170097,4,0,1
 


Что это?

так это же full и bacup-ы ты наверное не делаешь.
Уже был совет перейти на simple.
  
Наверх
 
IP записан
 
mozer
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 324
Местоположение: Пермь
Зарегистрирован: 14. Января 2011
Пол: Мужской
Re: Жуткие тормоза при работе с 1С
Ответ #37 - 05. Июня 2012 :: 07:56
Печать  
Код
Выбрать все
CREATE PROCEDURE #RGTEMP0PROC(@current CHAR(9)) AS
   SET NOCOUNT ON
   SET TEXTSIZE 0
   DECLARE @VAL CHAR(9)
   IF EXISTS (SELECT * FROM SC84(NOLOCK) WHERE ID=@current AND ISFOLDER=1 ) BEGIN
	 SET NOCOUNT ON
	 INSERT INTO #RGTEMP0 SELECT ID,ISFOLDER FROM SC84(NOLOCK) WHERE PARENTID=@current AND ID NOT IN( SELECT VAL FROM #RGTEMP0 )
	 WHILE 1=1 BEGIN
	     SELECT @VAL=MAX(VAL) FROM #RGTEMP0 WHERE ISFOLDER=1
	     IF @VAL IS NULL BREAK
	     INSERT INTO #RGTEMP0 SELECT ID,ISFOLDER FROM SC84(NOLOCK) WHERE PARENTID=@VAL AND ID NOT IN( SELECT VAL FROM #RGTEMP0 )
	     DELETE FROM #RGTEMP0 WHERE VAL=@VAL AND ISFOLDER=1
	 END
   END
   ELSE
   IF NOT EXISTS( SELECT * FROM #RGTEMP0 WHERE VAL=@current )
	 INSERT #RGTEMP0 VALUES(@current, 2)
return (0)
 



Код
Выбрать все
exec #RGTEMP0PROC '   C1B   '
drop procedure #RGTEMP0PROC
 



вот бы отловить, где это происходит. Это возможно при работе пользователей?
Понятно, что где-то в номенклатуре ...
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Жуткие тормоза при работе с 1С
Ответ #38 - 05. Июня 2012 :: 08:05
Печать  
(37) По списку значений формирует таблицу временную где все значения.
Сначала в эту таблицу помещает все папки подчиненные элементы которых нет.( сверху вниз).потом рассматриваем отдельно каждый из них.
Затем добавляет все элементы
и временная таблица будет содержать и папки и элементы.


В результате во временной таблице будут все элементы и папки подчиненные данной папке.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Жуткие тормоза при работе с 1С
Ответ #39 - 05. Июня 2012 :: 08:30
Печать  
Z1 писал(а) 05. Июня 2012 :: 07:28:
trad писал(а) 05. Июня 2012 :: 07:19:
Z1, смена full на simple правда приводит к увеличению производительности?
Мне интересно за счет чего?

да за счет меньшего колва write в журнал транзакций.

в модели simple что то не пишется в журнал транзакций?
  

1&&2&&3
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Жуткие тормоза при работе с 1С
Ответ #40 - 05. Июня 2012 :: 08:56
Печать  
trad писал(а) 05. Июня 2012 :: 08:30:
Z1 писал(а) 05. Июня 2012 :: 07:28:
trad писал(а) 05. Июня 2012 :: 07:19:
Z1, смена full на simple правда приводит к увеличению производительности?
Мне интересно за счет чего?

да за счет меньшего колва write в журнал транзакций.

а что в модели simple что то не пишется в журнал транзакций?

пишеться но в сокращеном виде.
в simple Насколько помню пишеться не вся информация об изменениях индексов.в full вся.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Жуткие тормоза при работе с 1С
Ответ #41 - 05. Июня 2012 :: 09:11
Печать  
Z1 писал(а) 05. Июня 2012 :: 08:56:
trad писал(а) 05. Июня 2012 :: 08:30:
а что в модели simple что то не пишется в журнал транзакций?

пишеться но в сокращеном виде.
в simple Насколько помню пишеться не вся информация об изменениях индексов.в full вся.

Ты наверно про ALTER INDEX .. REBUILD, про который сказано: "The rebuild operation can be minimally logged if the database recovery model is set to either bulk-logged or simple"

ну так где ты видел в работе эту операцию, тем более в 77?
  

1&&2&&3
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Жуткие тормоза при работе с 1С
Ответ #42 - 05. Июня 2012 :: 17:34
Печать  
trad писал(а) 05. Июня 2012 :: 09:11:
Z1 писал(а) 05. Июня 2012 :: 08:56:
trad писал(а) 05. Июня 2012 :: 08:30:
а что в модели simple что то не пишется в журнал транзакций?

пишеться но в сокращеном виде.
в simple Насколько помню пишеться не вся информация об изменениях индексов.в full вся.

Ты наверно про ALTER INDEX .. REBUILD, про который сказано: "The rebuild operation can be minimally logged if the database recovery model is set to either bulk-logged or simple"

ну так где ты видел в работе эту операцию, тем более в 77?


В принципе ты прав.
Но все равно держать full и не использовать это( например как автор subj) какой смысл. Могут возникнуть потенциальные проблемы и перерости в настоящие по след причинам
1. выбор неправильного  приращения журнала
а. процент от размера задержки для вычисления приращения.
б. слишком малое число дает частое приращение вызывает блокировку базы и это может и сказаться где либо.
в. слишком большой размер приращения может вызвать
внутренюю фрагментацию логических журналов.

2. Если на диске где  журнал есть что-то еще то
может быть и внешняя фрагментация файла.
3. Вроде можно отключить но по умолчанию вновь выделяемый объем ( а в simple выделяется гораздо меньше и реже )
всегда прописывается  нулями (0х00 ) а это тоже время.
4. надо иметь четкие планы по созданию резервных копий.
т.е. full требует большего администрирования.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Жуткие тормоза при работе с 1С
Ответ #43 - 05. Июня 2012 :: 19:48
Печать  
Да, естественно нужно иметь резервное копирование журнала.
В отсутствие необходимости его копировать - full-модель конечно не нужна.

Но автор не говорил что он не делает резервное копирование журнала и оно ему не нужно.
И менять модель с целью увеличения производительности - мне кажется бесполезным.
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Жуткие тормоза при работе с 1С
Ответ #44 - 05. Июня 2012 :: 20:01
Печать  
я бы лучше обратил внимание на то, что AWE выключен
а платформа как я понимаю 32битная
  

1&&2&&3
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 4 5 
ОтправитьПечать