Имя: Пароль:
1C
1C 7.7
v7: SQL 2008 R2 vs SQL 2000, секретный релиз, вот это всё.
0 Феофан
 
26.02.14
10:51
Случайно заметил, на большой задаче, что она медленнее исполняется на "MS SQL 2008 R2 x64" чем на "MS SQL 2000". Стал во всем этом ковыряться. Причем 2008-й стоит на "серваке" с "коре и5" на 3 ГГц, 32 Гб, сет из SSD дисков и соединен гигабитным прямым линком, а 2000-й работает на старом компупере под столом с 2 Гб памяти и одним HDD диском!!! Это действительно так, или у меня что то не работает?

Причем заметил, что "секретный релиз" платформы работает на 10% медленнее чем патченый BkEnd.dll.

Для следующего теста:

Процедура Сформировать()
    
    вн = ТекущееВремя();
    
    Сообщить(вн);
    
    С = СоздатьОбъект("Справочник.Товары");
    Я = СоздатьОбъект("Справочник.СвойствоАссортимента");
    С.ВыбратьЭлементы();
    Пока С.ПолучитьЭлемент() = 1 Цикл
        ф = С.Розн_Цена;
        ы = С.БазоваяЕдиница.Наименование;
        Я.ИспользоватьВладельца(С.ТекущийЭлемент());
        Я.ВыбратьЭлементы();
        Пока Я.ПолучитьЭлемент() = 1 Цикл
            ц = Я.Магазин.Наименование;
        КонецЦикла;
    КонецЦикла;
    
    Д = СоздатьОбъект("Документ");
    Д.ВыбратьДокументы(НачГода(ТекущаяДата()),КонГода(ТекущаяДата()));
    Пока Д.ПолучитьДокумент() = 1 Цикл
        в = Д.Фирма.Наименование;
        а = Д.ДокОсн.Комментарий;
        у = Д.Комментарий;
    КонецЦикла;
    
    вк = ТекущееВремя();
    
    Сообщить(вк);
    
КонецПроцедуры


- результаты показывает следующие:
1. на "дохлом" компупере с SQL 2000 - 45 сек.
2. на "сервере" с SQL 2008 R2, с петченой BkEnd - 50 сек.
3. на "сервере" с SQL 2008 R2, с "секретным релизом" - 55 сек.
Вот такие неутешительные данные((( Разница в производительности более 20%. Хотелось бы разобраться, где собака порылась?
1 sapphire
 
26.02.14
10:55
_GetPerformanceCounter()
2 Sammo
 
26.02.14
10:56
v7 ?
3 Ёпрст
 
26.02.14
10:57
обновить статистику, сбросить кеши, использовать (1).. ну и результат будет другой.
4 sapphire
 
26.02.14
10:57
в твоем случае идет seek по таблицам.
Ну и смотри настройки SQL
5 sapphire
 
26.02.14
10:57
(2) Да
6 ptiz
 
26.02.14
10:59
(0) "на "дохлом" компупере" - какой частоты проц стоит?
7 Холст
 
26.02.14
11:02
условия не одинаковы, заведи на одной машине виртуалки c  2000 и 2008, если получится то на одной Win2003
8 пипец
 
26.02.14
11:07
виртуалки под скуль ... чота это попахивает чемта :))
9 Феофан
 
26.02.14
11:25
(6) дохлый компупер: коре 2 дуо 2,9 ГГц + WinXP 32
сервер: i5 3,1 ГГц + Win 2008 x64
10 Феофан
 
26.02.14
11:27
(3) то есть таки 2000-й всяко быстрее для v7, чем 2008-й ?
11 Феофан
 
26.02.14
11:28
(7) какнить намедни попробую.. на досуге
12 spock
 
26.02.14
11:29
(0)Если все устраивает на sql2000, то переход на sql2008r2 противопоказан.
13 МихаилМ
 
26.02.14
11:34
"собака порылась"
в сетевом подключении  

С.ПолучитьЭлемент()

получает с сервера по одной строке.
14 Феофан
 
26.02.14
11:39
(13) да я вот тоже такого мнения.. показал админу, он сказал, что все ОК.. хотя явно видно, что шейпит полосу, обрезано ровно по 8 Мбит и не поднимается(( толи в управляемом коммутаторе собака порылась, толи в сетевухе на стороне сервера.. хз.. а я человек доверчивый, всему верю)) вот и решил спросить мнения у "экспертного" сообщества!..
15 Ёпрст
 
26.02.14
11:42
(10) 2000 всяко медленнее ..
16 МихаилМ
 
26.02.14
11:43
(14)
замените переборы
на выборки (объект запрос)

правда выборка тоже не весь курсор перекачивает , а порциями
по 25 записей.

оптимально - прямые запросы 1с++.
17 Феофан
 
26.02.14
11:53
(16) Это понятно. Я давно использую прямые запросы и в данном случае проблем с производительностью нет. Просто попался такой случай разницы в производительности. И на задачах, где 80% нагрузки прямые запросы, тоже 2000-й показывает большую производительность. Вот это меня и смущает. Думаю, что что то где то не так, как надо, работает..
18 Z1
 
26.02.14
21:40
(0)из каких то непонятных тестов делаешь непонятные выводы.
"MS SQL 2008 R2 x64 может использовать всю имеющююся ram-память
только одно это дает огромный выигрыш.
а кстати базу перевел в режим 100 ?
и.т.д.

т.е.  скорее всего неправильно установлен и настроен MS SQL 2008 R2 x64  

(10) бред по твоему в microsoft людям зря зарплату платят
например : начиная с sql2005 исправлена ошибка массового проведения

(14) да и сеткой проблемы судя по 14



а если допилить грамотно sql2008 то производительность можно только поднять.
19 Холст
 
26.02.14
21:43
(18) что может дать режим 100 для 1С 7.7 на секретном релизе ?
20 Z1
 
26.02.14
21:54
(19) Старые режимы используются в режиме эмуляции - они как бы для совместимости для перехода на основной формат базы,
поэтому в старых режимах используется предыдущий компилятор запросов ( естественно он не оптимизирован под этот формат базы)
как бы основное преимущество  Секретного релиза и есть
что позволяет работать в режиме 100 для sql2008
и 110 для sql2012 помимо преимущества х64
21 ЧеловекДуши
 
26.02.14
22:00
(0) Только прямой запрос спасет отца демократии...
У тебя вообще все плохо :)
22 Холст
 
