Тестирование SQL проблем

26.11.08

Разработка - Инструментарий разработчика

Предназначена для выявления статистики ожидания блокировок и транзакций.
Вещь крайне полезная!

НЕ МОЯ!!! Думаю, можно плюсовать, а то теряется она на просторах, а ведь реально - стоящая вещь
(а еще лучше писать сюда, насколько удалось улучшить систему)

Скачать файлы

Наименование Файл Версия Размер
-
.1225980665 3,10Kb
1869
.1225980665 3,10Kb 1869 Скачать бесплатно

Скрипт выполнить в Мастерс, потом вызвать созданную ХП

Спасибо Schtass за ссылку для расшифровки результатов
http://www.sqldev.net/misc/waittypes.htm

Спасибо artbear за расшифровку результатов на русском и в более полном варианте
http://msdn.microsoft.com/ru-ru/library/ms179984.aspx

См. также

Консоль запросов

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Консоль запросов к базе SQL, не требующая внешних компонент

10 стартмани

29.04.2015    21560    54    Gvozdod    8    

14

StartManager 1.4 - Развитие альтернативного стартера

Инструментарий разработчика Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)

Очередная редакция альтернативного стартера, являющегося продолжением StartManager 1.3. Спасибо всем, кто присылал свои замечания и пожелания, и тем, кто перечислял финансы на поддержку проекта. С учетом накопленного опыта, стартер был достаточно сильно переработан в плане архитектуры. В основном сделан упор на масштабируемость, для способности программы быстро адаптироваться к расширению предъявляемых требований (т.к. довольно часто просят добавить ту или иную хотелку). Было пересмотрено внешнее оформление, переработан существующий и добавлен новый функционал. В общем можно сказать, что стартер эволюционировал, по сравнению с предыдущей редакцией. Однако пока не всё реализовано, что планировалось, поэтому еще есть куда развиваться в плане функциональности.

1 стартмани

23.04.2014    165721    1864    Alexoniq    1596    

496

Tray Informer

Инструментарий разработчика Платформа 1С v7.7 Платформа 1С v8.3 Россия Абонемент ($m)

Согласитесь, что окно стандартное сообщений в 1С иногда приносит больше неудобств, чем пользы. И тем более разные "Предупредить"... Что с этим окном только не делают! Его отцепают от формы, делают маленьким, умудряются спрятать за границы экрана. А потом звонят программистам с претензией, что документ почему-то не проводится, отя ничего и не пишет. У вас такого не было? А вот у нас было и не раз )))

1 стартмани

04.09.2013    32881    61    O-Planet    78    

49

Изменение структуры баз 1С 7.7 без долгой реструктуризации. Часть 1. Справочники

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

На днях встретил вопрос на форуме про возможность внесения изменений в конфигурацию без долгого сохранения в рабочей базе большого объема. Вот решил поделиться опытом, как это делал я. База у нас была объемом порядка 120 Гб. К базе обращался сайт в режиме 24/7, поэтому важно было быстро сохранять изменения и желательно без последующего монопольного запуска для восстановления индексов и процедур и без отключения пользователей от базы. Это первая часть статьи и посвящена она справочникам. С одной стороны - это самый простой объект, с другой стороны, именно про справочник спрашивалось на форуме. Если статья будет востребована, то я напишу аналогичные про документы, регистры и может еще что.

1 стартмани

13.08.2013    21200    Reptile    5    

35

v7.7 1CDialogControls: Инструмент в помощь разработчику на 7.7.

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Давным давно, когда я еще плотно писал на 7.7 работа с формами была мучительной и неудобной. Приходилось каждый элемент выкладывать, выравнивать на форме ручками, прописывать код в модуле. Иногда при разработке очередной формы приходила в голову мысль: "а где-то я уже похожее делал..." и начинался мучительный поиск подходящего кода в своих запасах........

1 стартмани

21.02.2013    18030    35    MarSeN    14    

16

[Разработчику] Любая таблица значений в OLAP

Инструментарий разработчика Платформа 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    36103    51    venger    7    

