Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Работа SQL / 18 сообщений из 18, страница 1 из 1
17.09.2011, 09:15
    #37444601
Багер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа SQL
И снова - Здравствуйте!

Удивляет работа SQL2005х64 из под 8.2 - запрос выполняется 50 минут, в настройках SQL стоит использование первых четырёх процессоров (один физический), второй физический процессор не использовать, а он из четырёх выбранных - использует один на все сто процентов. Диск при этом используется со скоростью до 100 КБ/с. Если я правильно понимаю, узкое место - процессор, но почему из четырёх используется один? С чем может быть это связано?
...
Рейтинг: 0 / 0
17.09.2011, 11:42
    #37444653
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа SQL
У скуля есть настройка по распаралеливанию запроса - но сработает ли она в этом запросе....
...
Рейтинг: 0 / 0
17.09.2011, 11:52
    #37444659
Багер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа SQL
А что за настройка такая?
...
Рейтинг: 0 / 0
17.09.2011, 17:30
    #37444893
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа SQL
для MS SQL 2000 - Entrprise Manager - клик првой по твоему
инстансу SQL-сервера-Properties, закладка Processor - Parallelism
...
Рейтинг: 0 / 0
17.09.2011, 17:48
    #37444913
Багер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа SQL
Для 2005-ого две настройки:
Cost Threshold of parallelism = 5
Max degree of parallelism = 0
Эти настройки устанавливал спец-серверист-эскуэльщик.
...
Рейтинг: 0 / 0
19.09.2011, 11:35
    #37445987
AHDP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа SQL
А кто вам сказал, что SQL должен/МОЖЕТ для выполнения этого запроса использовать все имеющиеся процессоры?

Привидите текст запроса, хотя бы 1Совский, но лучше уже скомпилированный с планом выполнения.
...
Рейтинг: 0 / 0
19.09.2011, 15:12
    #37446411
Taekwonder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа SQL
AHDP,

Если SQL версии Стандарт он он может использовать столько ядер - сколько есть на физически одном проце, так что это смотря какая версия SQL у вас стоит
...
Рейтинг: 0 / 0
19.09.2011, 16:14
    #37446492
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа SQL
AHDPА кто вам сказал, что SQL должен/МОЖЕТ для выполнения этого запроса использовать все имеющиеся процессоры?

Привидите текст запроса, хотя бы 1Совский, но лучше уже скомпилированный с планом выполнения.Возможно он и не будет распаралелен. Мы же просто выставляем по сути пожелание об распаралеливании.
...
Рейтинг: 0 / 0
19.09.2011, 22:04
    #37447075
Багер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа SQL
Подключил шесть головок, всё равно простаивают ))
Заменил в настройке "Max degree of parallelism" ноль на три и... О, ЧУДО! Один проц нагружен, ещё два напрягаются, три постольку-поскольку, оставшиеся два без нагрузки. Зачем нам так спецы настраивали, или спецы такие...
Очередное обращение к франчайзи, деньги потрачены - толку нет.
...
Рейтинг: 0 / 0
20.09.2011, 12:08
    #37447762
AHDP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа SQL
TaekwonderЕсли SQL версии Стандарт он он может использовать столько ядер - сколько есть на физически одном проце, так что это смотря какая версия SQL у вас стоит

Больше 4 не может. Физические процессоры используются только в лицензировании, во всех остальных случаях под процессором следует понимать ядро.

Программист 1сВозможно он и не будет распаралелен. Мы же просто выставляем по сути пожелание об распаралеливании.

НЕ ПОЖЕЛАНИЕ, а ограничение максимального количества процессоров, на которые МОЖЕТ БЫТЬ распаралелен запрос. На МОЖЕТ БЫТЬ влияет само выполняемое действие и значение указанное в Cost Threshold of parallelism.

