|
Когда SQL жрет память | ☑ | ||
---|---|---|---|---|
0
spleen
04.04.12
✎
13:26
|
Есть одни очень не плохой сервер i7, 16Gb RAM, SSD винты база до 10GB
Вообщем все летает. Но иногда какой-то манагер задает отчет в УТ такой, что на пол дня ставит этот сервер на колени. И SQL-процесс загружен на 90-100%. Как-то можно предотвратить такие "чудо запросы" от пользователей, или как оставить уже запущенный, без перегрузки сервиса? |
|||
1
_Demos_
04.04.12
✎
13:30
|
переписать запрос
|
|||
2
КМ155
04.04.12
✎
13:30
|
(0)[Как-то можно предотвратить такие "чудо запросы" от пользователей]
хорошо помогают простреленные коленки |
|||
3
butterbean
04.04.12
✎
13:31
|
да, есть любители запустить отчетик по все измерениям за весь период да еще со свойствами/категориями
я на таких натравливаю их же коллег |
|||
4
spleen
04.04.12
✎
13:31
|
(1) Типовые отчеты.
Задают детализацию и период за 3 года, а там млн. записей. |
|||
5
Гефест
04.04.12
✎
13:32
|
(4) В таком случае точно (2)
|
|||
6
Дикообразко
04.04.12
✎
13:33
|
(1) сделать базу для отчетов
|
|||
7
spleen
04.04.12
✎
13:33
|
(5) от 3 до 5 можно схлопотать по УК. )))
|
|||
8
Дикообразко
04.04.12
✎
13:33
|
хотя скорее всего просто что то криво настроено...
|
|||
9
spleen
04.04.12
✎
13:34
|
(6) И отдельный сервер тоже для отчетов
|
|||
10
spleen
04.04.12
✎
13:34
|
(8) Например?
|
|||
11
rs_trade
04.04.12
✎
13:34
|
(0) в оперативной базе ограничить периоды формирования отчетов
|
|||
12
spleen
04.04.12
✎
13:36
|
(11) Где это сделать?
|
|||
13
ptrtss
04.04.12
✎
13:36
|
Не, правильный вопрос. SQL любит все ядра грузить. Можно как-нибудь ограничить кол ядер на один запрос?
|
|||
14
spleen
04.04.12
✎
13:37
|
(13) А если запросов 100?
|
|||
15
shamannk
04.04.12
✎
13:38
|
Тупой SQL я знал что от работы Кони дохнут но от него я этого не ожидал. На работе мощьное железо а эта гадость гаснит при первой панике.
|
|||
16
dk
04.04.12
✎
13:38
|
||||
17
ptrtss
04.04.12
✎
13:38
|
(14) Ты же говоришь "какой-нибудь манагер". Это одно лицо обычно. Если у вас вся контора такая то только (2)
|
|||
18
Дикообразко
04.04.12
✎
13:40
|
(10) например, руки настройщику поломать
|
|||
19
rs_trade
04.04.12
✎
13:40
|
(13) max degree of parallelism = 1
|
|||
20
Дикообразко
04.04.12
✎
13:41
|
10 gb база это вообще не о чем для нормального сервака
|
|||
21
Дикообразко
04.04.12
✎
13:41
|
тем более когда вся база в оперативке
|
|||
22
КМ155
04.04.12
✎
13:44
|
(20)
(21) база целиком поместилась в память и поэтому CPU загружен на 100% |
|||
23
shamannk
04.04.12
✎
13:45
|
Как SQL справляется с высокой нагрузкой? Никак, гасит всех. Файловая? очень долго запрос работает но остальные юзверы пашут Проверенно!!! (конечно тупые запросы это плохо)
|
|||
24
Wern
04.04.12
✎
13:45
|
Действительно ограничьте запросы текущим годом и/или количеством разрезов, если нужно больше по спец. разрешению.
|
|||
25
Дикообразко
04.04.12
✎
13:47
|
(22) что он полдня там делает?
за это время себестоимость посчитается несколько раз |
|||
26
spleen
04.04.12
✎
13:48
|
Какой нибудь ABC по всем клиентам с разворотом по документам
|
|||
27
Ахиллес
04.04.12
✎
13:48
|
Это всё полумеры. В отчет добавь контроль времени исполнения. Если за 5 минут отчет не сформировался, тогда ЗавершитьРаботуСистемы:)
Думаю через запуск регламентного задания такое организовать возможно. |
|||
28
spleen
04.04.12
✎
13:49
|
(27) хм. Кто-то такое делал?
|
|||
29
Ахиллес
04.04.12
✎
13:51
|
(28) Я нет. Просто фантазия на заданную тему :-)
|
|||
30
spleen
04.04.12
✎
13:52
|
(29) Просто слабо себе представляю реализацию.
Может не такая у меня фантазия ))) |
|||
31
Ахиллес
04.04.12
✎
13:57
|
(30) Отчет в начале работы запускает регламентное задание, которое через установленное время проверяет флаг выполнения отчета (флаг выставляется после окончания работы отчета). Как ты флаг этот реализуешь это тысяча и один способ есть. Тук, как говорится и Флаг тебе в руки.
|
|||
32
spleen
04.04.12
✎
14:02
|
(31) Спасибо, подумаю.
|
|||
33
ptrtss
04.04.12
✎
14:22
|
(27) С SQL запрос так не снимется
|
|||
34
rs_trade
04.04.12
✎
14:23
|
(31) ерунда все это. автор, начни с ограничения периодов в отчетах. запретить пустые даты.
|
|||
35
Andr10K
04.04.12
✎
14:25
|
Можно SQL ограничить в аппетитах на память.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |