|
|
|
Как бороться с блокировками в ASE 12.5.0.3
|
|||
|---|---|---|---|
|
#18+
Коллеги, просьба - не могли бы Вы слишком большие скрипты кидать в txt-файлики и просто присоединять их к сообщению ? Мне кажется так будет удобней для прочтения топика, а то умучаешься листать и искать между скриптами сообщения авторов :) P.S. Надо же морально поддержать Judge, а то он мучался мучался, сервис присоединения файлов делал, а мы все по старинке кидаем рулоны скриптов прямо в сообщения :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2004, 16:26 |
|
||
|
Как бороться с блокировками в ASE 12.5.0.3
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. Код: plaintext Код: plaintext 1. 2. 3. 4. 5. 6. 2. Перезагрузи ASE 3. Создай 4К-пул Мегов на 200 4. user log cache size увеличь минимум до 8192, а еще лучше до 12000 Затем опять посмотри sp_sysmon, секцию Transaction.Management ---------------------- ..ULC.Flushes.to.Xact.Log.........per.sec......per.xact.......count..%.of.total ..-------------------------..------------..------------..----------..---------- ....by.Full.ULC.....................166.4.........118.0.......99813......87.9.% Должно быть меньше!!! ..Max.ULC.Size.During.Sample..........n/a...........n/a........2048.......n/a Посмотри, какое значение будет. если будет равно установленному значению - увеличивай еще. 5. deadlock checking period чему равен? Поставь 50000 6. Procedure cache percent чему равен? Да и вообще, если на сервере кроме ASE никого нету, то дай ASE побольше памяти! Если хочешь - оставь e-mail (или ICQ), могу сбросить настройки своего сервера... Хоть у меня и 12.0, но различий немного и они описаны в документации... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2004, 21:19 |
|
||
|
Как бороться с блокировками в ASE 12.5.0.3
|
|||
|---|---|---|---|
|
#18+
Делать отдельные девайсы для лога и default сегментов - стандартная рекомендация, в том числе и для tempdb, у меня например и system вынесен на отдельный девайс. sp_addthreshold 1. Размер указывается в 2к страницах 2. Можно указать процедуру либо в текущей базе, либо sybsytemprocs (если имя начинается с sp_). т.е. для 200Мб sp_addthreshold tempdb, logsegment, 102400, sp_prc_dumptransaction Увеличить User Log Cashe Size - хороший совет, sysmon так и написал ..-.Consider.increasing.the.'user.log.cache.size' ....configuration.parameter. Процедурный кэш, аналогично ..-.Consider.increasing.the.'procedure.cache.size' ....configuration.parameter. По поводу удаления 16к, обычно его очень любят операции типа select into и т.д. Из-за него может тормозить только в одном случае - 16к создан слишком маленьким, сервер начинает его активно использовать, а места не хватает - начинается ожидание освобождения пространства в кэше. 4кб кэш тоже можно создавать, его использует лог, но в tempdb лучше использовать нелоггируемые операции. max online engines не должен быть больше числа процессоров в машине (или виртуальных процессоров в машине с HT). Дополнительные рекомендации из sysmon-а ..-.Consider.decreasing.the.'runnable.process.search.count' ....configuration.parameter.if.you.require.the.CPU's.on ....the.machine.to.be.used.for.other.applications. А что на машине что-то еще крутится? Обычно это говорит о конкуренции за процессор. В общем стоит вернуться к default. ..-.Consider.increasing.the.'deadlock.checking.period'.parameter ....by.50.ms. Дедлоков действительно нет, а т.к. user-ов мало, смело можно увеличивать. ....Tuning.Recommendations.for.Data.cache.:.default.data.cache ....------------------------------------- ....-.Consider.using.'relaxed.LRU.replacement.policy' ......for.this.cache. В принципе можно, но на одном выводе сисмона такое решение принимать не стоит, вобще лучше сделать пару отдельных кэше с такой политикой для наиболее активно используемых таблиц (правда нужно, чтобы кэш покрывал хотя бы на 80% таблицу и индексы). ....-.Consider.adding.a.large.I/O.pool.for.this.cache. Это общая рекомедация, что бы советовать что-то надо знать какие операции в основном используются, можно добавить 4кб пул для лога или сделать для него отдельный кэш. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 09:36 |
|
||
|
Как бороться с блокировками в ASE 12.5.0.3
|
|||
|---|---|---|---|
|
#18+
> user log cache size увеличь минимум до 8192, а еще лучше до 12000 только не 12000, а 12288, должно быть кратно 4к. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 09:44 |
|
||
|
Как бороться с блокировками в ASE 12.5.0.3
|
|||
|---|---|---|---|
|
#18+
2 _Sania Код: plaintext 1. 2. Причем баловался размерами до 300 Мб... Проявления одни и те же - активное шуршание винтами и резкое падение производительности... В чем грабли, так и не понял... Код: plaintext ИМХО, 4к-пул - форевер... 8) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 09:57 |
|
||
|
Как бороться с блокировками в ASE 12.5.0.3
|
|||
|---|---|---|---|
|
#18+
Хотя в моих скриптах перед reorg rebuild'ом всегда создается 16К-пул. 8))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 09:59 |
|
||
|
Как бороться с блокировками в ASE 12.5.0.3
|
|||
|---|---|---|---|
|
#18+
Код: plaintext Отлаживался на процедуре: 60% времени занимает операция - DROP TABLE #f_deal_temp все UPDATE всместе взятые не занимают этого времени ! №.... дата время...............время в миллисекундах....операция в процедуре ask_f_deal 1......18.05.2004 9:22:15.013............[NULL] - начало работы процедуры 2......18.05.2004 9:22:15.043............30....... - CREATE TABLE #f_deal_temp 3......18.05.2004 9:22:15.140............96....... - INSERT INTO #f_deal_temp 4......18.05.2004 9:22:52.043............36903.. - все UPDADTE #f_deal_temp 5......18.05.2004 9:22:57.467............5423... - SELECT * FROM #f_deal_temp 6......18.05.2004 9:23:47.060............49593.. - DROP TABLE #f_deal_temp Я этого не понимаю. > 5. deadlock checking period чему равен? Поставь 50000 у меня равен 500 - сейчас изменю. >6. Procedure cache percent чему равен? у меня равен 32000 E-mail budget открыл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 10:02 |
|
||
|
Как бороться с блокировками в ASE 12.5.0.3
|
|||
|---|---|---|---|
|
#18+
Установил: user log cache size - 12288 deadlock checking period - 50000 Перезапустился: На один и тот же запрос картина поменялась: №.... дата время...............время в миллисекундах....операция в процедуре ask_f_deal 1...........18.05.2004 10:38:40.950.....[NULL] - начало работы процедуры 2...........18.05.2004 10:38:40.967.....16....... - CREATE TABLE #f_deal_temp 3...........18.05.2004 10:38:41.390.....423....... - INSERT INTO #f_deal_temp 4...........18.05.2004 10:40:06.717.....85326.. - все UPDADTE #f_deal_temp 5...........18.05.2004 10:40:10.437.....3720... - SELECT * FROM #f_deal_temp 6...........18.05.2004 10:40:14.500.....4063.. - DROP TABLE #f_deal_temp Вопос: А можно ли как - нибудь уменьшить приоритет вызываемой процедуры перед другими, если я знаю, что этот пользователь в данный момент запросил большое количество данных и может всех подвесить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 10:50 |
|
||
|
Как бороться с блокировками в ASE 12.5.0.3
|
|||
|---|---|---|---|
|
#18+
exec sp_setpsexe @@spid, 'priority', 'LOW' но пользоваться стоит очень аккуратно. На sybase.com была документация на русском. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 11:19 |
|
||
|
Как бороться с блокировками в ASE 12.5.0.3
|
|||
|---|---|---|---|
|
#18+
Понижается уровень всего текущего процесса, а если пользователь не sa, то повысить обратно он его не сможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 11:20 |
|
||
|
Как бороться с блокировками в ASE 12.5.0.3
|
|||
|---|---|---|---|
|
#18+
А жизнь то налаживается! Код: plaintext 1. 2. 3. 4. 5. 6. Увеличил, спасибо за настойчивые рекомендации. user log cache size - 12288 Пооменял 'procedure.cache.size' c 32000 на 64000 !! блокировок стало меньше, очередь по tempdb появляется реже но если постараться все равно самая долгая операция при совместном доступе - DROP TABLE #f_deal_temp все остальное (UPDATE INSERT) проходит очень быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 12:25 |
|
||
|
Как бороться с блокировками в ASE 12.5.0.3
|
|||
|---|---|---|---|
|
#18+
Хочу всех поблагодарить за участие в этом обсуждение Действительно сервер стал работать лучше а главное надежнее. Большое всем спасибо. И на последок. sp_sysmon '00:10:00' go результат в присоедененном файле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 13:04 |
|
||
|
Как бороться с блокировками в ASE 12.5.0.3
|
|||
|---|---|---|---|
|
#18+
На здоровье! 8))) Маленький совет - В рез-тах sp_sysmon видищь строчки . Tuning Recommendations for <...> . ---------------------------------------------- . - .................................. ... configuration parameter. Открываешь Perfomance and Tuning guide и ищешь, что там написано про этот параметр. Смотришь, чему он равен у тебя, и смотришь, что рекомендуют. После этого !три! (а лучше четыре) раза думаешь и вечером (когда юзеров нету) изменяешь параметр. Смотришь к чему все привело (запускаешь тестовый пример), хотя бы на первый взгляд. И будет тебе щастье! 8) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2004, 12:49 |
|
||
|
Как бороться с блокировками в ASE 12.5.0.3
|
|||
|---|---|---|---|
|
#18+
По поводу текста процедуры. Замечания сразу 1) Create # table такого размера действительно может лочить серверную таблицу sysobjects. Кроме этого бывает что использование временной таблицы повлечет перекомпиляцию процедуры. Как вариант - сделай таблицу постоянной, а чтобы пользователи не дрались с данными - введи столбец SPID , заполненный @@spid и во всех запросах добавь where SPID = @@spid 2) На # таблице нет индекса - вообще бред. Практика показала что # таблицы без явного unique индекса неправильно обрабатываются в FETCH, @@rowcount , особенно под нагрузкой. 3) Не увидел мыслей про FORCEPLAN ON и нет описания ключей таблиц fd_sum и пр. SELECT DISTINCT в таком режиме будет загружать CPU сильнее. 4) Есть смешные места про LIKE "%sssss%" - это чистый скан и их в нормальной системе быть не должно в принципе. Перепроектируй структуру (как я понял была попытка реализовать субконто в потрфеле). 5) Мало групповых операций - сплошные навигационные хождения по таблицам - SQL в таком режиме не особо эффективен. p.s. По ощущению, если выполнить мои рекомендации - можно ускорить этот код минимум раз в 100 :-)) Удачи ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2004, 09:36 |
|
||
|
Как бороться с блокировками в ASE 12.5.0.3
|
|||
|---|---|---|---|
|
#18+
Бороться с блокировками это всё равно, что бороться со светофорами для того чтобы быстрее ездить!!!! Их(блокировки) нужно уважать. Начать нужно с этого!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2004, 10:52 |
|
||
|
Как бороться с блокировками в ASE 12.5.0.3
|
|||
|---|---|---|---|
|
#18+
Хорошо сказано ! А что этот старый топик наверх вытащили, еще проблемы есть, или просто кто-то решил свое слово вставить спустя пол-года ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2004, 11:03 |
|
||
|
|

start [/forum/search_topic.php?author=JohnySC&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
162ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 442ms |
| total: | 725ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...