Программист 1сПодключил шесть головок, всё равно простаивают ))
Заменил в настройке "Max degree of parallelism" ноль на три и... О, ЧУДО! Один проц нагружен, ещё два напрягаются, три постольку-поскольку, оставшиеся два без нагрузки. Зачем нам так спецы настраивали, или спецы такие...
Очередное обращение к франчайзи, деньги потрачены - толку нет.

И как изменилось время выполнения запроса?
0 и 5 - дефолтовые значнеия.

ЗЫ Франчи скуль если и настраивают, то это явно оговаривается. Обычно подразумевается просто его установка, зпуск, перенос базы. Даже у РАРУСА.
...
Рейтинг: 0 / 0
20.09.2011, 23:07
    #37448984
Багер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа SQL
Если SQL версии Стандарт он он может использовать столько ядер - сколько есть на физически одном проце, так что это смотря какая версия SQL у вас стоит
Больше 4 не может. Физические процессоры используются только в лицензировании, во всех остальных случаях под процессором следует понимать ядро.

Вот это - интересная информация, т.к. те же франчи уверяют, что машину нужно брать двухпроцессорную, т.е. - на 8 голов. Редакцию Стандарт и будет сказка. Зачем же тогда двухпроцессорная машина, если все 8 голов не будут задействованы? Другой вопрос, если лицензия "на кол-во процессоров", то покупая две лицензии - юзаем тем же самым исполняемым кодом, который, якобы, ограничен на 4 головы - уже 8 голов за счёт второй лицензии? Слабо верится.

Возможно он и не будет распаралелен. Мы же просто выставляем по сути пожелание об распаралеливании.
НЕ ПОЖЕЛАНИЕ, а ограничение максимального количества процессоров, на которые МОЖЕТ БЫТЬ распаралелен запрос. На МОЖЕТ БЫТЬ влияет само выполняемое действие и значение указанное в Cost Threshold of parallelism.

Однако, именно увеличение от нуля параметра "Max degree of parallelism" дало эффект. Во всяком случае, таскмэнэджер показывает изрядную долю загрузки трёх голов, когда я один даю запрос.

И как изменилось время выполнения запроса?
0 и 5 - дефолтовые значнеия.
ЗЫ Франчи скуль если и настраивают, то это явно оговаривается. Обычно подразумевается просто его установка, зпуск, перенос базы. Даже у РАРУСА.
Никак не изменилось. Если и стало 40 минут - это не тот эффект, который ожидался. Франчи специально вызывались два раза для настройки оптимальной работы эскуэля - ни первый раз, ни второй ничего сделано не было, раз по дефолту всё осталось, кроме используемого числа голов и памяти, но это дало возможность запускать на сервере 1С без тормозов. Хоть на этом спасибо, что научили где шо подвинуть ))

Вопрос возымел неожиданный поворот... Я тот же самый запрос сделал в консоли запросов... - от полуминуты до полутораминут выполняется при работающих в базе пользователях. Я уже совсем ничего не понимаю.
...
Рейтинг: 0 / 0
21.09.2011, 07:04
    #37449086
Zerro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа SQL
БагерЕсли SQL версии Стандарт он он может использовать столько ядер - сколько есть на физически одном проце, так что это смотря какая версия SQL у вас стоит
Больше 4 не может. Физические процессоры используются только в лицензировании, во всех остальных случаях под процессором следует понимать ядро.

Вот это - интересная информация, т.к. те же франчи уверяют, что машину нужно брать двухпроцессорную, т.е. - на 8 голов. Редакцию Стандарт и будет сказка. Зачем же тогда двухпроцессорная машина, если все 8 голов не будут задействованы? Другой вопрос, если лицензия "на кол-во процессоров", то покупая две лицензии - юзаем тем же самым исполняемым кодом, который, якобы, ограничен на 4 головы - уже 8 голов за счёт второй лицензии? Слабо верится.

Возможно он и не будет распаралелен. Мы же просто выставляем по сути пожелание об распаралеливании.
НЕ ПОЖЕЛАНИЕ, а ограничение максимального количества процессоров, на которые МОЖЕТ БЫТЬ распаралелен запрос. На МОЖЕТ БЫТЬ влияет само выполняемое действие и значение указанное в Cost Threshold of parallelism.