23

Библиотека кода 1С 7.7 (накопленная за 8 лет)

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Весь код на 1С 7.7, собранный для повторного использования за 8 лет работы.

10 стартмани

25.11.2012    34960    248    adhocprog    51    

70
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Душелов 4013 06.11.08 21:24 Сейчас в теме
33. w-divin 29.06.09 17:42 Сейчас в теме
(1)
а она фунциклирует если нет сервера предприятия 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 '('.
2. vde69 925 06.11.08 21:34 Сейчас в теме
to 1, эта для конкретной базы, а в САБЖ-е для сервера в целом (пофигу сколько и каких баз).

кроме того в САБЖЕ анализ шире, по сколько анализируеться на сами блокировки и не запросы а системные счетчики
21. Gilev.Vyacheslav 1910 10.12.08 01:38 Сейчас в теме
(2) функциональнось полностью перекрывается обработкой из (1)
если думаешь, что не так, то смотри код обработки :)
22. vde69 925 10.12.08 09:43 Сейчас в теме
(21) обработка в (1) хороша инужна, но по моему это разные вещи

1. если у огранизации совсем нету 8.1 ????
2. если административные установки не позволяют пользоваться SWbemLocator
------------следующие пункты ИХМО (могу заблуждаться)---------------
3. реализованы далеко не все виды счетчиков
4. как я понял в (1) результаты счетчиков выводяться для конкретной базы ("SELECT * FROM "+БазаДанных+".dbo.View_Lock_W") а в САБЖе для сервера в целом
23. Gilev.Vyacheslav 1910 10.12.08 13:52 Сейчас в теме
(22) рекомендую другие закладки посмотреть, прежде продолжим обсуждение
3. Душелов 4013 06.11.08 21:41 Сейчас в теме
Скрипт толком не рассматривал. Тут же дело в том, что 1С-ка не использует SQL, как положено... А так... В качестве хранилища данных... Но посмотреть стоит...
4. vde69 925 06.11.08 21:47 Сейчас в теме
to 3
так в этом и весь прикол, этой ХП пофиг как работаешь, она показывает статистику, и на основании статистики можно оптимизировать не только саму 1с, но, что самое главное всю систему под РЕАЛЬНОЙ нагрузкой, учитывая и скорость работы клиентов и дисков и т.д.
Эта ХП позволяет найти слабые стороны САМОГО SQL СЕРВЕРА
5. sCHTASS 49 07.11.08 09:37 Сейчас в теме
А не могли бы сказать неискушенному в серверах, где бы можно посмотреть расшифровку полученного результата? Желательно на руссоком языке.
6. vde69 925 07.11.08 09:49 Сейчас в теме
в гугл вбиваешь и читаешь,
ну если на английском, но у мелкомягких
7. n 07.11.08 11:18 Сейчас в теме
Чесно говоря несколько не ясна поль за от такой статистики:

***total*** 3194903351.0 100.0
OLEDB 3175652096.0 99.4

Ну вижу я что OLEDB занимает 99% а дальше чего?

8. vde69 925 07.11.08 11:38 Сейчас в теме
to 7
не то смотришь, или активности нету...

бывает всякая фигня, типа "PAGEIOLATCH_SH" и т.д.

запускать надо на рабочем сервере в рабочее время на длительноое время (я рекомендую 4-6 часов)
9. Душелов 4013 07.11.08 11:45 Сейчас в теме
Решение оформлено не правильно. Надо обработочкой для 7.7 и 8.х с 1 кнопкой - исправить ;)
10. vde69 925 07.11.08 11:52 Сейчас в теме
to 9
я не претендую на полное решения, я написал, что не мое и просил не плюсовать.
решение преднозначено для оптимизации SQL сервера, а не конкретных баз, по этому я считаю, что все нормально.

а про 1 кнопку - это только вред, интересно, что будет делать тупой пользователь с результатами? да и права SA нужны
Noy; Душелов; +2 Ответить
11. sCHTASS 49 07.11.08 12:36 Сейчас в теме
12. vde69 925 07.11.08 12:50 Сейчас в теме
to 11

