|
v7: 1c и sgl 2000 | ☑ | ||
---|---|---|---|---|
0
Zina_zp
19.03.14
✎
16:10
|
Здравствуйте! Прошу помощи у спецов 1с7.7 на sgl 2000.
Описание проблемы : есть БД 1с 7.7 (бух+опер.учет) около 50 гб , инф за период 2006-2014 гг. Было решено сделать свертку БД за 2006-2010гг.Были созданы опер с остатками, помечены на удал доки и средствами 1с были удалены помеченные на удаление доки. Отчет ОСВ по счету за 4кв 2013 г с разворотом по аналитике до свертки выполнялся 48 сек, 4сек сам запрос (Ит.ВыполнитьЗапрос(Дата1, Дата2, Счет) ) и 44сек дальнейшая выборка. после свертки этот же отчет (данные те же) выполняется 81 сек( 18сек запрос и 63 сек выборка). Для оптимизации работы БД сделали след. процедуры ( средствами скл ): дефрагментация индексов обновление статистики очистка процедурного кэша шринк БД Отчет по-прежнему выполняется 81 сек. Пожалуйста, помогите советом как ускорить работу программы, sgl знаю плохо , только учу. Заранее благодарю. |
|||
1
Кир Пластелинин
19.03.14
✎
16:18
|
в каком порядке выполняли
" дефрагментация индексов обновление статистики очистка процедурного кэша шринк БД"? |
|||
2
МихаилМ
19.03.14
✎
16:29
|
+ дефрагментация файла бд.
|
|||
3
Zina_zp
19.03.14
✎
16:35
|
Действия выполнялись в описанном порядке
|
|||
4
Zina_zp
19.03.14
✎
16:36
|
Подскажите правильный порядок
|
|||
5
Кир Пластелинин
19.03.14
✎
16:46
|
могу ошибаться, но шринк приводит к фрагментации индексов, поэтому все операции по перестроению и дефрагментации индексов нужно выполнять уже после шринка.
|
|||
6
Zina_zp
19.03.14
✎
16:54
|
Значит надо так
шринк лога шринк БД Дефрагментация индексов дефрагментация БД Обновление статистики очистка процедурного кэша ? DBReindex устраняет дефрагментацию индексов или нет? |
|||
7
ДенисЧ
19.03.14
✎
16:54
|
(6) да.
Но эти процедуры вряд ли спасут. |
|||
8
Zina_zp
19.03.14
✎
16:58
|
что же делать? в чем причина?
|
|||
9
ДенисЧ
19.03.14
✎
17:02
|
нужно на месте глазами смотреть...
|
|||
10
Zina_zp
19.03.14
✎
17:05
|
Подскажите, пожалуйста, на что обратить внимание.
Какие возможны варианты проблем? |
|||
11
ДенисЧ
19.03.14
✎
17:08
|
Я бы начал с профайлера, поймал запросы и покрутил их в скуле. Чтобы понять, где тормоза
|
|||
12
Z1
19.03.14
✎
17:16
|
(10) С подробного описания железа sql сервера , сколько пользователей работает в базе, какой sp установлен на ms sql
и.т.д ну и 50 гб это до шринка или после ? |
|||
13
Z1
19.03.14
✎
17:19
|
+ 12 ну и если сам сервер до 2010 года то может имеет
смысл расссмотреть купить и новый сервер (железо ) и новый ms sql ( софт ) |
|||
14
Z1
19.03.14
✎
17:21
|
(11) выложи также результат запроса по твоей базе
select count(*) from _1sentry (nolock) union all select count(*) from _1sjourn (nolock) |
|||
15
Z1
19.03.14
✎
17:22
|
(14) адресовано к 10
|
|||
16
Zina_zp
19.03.14
✎
17:59
|
Сейчас вопрос не в том как заставить скл работать быстрее вообще ( хотя и это у нас большая проблема ), а в том почему на одном железе ( для тестов взяли отдельный комп винда 7, установили sgl 2000,на компе работает только один админ),
на одном сервере sgl две базы 1c выполняют один отчет ( стандартная оборотно-сальдовая ведомость по счету) так по разному,до свертки 48 сек, после обрезки 81 сек, после всех оптимизаций те же 81 сек . В чем может быть причина? |
|||
17
Z1
19.03.14
✎
18:02
|
(16) на этот вопрос Вы ответели в (0) выпонив шринк,
а насколько это фатально и могут дать Ваши ответы на 12-15 |
|||
18
Z1
19.03.14
✎
18:12
|
(16) ну что то не понял 16 Вы сравниваете работу одной мощной рабочей станции с работой всего sl сервера, ну подключите к этой рабочей станции 30 пользователей и запустите тоже самое.
на одном sql сервере две базы могут давать разные результаты из-за разного распределения баз по дискам. т.е. я запутался задайте более короткий определенный Ваш вопрос. |
|||
19
Zina_zp
19.03.14
✎
18:36
|
Попробую сформулировать вопрос еще раз.
Мне надо было обрезать базу ( свернуть доки за 5 лет). Для тренировки был взят отдельный комп с виндой7. На нем поставили скл 2000. На этом компе пользователи не работают. К серверу присоединили нашу базу 1с. Проверили время выполнению оборотно-сальдовой по опред. счету. Время выполнения 48 сек ( запускали отчет неоднократно). Эту базу оставили как эталон. Дальше к серверу присоединили вторую базу такую же.Проверили оборотку - 48 сек. Во второй базе средствами 1с сделали свертку( внесли остатки и удалили помеченные на удаление доки средствами 1с ). Проверили отчет- 81 сек. Начали делать второй базе дефрагментации , шринки. Ничего не помогло.Те же 81 сек. Вопрос что надо сделать со второй базой, чтобы отчет выполнялся 48 сек, как и в первой базе?( а надеялись. что после свертки будет быстрее ) |
|||
20
Zina_zp
19.03.14
✎
18:36
|
Базы находятся на одном диске.
|
|||
21
Zina_zp
19.03.14
✎
18:43
|
по запросу (14 )
7783609 496625 |
|||
22
ДенисЧ
19.03.14
✎
18:55
|
Если ничего не помогает, попробуйте выгрузку-загрузку :-)
|
|||
23
Belomor
19.03.14
✎
19:01
|
(19) "после свертки будет быстрее" - это вы зря. SQL для 7.7 при стандартном использовании дает возможность держать базы хоть терабайтного объема, а для увеличения быстродействия надо использовать 1С++ либо прямые SQL-запросы
|
|||
24
Belomor
19.03.14
✎
19:03
|
(22) Ему нужно патченный релиз искать, где снимается ограничение на объем файла выгрузки, при таких объемах-то
|
|||
25
Belomor
19.03.14
✎
19:06
|
+(22)
Плагин для лечения выгрузки и загрузки больших баз в 1С 7.7 Описание проблемы: http://www.kb.mista.ru/article.php?id=493 Файл для скачивания: http://x-romix.narod.ru/Unload_Dat_Fix.rar |
|||
26
Z1
19.03.14
✎
19:57
|
(25) да нет скорее всего они sql базу скопировали целиком
без всякой загрузки выгрузки. |
|||
27
Z1
19.03.14
✎
19:59
|
(19) опишите диски вашего другого сервера,
процентов на 90% там не сделано выравнивание секторов. также скорее всего там с точки зрения sql сервера практически никакая дисковая система. Создав и обрезав вторую базу Вы на ней получили внешнюю файловую фрагментацию и большую внутреннюю фрагментацию страниц. Избавившись от обоих пунктов Вы получите одинаковое время выполнения вашего запроса. |
|||
28
Z1
19.03.14
✎
20:15
|
(19) Вот Вам еще легко выполнимый совет - поставьте 1с++
даже если Вы его не испоьзуете получите улучшение производительности. |
|||
29
ДенисЧ
19.03.14
✎
20:16
|
(28) на запросе - не получит...
|
|||
30
ДенисЧ
19.03.14
✎
20:17
|
И так ещё раз...
Сервер SQL, на котором лежат быстрая и медленная базы - один и тот же? |
|||
31
Z1
19.03.14
✎
20:18
|
(29) на отдельно взятом запросе(черном,нечерном) не получит,
а на том же самом обходе результа этого запроса получит. |
|||
32
Belomor
19.03.14
✎
21:36
|
(26) Автору и посоветовали сделать выгрузку-загрузку штатными средствами 1С
|
|||
33
Z1
19.03.14
✎
21:54
|
(32) Да на базе 50 гб и 8 милионов проводок это нереально
и не нужно. |
|||
34
Belomor
19.03.14
✎
22:16
|
(33) С (25) вполне реально, только долго :)
|
|||
35
Z1
19.03.14
✎
22:49
|
(34) Во первых после обрезания и что сделанов (0)
получишь снова subj во вторых могут повылазить косяки базы с которыми тоже придеться разбираться в третьих большая потеря времени |
|||
36
Zina_zp
20.03.14
✎
10:46
|
Спасибо за внимание к нашей проблеме.
Отвечаю на вопросы: базы находятся на одном компе, одном сервере скл, одном диске. Создавались абсолютно одинаково (новая база и Restore из архива рабочей БД,которая на другом компе). Замедление началось после удаления помеч. объектов. Потом начались манипуляции в скл (дефрагметации, шринки). И я думаю, что эти манипуляции были сделаны или не так или не те или не в той последовательности что надо.Но со знанием sgl пока слабовато, вот и прошу помощи какими командами что надо сделать. 1с++ у нас стоит. Выгрузку данных запустили с плагином ( иначе ошибка чтения архива ), пока идет, часики крутятся, но после появления спец. сообщения в трее информационные сообщения о выгрузке застряли на Верификация процедур: 161. Ждем чем закончится. |
|||
37
МихаилМ
20.03.14
✎
11:09
|
(0)
что такое "sgl" ? Что за бред ? может ms sql ? |
|||
38
Zina_zp
20.03.14
✎
11:42
|
именно так ms sql
|
|||
39
Lionee
20.03.14
✎
12:24
|
удалили помеченные на удаление доки средствами 1с
а в таблицах sql они так и остались висеть , вот время и увеличилось |
|||
40
Zina_zp
20.03.14
✎
13:07
|
Как их убрать
|
|||
41
Zina_zp
20.03.14
✎
13:17
|
Выгрузка ( с плагином ) базы закончилась успешно.А с загрузкой проблема. Window7 , файл OrdNoChk.prm есть и каталоге BIn и в каталоге конф. БД. Выдает сообщение "порядок сортировки , установленный для БД, не совпадает с системным".
Такое сообщение еще было, когда пытались протестировать БД средствами 1с. |
|||
42
kupec
20.03.14
✎
14:21
|
Zina_zp а сколько времени заняла пометка на удаление документов в базе данных такого объема ???? Имеется такая же задача по свертке базы, размер правда около 30 Гб, последний раз год удалялся почти сутки, теперь надо удалить 3 года....
|
|||
43
Zina_zp
20.03.14
✎
15:41
|
Свертку делали по след схеме:
1. копия базы 2.создание док. остатков 3. обработка по записи период. реквизитов, созданных доками, которые будут удалены 4. перенести ТА назад подальше,до первого дока, который будет удаляться. далее в цикле по-квартально в монопольном режиме 1. обработка снятие с проведения доков ( делали сразу по 2 квартала от4 до 8 часов) 2. выход из 1с ( обязательно ) и подождать минут 10, иначе сервер не дает доступ к базе ( нельзя опять войти под тем же пользователем) 2. копия log файла ( иначе растет непомерно ) и так все 3 года. Потом перести ТА на нужную дату (текущую), провести операции с остатками, сверить итоги. Если все в порядке, то идем дальше по-квартально или по полгода: 1. Помечаем на удаление все непроведенные доки ( за выб. период), Это быстро. Потом помечали на удаление партии ( у нас в спр. партии есть реквизит, содержащий документ, который создал эту партию).Просто проверили,если этот док помечен на удаление, то и партию помечали на удаление( около 1ч.). Потом запускали обработку удаление помеченных объектов (2-3 ч если период полгода). После обработки каждого периода ВЫХОДИТЬ из 1с, делать копию лога. Замечено, быстрее сделать по частям, чем за большой период. З года сделали за выходные.Помечать на удаление можно и позже. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |