Скрипт выполнить в Мастерс, потом вызвать созданную ХП
Спасибо Schtass за ссылку для расшифровки результатов
http://www.sqldev.net/misc/waittypes.htm
Спасибо artbear за расшифровку результатов на русском и в более полном варианте
http://msdn.microsoft.com/ru-ru/library/ms179984.aspx
Тестирование SQL проблем
Разработка - Инструментарий разработчика
Вещь крайне полезная!
НЕ МОЯ!!! Думаю, можно плюсовать, а то теряется она на просторах, а ведь реально - стоящая вещь
(а еще лучше писать сюда, насколько удалось улучшить систему)
Скачать файл
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Наименование | Бесплатно | |
---|---|---|
-
.1225980665 3,10Kb
1876
|
1876 | Скачать бесплатно |
См. также
Инструментарий разработчика Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)
Консоль запросов к базе SQL, не требующая внешних компонент
10 стартмани
29.04.2015 22370 57 Gvozdod 8
Инструментарий разработчика Системный администратор Программист Платформа 1С v7.7 OpenConf Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Бесплатно (free)
Обновленная сборка OpenConf Light Pack.
27.04.2014 59797 444 unichkin 50
Инструментарий разработчика Системный администратор Программист Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)
Очередная редакция альтернативного стартера, являющегося продолжением StartManager 1.3. Спасибо всем, кто присылал свои замечания и пожелания, и тем, кто перечислял финансы на поддержку проекта. С учетом накопленного опыта, стартер был достаточно сильно переработан в плане архитектуры. В основном сделан упор на масштабируемость, для способности программы быстро адаптироваться к расширению предъявляемых требований (т.к. довольно часто просят добавить ту или иную хотелку). Было пересмотрено внешнее оформление, переработан существующий и добавлен новый функционал. В общем можно сказать, что стартер эволюционировал, по сравнению с предыдущей редакцией. Однако пока не всё реализовано, что планировалось, поэтому еще есть куда развиваться в плане функциональности.
1 стартмани
23.04.2014 168657 1885 Alexoniq 1600
Инструментарий разработчика Программист Платформа 1С v7.7 Платформа 1С v8.3 Россия Абонемент ($m)
Согласитесь, что окно стандартное сообщений в 1С иногда приносит больше неудобств, чем пользы. И тем более разные "Предупредить"... Что с этим окном только не делают! Его отцепают от формы, делают маленьким, умудряются спрятать за границы экрана. А потом звонят программистам с претензией, что документ почему-то не проводится, отя ничего и не пишет. У вас такого не было? А вот у нас было и не раз )))
1 стартмани
04.09.2013 33451 61 O-Planet 78
Инструментарий разработчика Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)
На днях встретил вопрос на форуме про возможность внесения изменений в конфигурацию без долгого сохранения в рабочей базе большого объема. Вот решил поделиться опытом, как это делал я. База у нас была объемом порядка 120 Гб. К базе обращался сайт в режиме 24/7, поэтому важно было быстро сохранять изменения и желательно без последующего монопольного запуска для восстановления индексов и процедур и без отключения пользователей от базы. Это первая часть статьи и посвящена она справочникам. С одной стороны - это самый простой объект, с другой стороны, именно про справочник спрашивалось на форуме. Если статья будет востребована, то я напишу аналогичные про документы, регистры и может еще что.
1 стартмани
13.08.2013 21882 Reptile 5
Инструментарий разработчика Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)
Встала недавно задача для одной организации, которая все еще на 1С 7.7 немного автоматизировать работу отдела продаж. А именно уйти от ручного заполнения договоров, сделанных юристами в MS Word. Договора от разных фирм и разного назначения отличались. Переводить их в таблицы 1С очень не хотелось и нашел способ прямо в файлах Word сделать небольшие дополнения, чтобы можно было печатать, используя именно эти заготовки юристов.
1 стартмани
14.07.2013 27710 56 adamx 11
Инструментарий разработчика Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)
Давным давно, когда я еще плотно писал на 7.7 работа с формами была мучительной и неудобной. Приходилось каждый элемент выкладывать, выравнивать на форме ручками, прописывать код в модуле. Иногда при разработке очередной формы приходила в голову мысль: "а где-то я уже похожее делал..." и начинался мучительный поиск подходящего кода в своих запасах........
1 стартмани
21.02.2013 18381 36 MarSeN 14
Инструментарий разработчика Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)
Анализируем различные данные в 1С, используя OLAP-технологии со всеми прелестями. Т.е. наглядное отображение данных, быстрые расчеты, горизонтальные и вертикальные группировки любой вложенности, удобная фильтрация, Drag'n'Drop и ещё много приятных вещей от MS. Обработка на входе принимает практически любую таблицу значений (ТЗ в которой колонкам указаны типы значений, строка, число и т.п.), на выходе имеем на форме 1С сводную таблицу и график по этой ТЗ, с которой работаем, как и в Excel со сводной таблицей и диаграммой. Взял за основу разработку «OLAP Анализ счёта» ( http://infostart.ru/public/14964/ ) от JohnyDeath и переделал под любую ТЗ. Опционально используется «Прогресс бар для 1С 77» (http://infostart.ru/public/14061/ ) от Gmix.
1 стартмани
21.12.2012 36388 51 venger 7
а она фунциклирует если нет сервера предприятия 8???
к скуль-серверу подключается, а при попытке "подготовить к мониторингу"
Форма.Форма(388)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Line 7: Incorrect syntax near '('.
RecSet.Open(Query,SQLServer,3,1,1);
по причине:
Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Line 7: Incorrect syntax near '('.
1. если у огранизации совсем нету 8.1 ????
2. если административные установки не позволяют пользоваться SWbemLocator
------------следующие пункты ИХМО (могу заблуждаться)---------------
3. реализованы далеко не все виды счетчиков
4. как я понял в (1) результаты счетчиков выводяться для конкретной базы ("SELECT * FROM "+БазаДанных+".dbo.View_Lock_W") а в САБЖе для сервера в целом
так в этом и весь прикол, этой ХП пофиг как работаешь, она показывает статистику, и на основании статистики можно оптимизировать не только саму 1с, но, что самое главное всю систему под РЕАЛЬНОЙ нагрузкой, учитывая и скорость работы клиентов и дисков и т.д.
Эта ХП позволяет найти слабые стороны САМОГО SQL СЕРВЕРА
я не претендую на полное решения, я написал, что не мое и просил не плюсовать.
решение преднозначено для оптимизации SQL сервера, а не конкретных баз, по этому я считаю, что все нормально.
а про 1 кнопку - это только вред, интересно, что будет делать тупой пользователь с результатами? да и права SA нужны
из QA: CXPACKET 949831.0 53.2
"CXPACKET
Имеет место при попытке синхронизации итератора обмена обработчика запросов. Можно попытаться снизить степень параллелизма, если конфликты такого типа становятся проблемой."
это шо за ?
а этого: NETWORKIO 96863.0 5.4
вообще в табле не нашел (((
Имеет место при попытке синхронизации итератора обмена обработчика запросов. Можно попытаться снизить степень параллелизма, если конфликты такого типа становятся проблемой."
это шо за ?
в настройках SQL в свойствах параллелизма ставь 1 (а у тебя скорее всего там 0)
NETWORKIO - ожидание клиента
"CXPACKET
Parallel process waits. Possible skew of data possible lock of a range for this CPU, meaning that one parallel process is behind, etc.
Check for parallelism using sp_configure 'max degree of parallelism'.
If max degree of parallelism = 0, you may want to do one of the following:
· Turn off parallelism by setting max degree of parallelism to 1
· Limit parallelism by setting max degree of parallelism to less than the total number of CPUs. For example, if you have 8 procedures, set max degree of parallelism to 4 or less."
стоял действительно 0 )))
поставил на 4 пока - потестю )))
спасип )))
NETWORKIO 9577.0 85.8
из SQLDEV.NET:
"NETWORKIO
Waiting on network I/O completion. Waiting to read or write to a client on the network.
This can occur if a client is in the middle of sending packets to SQL Server, or when SQL writes data to a client and is waiting for an ACK.
Check bandwidth of your network interface card. 100 mbits is preferable to 10 mbs."
а откуда оно если и 1С и скуль на 1 машине в терминале?
запусти виндовые счетчики... короче нужно
1. уменьшить по максимуму все в сесиях, почту/аськи/офис/интернет - все в топку
2. пытаться сбалансировать распределение ресурсов
во вторых все должно упираться в дисковые операции и они должны быть более менее симетричными (например write-25% writeLog-30%, остальное частями не более 10%),
это конечно мое личное мнение, кто-то считает по другому, но я считаю раз HDD самая медленая деталь в компе, то упираться должно в нее...
можно конечно пытаться упереться в загрузку CP, но при современных многоядерных серверах это не реально :)
Вот результаты:
Сервер 1 - Одна 10G база под сайт (1Gbit канал с веб-сервером, трафик не более 800 kBit/s)
***total*** 1653620.0 100.0
OLEDB 546265.0 33.0
LAZYWRITER_SLEEP 540000.0 32.7
SQLTRACE_BUFFER_FLUSH 540000.0 32.7
SLEEP_TASK 14640.0 .9
CXPACKET 5484.0 .3
LCK_M_IS 2781.0 .2
SOS_SCHEDULER_YIELD 1000.0 .1
MSSEARCH 1250.0 .1
MSQL_DQ 859.0 .1
Сервер 2 - 10 сателитных баз (от 1G до 10G)
***total*** 2760902.0 100.0
CXPACKET 974218.0 35.3
PAGELATCH_EX 593562.0 21.5
LAZYWRITER_SLEEP 541000.0 19.6
SQLTRACE_BUFFER_FLUSH 540000.0 19.6
EXECSYNC 82468.0 3.0
LCK_M_IX 28531.0 1.0
Верны ли следующие выводы:
1) производительность сервера 1 притормаживается web-сервером.
2) оптимизировать запросы на втором сервере:
- искать запросы с параллельнымми планами выполнения
LAZYWRITER_SLEEP, SQLTRACE_BUFFER_FLUSH - это трассировки и прочие средства отладки, на рабочей базе их надо отключать на время когда они не нужны
OLEDB - это уже от веб сервера, на нем нужно сократить транкзации, как я не знаю (надо смотреть всю систему в целом).
по 2 серверу
CXPACKET - поставить параллелизм в 1
PAGELATCH_EX - это от кода зависит, вероятно какието ручные блокировки
ну и отладку SQL отключить
Сервер 3 базы 2 по 8 ГБ 1по 1 ГБ
Оперативки 8 ГБ
4 процессора по 2ГГрца
но 1ска УТ все равно тормозит и ругается на транзакции
статистика обновляется раз в 4 часа и реидексация стоит еженощно
MISCELLANEOUS; 17950296.0; 30.9
LAZYWRITER_SLEEP; 17948828.0; 30.9
SQLTRACE_BUFFER_FLUSH; 17912500.0; 30.8
LCK_M_IS; 1553453.0; 2.7
LCK_M_IX; 711812.0; 1.2
SLEEP_BPOOL_FLUSH; 425031.0; 0.7
Делал замер производительности по счётчикам винды: загрузка проца средняя 60%, в пиковые моменты - 100. Средняя длина очереди диска - 200 (максимальная больше 1000), в основном очередь на запись, счётчик очереди по чтению поменьше. SQL использует 3 гига памяти
Делал замеры, помогите интерпретировать результаты:
wait type; wait time; percentage;
LAZYWRITER_SLEEP; 3545453.0; 63.1;
CXPACKET; 947578.0; 16.9;
IO_COMPLETION; 286500.0; 5.1;
PAGEIOLATCH_SH; 267906.0; 4.8;
SLEEP_TASK; 193000.0; 3.4;
WRITELOG; 130750.0; 2.3;
LCK_M_X; 77234.0; 1.4;
SOS_SCHEDULER_YIELD; 64703.0; 1.2;
PAGEIOLATCH_EX; 59687.0; 1.1;
Имеет место при приостановке задач средства отложенной записи. Представляет собой показатель времени, затраченного ожидающими фоновыми задачами. Не следует учитывать это состояние при исследовании пользовательских простоев.
на сколько я понимаю затык в кеше, вероятно просто памяти не хватает для внутреннего кеша и он вытесняет его в своп (а своп медленный и системный), попробуй включить поддержку 4х гигов памяти, если сожрет 4 гига, значит я прав.
обычно это бывает из-за бешеного количества "мелких" запросов, например вычисляемая колонка в справочнике
Может какие-то скульные счётчики посмотреть чтоб с кэшем удостовериться? Пока грешу на RAID5, т.к. очередь на запись скачет, а он по записи тормозной. Ну и проц бы поменять, думаю.
по тестам из (0) большего всего занимает WRITELOG (от 32 до 45%), на втором месте LCK_M_X (до 30%) - дальше все по мелочам...
Как оптимизировать? Куда смотреть?
База 7.7 25 релиз, SQL 2000 sp4. На сервере 8гб памяти (PAE + AWE), рейд 10 на Sata2 (на нем и база и лог). База <20Гб в режиме Simple.
к скуль-серверу подключается, а при попытке "подготовить к мониторингу"
Форма.Форма(388)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Line 7: Incorrect syntax near '('.
RecSet.Open(Query,SQLServer,3,1,1);
по причине:
Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Line 7: Incorrect syntax near '('.
такая же беда... В чем может быть дело ?
Имеет место, когда задача ожидает кратковременной блокировки буфера, находящегося в состоянии запроса ввода-вывода. Запрос на кратковременную блокировку производится в режиме общего доступа. Длительное время ожидания может указывать на проблемы с дисковой подсистемой.
,189171.0,.8 - это много?
***total*** 18538808.0 100.0
LCK_M_X 5368370.0 29.0
PAGEIOLATCH_SH 4199847.0 22.7
LCK_M_IS 3980967.0 21.5
LCK_M_U 3611659.0 19.5
WRITELOG 385871.0 2.1
CXPACKET 355302.0 1.9
PAGEIOLATCH_EX 336477.0 1.8
LCK_M_S 205544.0 1.1
в целом не так плохо
PAGEIOLATCH_SH - конечно великовата, копай в сторону размеров файловых буферов и их оптимизации
LCK_M_X, LCK_M_IS - весьма характерные блокировки для 7.7 и по моим наблюдения они зависят скорее не от SQL а от скорости каталога с MD и темпов, для SQL версии вообще разумно сделать для этого рам диск.
ИХМО
в конечном итоге самое слабое место SQL - скорость записи лога, WRITELOG должно быть от 10 до 30%
Incorrect syntax near '/'.
Msg 102, Level 15, State 1, Line 4
Incorrect syntax near '/'.
Msg 111, Level 15, State 1, Line 14
'CREATE/ALTER PROCEDURE' must be the first statement in a query batch.
Cannot add rows to sys.sql_dependencies for the stored procedure because it depends on the missing table 'get_waitstats'. The stored procedure will still be created; however, it cannot be successfully executed until the table exists.
1С 7.70.027 для SQL
***total*** 213255969 100
XE_DISPATCHER_WAIT 57630092 27
CHECKPOINT_QUEUE 28606900 13,4
SQLTRACE_BUFFER_FLUSH 17944972 8,4
LAZYWRITER_SLEEP 17945744 8,4
LOGMGR_QUEUE 17885276 8,4
REQUEST_FOR_DEADLOCK_SEARCH 17945304 8,4
XE_TIMER_EVENT 17940060 8,4
FT_IFTS_SCHEDULER_IDLE_WAIT 17760364 8,3
SLEEP_TASK 8985282 4,2
BROKER_TO_FLUSH 8973495 4,2
LCK_M_IS 661023 0,3
CXPACKET 443392 0,2
SLEEP_BPOOL_FLUSH 152757 0,1
IO_COMPLETION 137195 0,1
сервер покупался в январе 2012г:
Windows Server 2008R2 Hyper-V
MB Intel S5500BCR
CPU 2 x Intel Xeon E5607 (8 ядер)
RAM 8 x 2Gb = 16Gb
RAID controller = Intel SRCSASLS4I
RAID1 = 2 x Seagate 300Gb ST3300657SS 15000rpm SAS
сервер 1С: виртуальная машина №3
Windows Server 2008R2
CPU 4 ядра
RAM 8Gb
MS SQL 2008
база SQL: 8,1Гб
на данный момент железо наращивать не планируется.
Переход на 1С8 тоже не планируется как минимум год.
Проблема: при переключении окон часто появляется белый экран и висит несколько минут.
виртуальная машина №2 - сервер управления антивирусом - загружен минимально
CPU 2 ядра
RAM 2Gb
виртуальная машина №1 - шлюз в интернет на Linux - загружен мало
CPU 2 ядра
RAM 1.5Gb
Симптомы похожи на то, что 1с ожидает ответ от SQL но не получает его, и тут главный вопрос - какие такие запросы 1с шлет в SQL при переключении окон, возможно там что-то левое тормозит ...
высокий XE_DISPATCHER_WAIT можно попробовать побороть переводом SQL в режим однопоточности и одновременным включением ежедневного регламента обновления статистики. При этом и поиск дедлоков должен исчезнуть.
Более точно мне сложно сказать, потому как нормально подружить Ваш гипервизор и Ваш SQL - довольно нетривиальная задача, там куча специальных настроек нужна...
***total*** 143770908 100
XE_TIMER_EVENT 17970036 12,5
LOGMGR_QUEUE 17944784 12,5
REQUEST_FOR_DEADLOCK_SEARCH 17945260 12,5
CHECKPOINT_QUEUE 17908664 12,5
SQLTRACE_BUFFER_FLUSH 17941024 12,5
LAZYWRITER_SLEEP 17945052 12,5
FT_IFTS_SCHEDULER_IDLE_WAIT 17760338 12,4
SLEEP_TASK 8975681 6,2
BROKER_TO_FLUSH 8972515 6,2
CXPACKET 86349 0,1
PAGEIOLATCH_SH 136859 0,1
После завершения теста занято оперативной памяти всего 6Гб.
Для получения уведомлений о новых публикациях автора подключите телеграм бот: Инфостарт бот
№ 16681
Создание 06.11.08 17:11
Обновление 26.11.08 00:00
Просмотры 49743
Загрузки 1876
Рейтинг
117
Комментарии 80
Код открыт Не указано
Рубрики Инструментарий разработчика
Кому
Системный администратор
,
Программист
Тип файла Приложение (exe)
Платформа
Платформа 1С v7.7
,
Платформа 1С v8.3
Конфигурация
Конфигурации 1cv8
,
Конфигурации 1cv7
Операционная система Windows
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)