спасибо, то, что нужно
13. n 07.11.08 14:05 Сейчас в теме
to 8 вообще то сервер самый что ни на есть рабочий и пользователей штук 50 на нем есть и замеры 5 часов делались.
14. vde69 925 07.11.08 14:12 Сейчас в теме
(13) по ссылке в (11)

Сервер SQL ждет ответа клиента, чтобы послать данные

короче долгий отклик приложений, то есть он типа все сделал и ждет когда клиент заберет данные.
думаю все очень понятно!
15. n 07.11.08 14:23 Сейчас в теме
to 14, ага спасибо уже почитал
16. vde69 925 07.11.08 14:25 Сейчас в теме
to 15
вот так и понимаешь, что в тормозах сам скуль не виноват :)
напрягай админов, пусть это показатель сокращают до 10-20%
17. Altair777 644 07.11.08 14:41 Сейчас в теме
(0) НЕ МОЯ!!! просьба НЕ плюсовать
За такую фразу так и хочется плюсик влупить :-)
18. vde69 925 25.11.08 10:17 Сейчас в теме
я передумал, можете плюсовать :)
причина простая, теряеться она среди прочих пустых вещей, а ведь нужная вещь
19. artbear 1448 25.11.08 13:07 Сейчас в теме
Расшифровка результатов на русском и в более полном варианте
http://msdn.microsoft.com/ru-ru/library/ms179984.aspx
20. vde69 925 26.11.08 16:21 Сейчас в теме
добавил картинку (что-бы народ понимал, что за фиговина такая)
24. Gilev.Vyacheslav 1910 10.12.08 13:53 Сейчас в теме
в настоящее время обработка развивается "в закрытом" режиме, например умеет находить и строить отсутствующие индексы в субд
25. Barmolei 2 15.12.08 15:06 Сейчас в теме
А под IBM DB2 будет работать?
26. Gilev.Vyacheslav 1910 16.12.08 06:35 Сейчас в теме
(25) пока на практике таких заказчиков не было, но если появяться, то почему нет
27. w-divin 29.06.09 17:01 Сейчас в теме
вот чего-то не допонял...
из QA: CXPACKET 949831.0 53.2

"CXPACKET
Имеет место при попытке синхронизации итератора обмена обработчика запросов. Можно попытаться снизить степень параллелизма, если конфликты такого типа становятся проблемой."
это шо за ?

а этого: NETWORKIO 96863.0 5.4
вообще в табле не нашел (((
28. vde69 925 29.06.09 17:04 Сейчас в теме
CXPACKET
Имеет место при попытке синхронизации итератора обмена обработчика запросов. Можно попытаться снизить степень параллелизма, если конфликты такого типа становятся проблемой."
это шо за ?

в настройках SQL в свойствах параллелизма ставь 1 (а у тебя скорее всего там 0)


NETWORKIO - ожидание клиента
29. w-divin 29.06.09 17:13 Сейчас в теме
(28) нашел:
"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 пока - потестю )))
спасип )))
30. w-divin 29.06.09 17:14 Сейчас в теме
ЗЫ поставил на 4 потому как CPUs 2*4core )))
31. vde69 925 29.06.09 17:16 Сейчас в теме
(30) включи поддержку 4х ядер, но параллелизм ставь 1
32. w-divin 29.06.09 17:37 Сейчас в теме
вот теперь таки выползло:
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 машине в терминале?
34. vde69 925 29.06.09 17:53 Сейчас в теме
(32) вот теперь вы видишь, что или сама сеть или клиенты тормозят. Админов напряги пусть уменьшают до 5%
36. w-divin 29.06.09 18:02 Сейчас в теме
(34) концовку пропустил:
"а откуда оно если и 1С и скуль на 1 машине в терминале?"
35. vde69 925 29.06.09 18:01 Сейчас в теме
(32) у тебя SQL и терминал на ОДНОЙ???
какие настройки сервера ? на службы или на приложения?

