autoua
×
Это мобильная версия форума. Перейти на обычную версию форума ×
Вход
TarasOnEscort | Достоевский **
Тормоза 1С 8.2 и 2005 SQL
10 января 2014 в 10:01
Достался мне в наследство офис. Руки все сделать с «0» пока не дошли, времени ещё не было и собственно проблемы которые не решил предыдущий ИТшник достались мне.

Сервер Dell Power Edge 2950 правда 2гига ОЗУ
1С ка официальная
Sql ломанная

вся такая же комплектация на таком же серваке НО с нормальной Sql (правда лицензионной) и 4мя гигами мозгов работает нормально.

Тормоза даже при открытии просто «общего журнала»
Ломанный SQL может тормозить? Или памяти мало
Самое интересно что: В первом случае работает человек до 10, во втором всего 3-5.
В чем может быть проблема?


Я если честно не понимаю нафига вообще SQL нужен при таком количестве юзеров, но это уже вопрос второй. Да забыл база чуть более 4 Гигов, но ГБ говорит что даже когда БД чистилась тормоза тормоза были.
Nix | Супер писатель! ***
Re: Тормоза 1С 8.2 и 2005 SQL
[Re: TarasOnEscort] 10 января 2014 в 10:18
Ну первое что стукнуло в голову...

а) - проверить локалку
б) отключить полнотекстовый поиск в 1С



TarasOnEscort 10.01.2014 10:01 пишет:

нафига вообще SQL нужен при таком количестве юзеров




а размер базы какой?
Змінено Nix (10:21 10/01/2014)
ollsoft | Супер писатель! **
Re: Тормоза 1С 8.2 и 2005 SQL
[Re: TarasOnEscort] 10 января 2014 в 10:26
Сколько бит винда и sql стоят на серваке?
Какой SP у sql?
Какая конфа 8-ки, управляемые формы или нет?
Сколько рабочих процессов создано на серваке 1с?
TarasOnEscort | Достоевский **
Re: Тормоза 1С 8.2 и 2005 SQL
[Re: Nix] 10 января 2014 в 10:27
Nix 10.01.2014 10:18 пишет:

Ну первое что стукнуло в голову...

а) - проверить локалку
б) отключить полнотекстовый поиск в 1С



TarasOnEscort 10.01.2014 10:01 пишет:

нафига вообще SQL нужен при таком количестве юзеров




а размер базы какой?




Размер БД я писал чуть более 4 Гигов, не думаю что "полнотекстовый поиск" на таких объемах может давать тормоза. А причем тут локалка?
Sanya | V.I.P ***
Re: Тормоза 1С 8.2 и 2005 SQL
[Re: TarasOnEscort] 10 января 2014 в 10:42
TarasOnEscort 10.01.2014 10:01 пишет:

Я если честно не понимаю нафига вообще SQL нужен при таком количестве юзеров, но это уже вопрос второй.



SQL при любом количестве юзеров считается более надежным средством обеспечения целостности данных при аварийных выключениях и снятия блокировок при аварийном отваливании пользователей. А по поводу тормозов - мелкософт SQL сервер и правда весьма жаден до памяти. Кстати, при таком объеме памяти, надеюсь, он не используется как терминальный сервер? Ибо рекомендация мелкософта по сайзингу терминального сервера - 256 МБ на пользователя минимум, 512 рекомендуется.
TarasOnEscort | Достоевский **
Re: Тормоза 1С 8.2 и 2005 SQL
[Re: ollsoft] 10 января 2014 в 10:50
ollsoft 10.01.2014 10:26 пишет:

Сколько бит винда и sql стоят на серваке?
Какой SP у sql?
Какая конфа 8-ки, управляемые формы или нет?
Сколько рабочих процессов создано на серваке 1с?




винда 32 и sql 32 на серваке
SP у sql - 1SP
Какая конфа 8-ки, 8.2 УТП (конфа писалась вручную) по формам ХЕЗ, как их проверить? я с 8кой не особо дружелюбен
ollsoft | Супер писатель! **
Re: Тормоза 1С 8.2 и 2005 SQL
[Re: TarasOnEscort] 10 января 2014 в 10:59
TarasOnEscort 10.01.2014 10:50 пишет:


винда 32 и sql 32 на серваке
SP у sql - 1SP
Какая конфа 8-ки, 8.2 УТП (конфа писалась вручную) по формам ХЕЗ, как их проверить? я с 8кой не особо дружелюбен



Такая разрядноть софта и на втором серваке, где нормально работает?
SP очень желательно обновить, уже есть 4-й. Первый у sql2005 не удачный и сам по себе может тормозить.
ОЗУ для сервака, на котором стоит sql я всегда считаю минимум 4 ГБ, лучше от 8. Есть возможность добавить и проверить?
По хорошему, нужно поставить 64 бит винду и SQL 2005 SP4, последний релиз платформы 1с (у них тоже от версии к версии бываю лаги) и с 4 ГБ ОЗУ должно все летать.
TarasOnEscort | Достоевский **
Re: Тормоза 1С 8.2 и 2005 SQL
[Re: ollsoft] 10 января 2014 в 11:06
ollsoft 10.01.2014 10:59 пишет:

TarasOnEscort 10.01.2014 10:50 пишет:


винда 32 и sql 32 на серваке
SP у sql - 1SP
Какая конфа 8-ки, 8.2 УТП (конфа писалась вручную) по формам ХЕЗ, как их проверить? я с 8кой не особо дружелюбен



Такая разрядноть софта и на втором серваке, где нормально работает?
SP очень желательно обновить, уже есть 4-й. Первый у sql2005 не удачный и сам по себе может тормозить.
ОЗУ для сервака, на котором стоит sql я всегда считаю минимум 4 ГБ, лучше от 8. Есть возможность добавить и проверить?
По хорошему, нужно поставить 64 бит винду и SQL 2005 SP4, последний релиз платформы 1с (у них тоже от версии к версии бываю лаги) и с 4 ГБ ОЗУ должно все летать.




Все точно так же!
На серваки покупали лицензионные ПО
Для тестирования нима свободных мозгов. (в будющем хочу расширяться до 32Гиг)
Да и в принципе планирую развернуть Виртуалки и на них крутить 1С ки
Обновление релизов (по словам программиста) ничего не дают.
Сервер не терминальный.
ollsoft | Супер писатель! **
Re: Тормоза 1С 8.2 и 2005 SQL
[Re: TarasOnEscort] 10 января 2014 в 11:11
Тогда сделайте хотя бы что можете, обновите sql и все таки релиз 8-ки. Программисты так говорят потому, что им лень это делать. Там нужно обновлять и на серваке и на локалках.
F@Z@ | Достоевский *
Re: Тормоза 1С 8.2 и 2005 SQL
[Re: TarasOnEscort] 10 января 2014 в 11:12
Есть одна волшебная палочка которая тебе поможет
Вернее одна из двух
Тебе какую?
TarasOnEscort | Достоевский **
Re: Тормоза 1С 8.2 и 2005 SQL
[Re: F@Z@] 10 января 2014 в 11:15
F@Z@ 10.01.2014 11:12 пишет:

Есть одна волшебная палочка которая тебе поможет
Вернее одна из двух
Тебе какую?



обоснуй
ollsoft | Супер писатель! **
Re: Тормоза 1С 8.2 и 2005 SQL
[Re: F@Z@] 10 января 2014 в 11:16
А озвучить в студию обе никак?
F@Z@ | Достоевский *
Re: Тормоза 1С 8.2 и 2005 SQL
[Re: TarasOnEscort] 10 января 2014 в 13:25
TarasOnEscort 10.01.2014 11:15 пишет:

F@Z@ 10.01.2014 11:12 пишет:

Есть одна волшебная палочка которая тебе поможет
Вернее одна из двух
Тебе какую?



обоснуй



Про корявость 1С не будем говорить я так понимаю.
Поскольку там оптимизировать как кон в поле не валялся, и никто это делать не собирается.
МС мускуль сам по себе конченный, убеждался не раз.
База на одном серваке, а клиенты на другом (если мы про РДП говорим конечно).
Все это в купе и будет тот косяк что ты описываешь.
На сегодняшний день есть два варианта как все это поправить (если говорим о быстроте работы), но по целесообразности смотри сам.
1. И РДП и МССКУЛ на одном серваке , обмен данными только по 'мемори шаре' ни как НЕ TCP/IP. Вариант не фонтан но работает.
2. Вариант более экзотический. 1 сервак на ней ставишь VMWARE лепишь ту схему что у тебя в описании из двух серваков и будет тебе счастье.
Почему вмваре а не виртуал бокс и ксены прочии спросите вы?
Ответ в там где пункт 1.
Внутри виртуальной сетки, запросы не транслируются и не эмулируются через реальные сетевухи, а бегают на уровне виртуальных вычислений в том числе в оперативной памяти. По этому вмваре многие любят за быстроту но эти многие не понимают как это работает.
Так что дерзай.
Krokokot | Супер писатель! **
Re: Тормоза 1С 8.2 и 2005 SQL
[Re: TarasOnEscort] 10 января 2014 в 15:53
а кеширование записи/чтения на диск включено?
Cabai | V.I.P **
Re: Тормоза 1С 8.2 и 2005 SQL
[Re: TarasOnEscort] 10 января 2014 в 16:35
Про 1С я почти ничего не знаю, но вообще при проблемах с тормозами на SQL Server использую следующее:

Смотрим запросы, выполнение которых занимает наибольшее время:

SELECT DISTINCT TOP 10
t.TEXT QueryName,
s.execution_count AS ExecutionCount,
s.max_elapsed_time AS MaxElapsedTime,
ISNULL(s.total_elapsed_time / 1000 / NULLIF(s.execution_count, 0), 0) AS AvgElapsedTime,
s.creation_time AS LogCreatedOn,
ISNULL(s.execution_count / 1000 / NULLIF(DATEDIFF(s, s.creation_time, GETDATE()), 0), 0) AS FrequencyPerSec
FROM sys.dm_exec_query_stats s
CROSS APPLY sys.dm_exec_sql_text( s.sql_handle ) t
ORDER BY s.max_elapsed_time DESC, ExecutionCount DESC
GO

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

Иногда проблема может быть с некорректной статистикой, которую оптимизатор использует при построении запроса.

Помогает грохнуть статистику для таблицы, с которой получаются проблемы при построении запроса.

В общем, чтобы сильно не заморачиваться для начала я посоветовал следующее:
1. Сделать бекап базы.
2. Грохнуть всю статистику для таблиц ( статья в помощь - там тебе нужен только кусок, который касается статистики!).
3. Перестроить все индексы ( статья в помощь)

Если после этого проблема с тормозами не исчезнет, то возвращаемся к запросам, которые занимают больше всего времени и анализируем.

P.S. На 2 Гб SQL Server вполне нормально может работать.
Sanya | V.I.P ***
Re: Тормоза 1С 8.2 и 2005 SQL
[Re: Cabai] 10 января 2014 в 17:07
Cabai 10.01.2014 16:35 пишет:

Про 1С я почти ничего не знаю, но вообще при проблемах с тормозами на SQL Server использую следующее:

Смотрим запросы, выполнение которых занимает наибольшее время:

SELECT DISTINCT TOP 10
t.TEXT QueryName,
s.execution_count AS ExecutionCount,
s.max_elapsed_time AS MaxElapsedTime,
ISNULL(s.total_elapsed_time / 1000 / NULLIF(s.execution_count, 0), 0) AS AvgElapsedTime,
s.creation_time AS LogCreatedOn,
ISNULL(s.execution_count / 1000 / NULLIF(DATEDIFF(s, s.creation_time, GETDATE()), 0), 0) AS FrequencyPerSec
FROM sys.dm_exec_query_stats s
CROSS APPLY sys.dm_exec_sql_text( s.sql_handle ) t
ORDER BY s.max_elapsed_time DESC, ExecutionCount DESC
GO

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



Когда на сервере 2 гига оперативки - начинать нужно не с анализа неоптимальных запросов При 2 гигах оперативки он тормозить будет только на свопе страниц памяти на диск.
Andrew82 | V.I.P **
Re: Тормоза 1С 8.2 и 2005 SQL
[Re: F@Z@] 10 января 2014 в 17:15
F@Z@ 10.01.2014 13:25 пишет:

TarasOnEscort 10.01.2014 11:15 пишет:

F@Z@ 10.01.2014 11:12 пишет:

Есть одна волшебная палочка которая тебе поможет
Вернее одна из двух
Тебе какую?



обоснуй



Про корявость 1С не будем говорить я так понимаю.
Поскольку там оптимизировать как кон в поле не валялся, и никто это делать не собирается.
МС мускуль сам по себе конченный, убеждался не раз.
База на одном серваке, а клиенты на другом (если мы про РДП говорим конечно).
Все это в купе и будет тот косяк что ты описываешь.
На сегодняшний день есть два варианта как все это поправить (если говорим о быстроте работы), но по целесообразности смотри сам.
1. И РДП и МССКУЛ на одном серваке , обмен данными только по 'мемори шаре' ни как НЕ TCP/IP. Вариант не фонтан но работает.
2. Вариант более экзотический. 1 сервак на ней ставишь VMWARE лепишь ту схему что у тебя в описании из двух серваков и будет тебе счастье.
Почему вмваре а не виртуал бокс и ксены прочии спросите вы?
Ответ в там где пункт 1.
Внутри виртуальной сетки, запросы не транслируются и не эмулируются через реальные сетевухи, а бегают на уровне виртуальных вычислений в том числе в оперативной памяти. По этому вмваре многие любят за быстроту но эти многие не понимают как это работает.
Так что дерзай.



А это кокой именно из ваших вариантов вы предлагаете делать на серваке с 2Гб ОЗУ ? Или прочитать первый пост времени не хватило?
Andrew82 | V.I.P **
Re: Тормоза 1С 8.2 и 2005 SQL
[Re: TarasOnEscort] 10 января 2014 в 17:17
выложи лог встроенного виндового Performace monitor'а тогда увидим где слабое место, может у тебя там диски подыхают уже. Кстати про дисковую систему ни слова не написал.
F@Z@ | Достоевский *
Re: Тормоза 1С 8.2 и 2005 SQL
[Re: Cabai] 10 января 2014 в 17:18
2 гига не 2 гига, знаю одно, что в 1С дофига рекурсивных - зависимых запросов которые не могут быстро отработать поскольку движку 1С нужно их отпарсить и втулить новые запросы.
Узким местом тут есть сетка, она быстрее чем оперативка ФИЗИЧЕСКИЙ не может отработать.
Или нужно делать оптимизацию запросов, но опять таки, это тоже никто не делает.
ollsoft | Супер писатель! **
Re: Тормоза 1С 8.2 и 2005 SQL
[Re: Cabai] 10 января 2014 в 17:54
Cabai 10.01.2014 16:35 пишет:


SELECT DISTINCT TOP 10
t.TEXT QueryName,
s.execution_count AS ExecutionCount,
s.max_elapsed_time AS MaxElapsedTime,
ISNULL(s.total_elapsed_time / 1000 / NULLIF(s.execution_count, 0), 0) AS AvgElapsedTime,
s.creation_time AS LogCreatedOn,
ISNULL(s.execution_count / 1000 / NULLIF(DATEDIFF(s, s.creation_time, GETDATE()), 0), 0) AS FrequencyPerSec
FROM sys.dm_exec_query_stats s
CROSS APPLY sys.dm_exec_sql_text( s.sql_handle ) t
ORDER BY s.max_elapsed_time DESC, ExecutionCount DESC
GO




Этот запросец не прокатит на сервиспаке 1, который стоит у ТС, нужно обновлять sql.
Как результат запроса мы увидим данные которые очень сложно анализировать, поскольку там запросы 1с с ее таблицами и переменными, которые на понятно чему равны. Индексы тоже через конфиг 1с нужно настраивать. Вобщем долгий и тернистый этот путь
В первом посте указано, что на серваке с 4 гигами все работает быстро, вот с этого и нужно начинать копать.
Додаткова інформація
Модератор:

 AlMat, Yorc, moderator 

0 користувачів і 14 що побажали залишитися невідомими читають цей форум.

Переглядів теми: 2416