Однако, именно увеличение от нуля параметра "Max degree of parallelism" дало эффект. Во всяком случае, таскмэнэджер показывает изрядную долю загрузки трёх голов, когда я один даю запрос.

И как изменилось время выполнения запроса?
0 и 5 - дефолтовые значнеия.
ЗЫ Франчи скуль если и настраивают, то это явно оговаривается. Обычно подразумевается просто его установка, зпуск, перенос базы. Даже у РАРУСА.
Никак не изменилось. Если и стало 40 минут - это не тот эффект, который ожидался. Франчи специально вызывались два раза для настройки оптимальной работы эскуэля - ни первый раз, ни второй ничего сделано не было, раз по дефолту всё осталось, кроме используемого числа голов и памяти, но это дало возможность запускать на сервере 1С без тормозов. Хоть на этом спасибо, что научили где шо подвинуть ))

Вопрос возымел неожиданный поворот... Я тот же самый запрос сделал в консоли запросов... - от полуминуты до полутораминут выполняется при работающих в базе пользователях. Я уже совсем ничего не понимаю.
замеры делай в 1с..может в отчете после запроса проходы есть какие
...
Рейтинг: 0 / 0
21.09.2011, 09:14
    #37449173
AHDP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа SQL
Багер,

1) Вероятно франч подозревает, что сервер будет выполнять какаие- либо ещё операции. В любом случае 2 проца по два ядра будут быстрее одного 4 ядерного. Почитайте про архитектуру многопроцессорных систем.
2) Две лицензии позволят вам поднять два инстанса, а не увеличить кочество доступных процессоров. Для одной базы 1С будет доступен 1 инстанс. Сомневаюсь, что кластер SQL серверов приведёт к улучшению производительности данного отчёта.
3) И где эфект? То что процы заняты, а время не изменилось?

Так что за отчёт вы запускаете и на какой конфигурации? Уверены, что при формировании отчёта время тратилось на выполнение этого запроса, а не на последующее "оформление"? Вас уже просили сделать замер производительности. А пока, похоже, на проблемы на сервере приложения 1С со свопом.
...
Рейтинг: 0 / 0
21.09.2011, 10:46
    #37449301
Igor Glushaev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа SQL
БагерЕсли SQL версии Стандарт он он может использовать столько ядер - сколько есть на физически одном проце, так что это смотря какая версия SQL у вас стоит
Больше 4 не может. Физические процессоры используются только в лицензировании, во всех остальных случаях под процессором следует понимать ядро.

Вот это - интересная информация, т.к. те же франчи уверяют, что машину нужно брать двухпроцессорную, т.е. - на 8 голов. Редакцию Стандарт и будет сказка. Зачем же тогда двухпроцессорная машина, если все 8 голов не будут задействованы? Другой вопрос, если лицензия "на кол-во процессоров", то покупая две лицензии - юзаем тем же самым исполняемым кодом, который, якобы, ограничен на 4 головы - уже 8 голов за счёт второй лицензии? Слабо верится.

Для того, чтоб понять, какой именно сервер Вам нужен - мало данных. Может для Вашей базы хватит и простой рабочей станции... Размер базы, количество пользователей, ну и т.п. В большенстве случае достаточно в качестве сервера SQL достаточно и однопроцессорного сервера.
По поводу количества процессоров - MS SQL использует столько процессоров, ядер, сколько вы ему разрешите. Ограничение по количеству чисто лицензионные. У самого стоит сервер с одним физическим камнем, у которого 4 ядра с включенным гипертрейдингом. Итого система видит 8 ядер, версия SQL стандарт, видит и использует все 8 ядер.

Возможно он и не будет распаралелен. Мы же просто выставляем по сути пожелание об распаралеливании.
НЕ ПОЖЕЛАНИЕ, а ограничение максимального количества процессоров, на которые МОЖЕТ БЫТЬ распаралелен запрос. На МОЖЕТ БЫТЬ влияет само выполняемое действие и значение указанное в Cost Threshold of parallelism.