вообще на 1 машине их НЕЛЬЗЯ ставить
37. w-divin 29.06.09 18:04 Сейчас в теме
(35) угу - на 1й ((((((((((((( на вторую денех не дають )))
по поводу "нельзя ставить": если очень нужно, то можно )))) выхода то нету )))
настройки и проц и память на приложения...
38. vde69 925 29.06.09 18:10 Сейчас в теме
у тебя вероятно на терминал памяти не хватает, ограничивай скуль, и в сесиях смотри кто сколько жрет... патч от ромикса поставь на 100% загрузку, дальше будет видно.

запусти виндовые счетчики... короче нужно
1. уменьшить по максимуму все в сесиях, почту/аськи/офис/интернет - все в топку
2. пытаться сбалансировать распределение ресурсов
39. croco 31.08.09 21:00 Сейчас в теме
кто-нибудь знает какое желаемое распределение процентов по задержкам должно быть (ведь уменьшая простои по одному типу будут расти простои по другим типам) ?
40. vde69 925 31.08.09 22:23 Сейчас в теме
(39) во первых уменьшая одно у тебя должно уменьшаться Total

во вторых все должно упираться в дисковые операции и они должны быть более менее симетричными (например write-25% writeLog-30%, остальное частями не более 10%),
это конечно мое личное мнение, кто-то считает по другому, но я считаю раз HDD самая медленая деталь в компе, то упираться должно в нее...

можно конечно пытаться упереться в загрузку CP, но при современных многоядерных серверах это не реально :)
41. croco 01.09.09 12:57 Сейчас в теме
(40) Выполнил тестирование на продуктовых серверах.
Вот результаты:

Сервер 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) оптимизировать запросы на втором сервере:
- искать запросы с параллельнымми планами выполнения
42. vde69 925 01.09.09 13:26 Сейчас в теме
по 1 серверу:
LAZYWRITER_SLEEP, SQLTRACE_BUFFER_FLUSH - это трассировки и прочие средства отладки, на рабочей базе их надо отключать на время когда они не нужны

OLEDB - это уже от веб сервера, на нем нужно сократить транкзации, как я не знаю (надо смотреть всю систему в целом).

по 2 серверу
CXPACKET - поставить параллелизм в 1
PAGELATCH_EX - это от кода зависит, вероятно какието ручные блокировки
ну и отладку SQL отключить

43. croco 01.09.09 13:40 Сейчас в теме
(42) спасибо. будем пробовать
66. mybracho 13.04.12 16:25 Сейчас в теме
(42)
"по 1 серверу:
LAZYWRITER_SLEEP, SQLTRACE_BUFFER_FLUSH - это трассировки и прочие средства отладки, на рабочей базе их надо отключать на время когда они не нужны"


А как отключить это дело ?
44. y22-k 250 07.09.09 16:07 Сейчас в теме
Подскажи пожалуйста в ссылках ничего толкового не нашел

Сервер 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
45. y22-k 250 08.09.09 12:28 Сейчас в теме
конкретно что такое MISCELLANEOUS; 17950296.0; 30.9
46. vde69 925 08.09.09 13:34 Сейчас в теме
(45) я не знаю, у тебя какой сервер? (ведь не 2000!) ищи в MSDM на сайте мелкомягких.

Могу только предположить, что это какие-то теневые операции скуля (тригеры, репликации с другой базой и т.д.)
47. y22-k 250 08.09.09 15:13 Сейчас в теме
48. pavel_tr 16.09.09 15:33 Сейчас в теме
Имеем 1С-базу 30 Гб, 25-30 активных пользователей, связку терминального и SQL-сервера по гигабитной сети. Конфа SQL-сервера: PentiumD 3,4 GHz, 4 GB RAM, массив RAID5 на контроллере Adaptec 2130S из 5 дисков SCSI 10 000RPM Fujitsu. Используем SQL 2005 WorkGroup Edition. Всё это добро в последнее воемя тормозит, блокировки журнала очень часто (по 5-10 секунд).
Делал замер производительности по счётчикам винды: загрузка проца средняя 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;
49. vde69 925 16.09.09 16:02 Сейчас в теме
LAZYWRITER_SLEEP -
Имеет место при приостановке задач средства отложенной записи. Представляет собой показатель времени, затраченного ожидающими фоновыми задачами. Не следует учитывать это состояние при исследовании пользовательских простоев.

на сколько я понимаю затык в кеше, вероятно просто памяти не хватает для внутреннего кеша и он вытесняет его в своп (а своп медленный и системный), попробуй включить поддержку 4х гигов памяти, если сожрет 4 гига, значит я прав.

обычно это бывает из-за бешеного количества "мелких" запросов, например вычисляемая колонка в справочнике



50. vde69 925 16.09.09 16:04 Сейчас в теме
кстати, то, что у тебя загрузка ЦП доходит до 100 - то же не гуд, скуль не должен жрать больше 70-80% в пиках
51. pavel_tr 16.09.09 16:57 Сейчас в теме
У нас SQL WorkGroup - он больше 3 гиг кушать не умеет =/
Может какие-то скульные счётчики посмотреть чтоб с кэшем удостовериться? Пока грешу на RAID5, т.к. очередь на запись скачет, а он по записи тормозной. Ну и проц бы поменять, думаю.
52. vde69 925 16.09.09 17:31 Сейчас в теме
(51) скульных счетчиков нету для этого, копай виндовые для обмена память<->своп

думаю можно посмотреть профайлером в момент пиковой загрузки (просто количество запросов в 1 сек) если их много - то см. (49)
53. Noy 1076 21.09.09 18:12 Сейчас в теме
Уважаемый гуру, подскажи!
по тестам из (0) большего всего занимает WRITELOG (от 32 до 45%), на втором месте LCK_M_X (до 30%) - дальше все по мелочам...
Как оптимизировать? Куда смотреть?
База 7.7 25 релиз, SQL 2000 sp4. На сервере 8гб памяти (PAE + AWE), рейд 10 на Sata2 (на нем и база и лог). База <20Гб в режиме Simple.
54. vde69 925 21.09.09 19:20 Сейчас в теме
WRITELOG - перенеси лог файл на другой ФИЗИЧЕСКИЙ диск, или райд более быстрый собирай, можно вообще лог отключить, потеряешь возможность востановление в течения дня, зато работать будет быстрее
55. Noy 1076 22.09.09 11:34 Сейчас в теме
(54) Я так понимаю первый вариант предпочтительней, но на данный момент для меня не достижимый.
Буду отключать лог (тем более я понятия не имею как с помощью лога что-либо восстанавливать да и бекап ежедневно делаю).
Большое спасибо за совет.
56. bluestorm 07.10.09 09:23 Сейчас в теме
зедсь уже писали что возникла такая ошибка :

к скуль-серверу подключается, а при попытке "подготовить к мониторингу"
Форма.Форма(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 '('.

такая же беда... В чем может быть дело ?
57. Вотс 16.12.09 10:09 Сейчас в теме
PAGEIOLATCH_EX
Имеет место, когда задача ожидает кратковременной блокировки буфера, находящегося в состоянии запроса ввода-вывода. Запрос на кратковременную блокировку производится в режиме общего доступа. Длительное время ожидания может указывать на проблемы с дисковой подсистемой.
,189171.0,.8 - это много?
58. maxpiter 147 26.10.10 12:45 Сейчас в теме
59. idw 343 11.05.11 18:53 Сейчас в теме
А как этим скриптом пользоваться?
60. Sergey_Murzinov 28.09.11 18:01 Сейчас в теме
Попробовал собрал статиску, интересно. Но тормоза сервера были по другой причине
61. Zdec1 30.09.11 11:05 Сейчас в теме
База 1с около 130 гб, скл, конфигурации серверов сейчас не могу сказать. за 2,5 часа получил вот такую статистику. Кто что может сказать по этому поводу?

***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
63. vde69 925 30.09.11 19:57 Сейчас в теме
(61) Zdec1,

в целом не так плохо

PAGEIOLATCH_SH - конечно великовата, копай в сторону размеров файловых буферов и их оптимизации

LCK_M_X, LCK_M_IS - весьма характерные блокировки для 7.7 и по моим наблюдения они зависят скорее не от SQL а от скорости каталога с MD и темпов, для SQL версии вообще разумно сделать для этого рам диск.

ИХМО
в конечном итоге самое слабое место SQL - скорость записи лога, WRITELOG должно быть от 10 до 30%
64. Zdec1 03.10.11 08:59 Сейчас в теме
(63) спасибо, будем копать в эту сторону
62. Zoomby 30.09.11 12:20 Сейчас в теме
65. igor_1c 17 29.10.11 16:57 Сейчас в теме
Отличная штука, будем пробовать
67. mybracho 17.04.12 18:26 Сейчас в теме
Вот результаты теста, куда смотреть ? где узкие места ? Подскажите, пожалуйста.
Прикрепленные файлы:
Тестирование SQL.txt
68. mybracho 27.04.12 17:17 Сейчас в теме
69. gorenski 372 14.05.12 08:04 Сейчас в теме
Не забывам комментарии удалять в скрипте, а то ругается:

Msg 102, Level 15, State 1, Line 1
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.
70. leshik 34 12.07.13 09:07 Сейчас в теме
Что-то не могу скачать скрипт. Премиум доступ оплатил.
71. Gilev.Vyacheslav 1910 29.11.13 13:14 Сейчас в теме
Более полноценную картину бесплатно можно получить с помощью http://www.gilev.ru/sqlsize/
72. scherbinin 24.07.16 13:52 Сейчас в теме
Подскажите куда копать:

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
73. vde69 925 24.07.16 17:57 Сейчас в теме
проблема с долгим откликом окон клиента скорее всего не связана с SQL напрямую, скорее тут дело в чем-то хитром, типа временного кеша, или разрывом сесий.
Симптомы похожи на то, что 1с ожидает ответ от SQL но не получает его, и тут главный вопрос - какие такие запросы 1с шлет в SQL при переключении окон, возможно там что-то левое тормозит ...

высокий XE_DISPATCHER_WAIT можно попробовать побороть переводом SQL в режим однопоточности и одновременным включением ежедневного регламента обновления статистики. При этом и поиск дедлоков должен исчезнуть.


Более точно мне сложно сказать, потому как нормально подружить Ваш гипервизор и Ваш SQL - довольно нетривиальная задача, там куча специальных настроек нужна...

74. scherbinin 25.07.16 00:10 Сейчас в теме
vde69, спасибо за быстрый ответ. Пока попробовал довести размер оперативки для 1С-виртуалки 8Gb -> 12Gb, с утра повторно запущу тест и затем выложу.
75. scherbinin 25.07.16 14:53 Сейчас в теме
После добавления оперативки картина поменялась:

***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Гб.
76. vde69 925 25.07.16 19:33 Сейчас в теме
еще раз спрошу

1. какими средствами дружили 1с и скуль ?
2.. на скуле включен параллелизм=1 ???
77. scherbinin 26.07.16 12:30 Сейчас в теме
1. Не владею навыками настройки, SQL 2008 ставился по умолчанию на ту же машину с RDP. Перенос базы делал программист 1С.

2.

"Максимальная степень параллелизма" попробовать поставить единичку и повторить тесты?
78. vde69 925 26.07.16 13:22 Сейчас в теме
(77) scherbinin,

ставь 1,

настрой обновление статистики в SQL раз в 4 часа, (ОБЯЗАТЕЛЬНО)

дай поработать сутки,

потом уже повторяй тест
79. ProIT 02.03.17 11:47 Сейчас в теме
Вот тут статья есть по расшифровке https://habrahabr.ru/post/216309/
80. a_barkovskiy 09.12.19 22:47 Сейчас в теме
Я бы помог
user1324661; user1324656; +2 Ответить
Оставьте свое сообщение