26.02.14
22:24
(20) были ли оценки, насколько быстрей работает в 100, 110режиме чем в режиме поддержки, прямые запросы на 7.7 ?
23 Z1
 
26.02.14
22:40
(22) не понимаю о каких оценках ты спрашиваешь.
да и мои какие-то оценки на моей базе будут абсолютно
непременимы для твоей базы ( что как бы 0 и показывет ).
то что написано в (20) есть в рекомендациях ms о форматах базы
24 Z1
 
26.02.14
23:31
ps к  20 вместо компилятор запросов
читать оптимизатор запросов
25 Botanik8888
 
27.02.14
00:44
(22) - делал оценку
база 8 гиг, активных порядка 80 пользователей, изменение режима дало значительный прирост.
т.к. все тесты делались больше года назад то цифр точных привести не могу.
26 Botanik8888
 
27.02.14
00:45
+ база переписана на прямые запросы.
27 hogik
 
27.02.14
01:01
(0)
Вы забыли написать - как соединен клиент и сервер в случае "под столом"(с).
Если в этом случае всё на одной машине, то ничего удивительного нетУ. Т.к. - далее см. (13) сообщение.
Кроме этого, на машине с "коре и5"(с) надо отключить в BIOS-е энергосбережение. А если там используете Win2008/Win7, то и в самой ОС желательно настроить режимы управления энергосбережением.
Картинку про "скорость" сети и настройки можно посмотреть/скачать тут: http://infostart.ru/public/147259/
28 Феофан
 
27.02.14
12:06
Диванным аналитикам хочу заметить, что при использовании только нативных средств платформы, перевод в режим совместимости с 2008 (100) приводит к снижению производительности на 10%. Это происходит из-за использования "секретного релиза", а это лишнее звено трансляции запросов. И потом, многие ли из вас используют все те плюшки, которые появились, например в SQL 2008? Думаю многие даже не знают о них..
29 Z1
 
27.02.14
15:13
>>>например в SQL 2008? Думаю многие даже не знают о них..
так назови какие знаешь и/или используешь ?
я не использую потому что куплен sql2005.
был бы sql2008 то использовал бы.