Однако, именно увеличение от нуля параметра "Max degree of parallelism" дало эффект. Во всяком случае, таскмэнэджер показывает изрядную долю загрузки трёх голов, когда я один даю запрос.
Распаралеливание запроса не всегда есть хорошо. Нужно смотреть сам запрос. Не однократно были случаи, когда отключение распаралеливания давало свой положительный результат. Бывают ситуации, когда на сбор частей результатов уходит больше времени, чем последовательная отработка запроса.

И как изменилось время выполнения запроса?
0 и 5 - дефолтовые значнеия.
ЗЫ Франчи скуль если и настраивают, то это явно оговаривается. Обычно подразумевается просто его установка, зпуск, перенос базы. Даже у РАРУСА.
Никак не изменилось. Если и стало 40 минут - это не тот эффект, который ожидался. Франчи специально вызывались два раза для настройки оптимальной работы эскуэля - ни первый раз, ни второй ничего сделано не было, раз по дефолту всё осталось, кроме используемого числа голов и памяти, но это дало возможность запускать на сервере 1С без тормозов. Хоть на этом спасибо, что научили где шо подвинуть ))
То есть в вашем конкретном случае распаралеливание в лучшем случае безвредно.


Вопрос возымел неожиданный поворот... Я тот же самый запрос сделал в консоли запросов... - от полуминуты до полутораминут выполняется при работающих в базе пользователях. Я уже совсем ничего не понимаю.
Смотреть потроха отчета, на 200% уверен, что там кроме самого запроса, есть большая и тяжелая обработка результатов запроса...
...
Рейтинг: 0 / 0
21.09.2011, 14:28
    #37449907
Taekwonder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа SQL
Igor Glushaev,

http://www.microsoft.com/sqlserver/2008/ru/ru/compare-std-ent.aspx

Здесь написаны характеристики различных редакций
...
Рейтинг: 0 / 0
21.09.2011, 14:50
    #37449943
Igor Glushaev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа SQL
TaekwonderIgor Glushaev,

http://www.microsoft.com/sqlserver/2008/ru/ru/compare-std-ent.aspx

Здесь написаны характеристики различных редакций

Я вообще-то привык верить своим глазам, а не тому что написано... А на своем сервере с 8-ю виртуальными процесорами я вижу что MS SQL 2008 Standart использует их все. Насчет версии тоже нет сомнений, я знаю что я ставил на свои сервера...
...
Рейтинг: 0 / 0
21.09.2011, 20:27
    #37450619
Багер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа SQL
Вопрос именно в запросе, т.к. время выполнения строки Запрос.Выполнить() - те самые 50 минут, а всё остальное - 0,1-0,5 процента от общего выполнения. Но, очевидно, что выполнение в консоли запросов одного этого запроса - минута, а в отчёте по прибыли выполняется множество запросов, обработок, но значит ли это, что загаживается память? Ведь другие пользователи работают в базе и тоже какие-то отчёты делают, документы проводят. А конфа совершенно стандартная бухгалтерия 2.0 на платформе 8.2, редакции последнии. Регламентированный отчёт - налог - прибыль.
Будем переставлять сервер.

Всем спасибо, я так понял, что оптимизануть выполнение запроса по регистрам бухгалтерии, с результатом в миллион записей - нет возможности, другое дело, что логику самого запроса поменять, но дело это неблагодарное, всё-таки - отчёт в налоговую.
...
Рейтинг: 0 / 0
23.09.2011, 09:06
    #37452674
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа SQL
Так, для справки: MS лицензирует MSSQL не по ядрам, а по количеству железных устройств, втыкаемых в сервер.

По теме топика - автор пытается решить проблему без диагностики. Где планы запросов в хорошем и плохом случае? Тут это самое важное.
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Работа SQL / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]