|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
Выдалась очень жаркая неделя. В субботу, после того, как закончил с плановыми работами, запустил и оставил работать checkdatabase, который работал до 5 часов утра понедельника и к началу рабочего дня закончился. Уже с утра, стало ясно, что все дико тормозит, но видимых причин на то не было. Да, я поменял настройки сайбеса и кешей, перенес лог сегмент в отдельный файл и настроил снятие дампа с транзакционного лога (и восстановление его на резервном сервере), но глобально ничего не менялось. Единственная зацепка, это память. В субботу sql сервер занимал в памяти 4 Гб, в понедельник утром 3,5 Гб и размер системного кеша (в диспетчере задач) был более 12 Гб, при том, что размер свободной памяти был близок к нулю. Родилась гипотеза, что в процессе проверки БД проводилось массовое чтение с диска и эти данные винда кешировала в памяти, в системном кеше и когда память закончилась, ОС начала отбирать память у работающих приложений и служб. В настройках быстродействия Windows параметр использование памяти установлен в "оптимизировать работу системного кеша", Распределение времени процессора "оптимизировать работу служб, работающих в фоновом режиме". Распределение памяти не изменилось, очень большой системный кеш, практически отсутствует свободная память и меньше 3,5 Гб под сайбейс. Сервер тормозил так весь день, пока ночью не был перезагружен. Вторник и среду, расхлебывал последствия, крутил настройки, выполнял советы sp_sysmon'a по оптимизации, но все работало нормально, т.е. после перезагрузки сайбейс захватил память и держал ее. В настройках быстродействия Windows поменял параметр использование памяти на "оптимизировать работу программ". sp_sysmon постоянно рекомендует увеличить параметр housekeeper free write percent, попробовал 3, затем 5, 10, 20, 35, 50, 75, 80, 90%, но сколько бы не добавлял, просит добавить еще. Последняя итерация вечера среды вернул все обратно, по дефолту на 1%. Памяти было 4 Гб. В четверг утром повторилась история понедельника, процесс занимает 2,8 Гб, дикие тормоза, системный кеш больше 12 Гб, свободной памяти практически нет. Вернул housekeeper free write percent на 95%, кеш начал расти, дорос до 3 ГБ, 3,3 ГБ, 3,5 ГБ, 3,88 ГБ, вроде помогло, весь день все работало нормально, но вечером память опять упала до 3,3 Гб и начались тормоза. Ночью перезагрузил сервер, память 4 Гб, растет системный кеш, пока ест свободную память, но скора она закончится, жду очередных тормозов. Настройки сайбеса: allocate max shared memory = 1 dynamic allocation on demand = 0 lock shared memory = 1 (добавил вчера еще раз, но пробовал во вторник и с этим параметром сайбейс память все равно отдает) Почему сайбейс отдает память? Предполагаю, что он очищает кеши, скидывая их на диск и отдает память винде. Когда же она опять нужна сайбесу, либо он не может ее забрать у Винды, либо он даже не пытается это делать. Почему изменив housekeeper free write percent с 1 до 95 кеш начал заполняться, ведь должно быть на оборот, мусорщик должен еще быстрее скидывать грязные страницы на диск и очищать кеш, но получилось, что кеш наоборот заполнился, НО как и написано в описании к этому параметру, получил падение производительности. Как заставить сайбейс не очищать кеш, может дело в стратегии кеша? Хотя такое поведение получил именно после перехода на х64. Под х86 параметр dynamic allocation on demand = 0 работал нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2010, 10:30 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
Викторрр, "оптимизировать работу системного кеша" - вот это неверный выбор - это для файлового сервера Еще бы посмотреть на выделение памяти и виртуальной в этот момент (когда ОС отбирает у процесса) для процессов БД - см.рис ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2010, 13:34 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2010, 13:40 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
Тормоза легко могут быть, когда винда по своему усмотрению начинает двигать страницы из ОЗУ на диск. Т.е. как такового отбирания памяти у сабейза и не будет. Нет, никто ничего не отбирает. Просто сабейз работает со своим кэшем в 3(3.3,3.5,3.8...) гига, считая что он в памяти. Но этот кэш винда держит на диске. Вот и усе. Поглядите своп-файл. По-хорошему на сервере он должен быть минимален. У СУБД свои механизмы кэширования данных и управления памятью. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2010, 15:53 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
iLLer, Странно, что никто не задумался на таким сопособом решения: У меня, например, на машине, на которой есть 4 гига памяти своп вообще ортключён в принципе - стоит 0. У Вас на машине 16 Гиг. Зачем Вам своп в принципе нужен на этой машине? Кстати lock shared memory для винды не работает. Винда всёравно сделает так как ей хочется, если вдруг чего-то там случится - например копирование больших файлов. Так зачем же себе создавать проблему, в виде включённого свопа, чтобы потом искать пути как с ней бороться? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2010, 17:34 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
ВикторррПочему изменив housekeeper free write percent с 1 до 95 кеш начал заполняться, ведь должно быть на оборот, мусорщик должен еще быстрее скидывать грязные страницы на диск и очищать кеш, но получилось, что кеш наоборот заполнился, НО как и написано в описании к этому параметру, получил падение производительности Читайте что такое кэши в ASE! Он не может очиститься, без вашего вмешательства, и сброс грязных страниц, это не вытеснение из кэша! Помимо тюнинга сервера проверьте планы запросов, которые по вашему мнению тормозят! Особенно с "set statistic io on" "lock shared memory" - только для unix/linux. У процесса врятли кто-то может отнять память, ASE это не MS SQL, вот он может делиться памятью с виндой. Так что проверяйте своп, как вам писали выше, я тоже склоняюсь что причина в этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2010, 18:35 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
cherrex_Den"lock shared memory" - только для unix/linux. Кстати, под виндами есть такая привелегия пользователя, как "Lock pages in memory". Использовал когда-то для АСА, но насколько понимаю, она работает для любых процессов, способных этим воспользоваться. Тут расписано для АСА, возможно для АСЕ это делается как-то аналогично. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2010, 19:01 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
Siemargl sysinternals CacheSet вот интересная статья Прямо детектив уже вырос Параметр, использование памяти, поменял на "оптимизировать работу программ" на прошлой неделе, но результата это не принесло. Утилиту cacheset.exe запустил, она показала, что максимальный размер кеша 15,5 Гб. Попробовал уменьшить до 10 Гб, но вместо установленного мной значения устанавливается какое-то другое значение. Логики пока не понял. Как работает эта утилитка? Экран при ее первоначальном запуске: ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 08:49 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
SiemarglВикторрр, "оптимизировать работу системного кеша" - вот это неверный выбор - это для файлового сервера Еще бы посмотреть на выделение памяти и виртуальной в этот момент (когда ОС отбирает у процесса) для процессов БД - см.рис В пятницу вечером служба занимала 4,1 Гб. В субботу утром уже 2,7 Гб. По совету участников форума в субботу в отключил своп и перезагрузил сервер, служба стала 4,1 Гб, воскресенье и понедельник держалась, как и положено, на уровне 4,1 Гб. НО сегодня утром опять стала 3,2 Гб. Картинку с полем "виртуальная память" прилагаю. Основываясь на собранной статистике за 3 недели, предполагаю, что после перезагрузке сайбейс действительно захватывает всю определенную ему память и держит ее, хотя кеши реально пустые. После начала работы кеши заполняются и все быстро работает, но в первую же ночь (когда наступает простой в работе) сайбейс очищает кеши и утром все начинает тормозить. Со временем кеши начинают опять заполняться, все начинает шевелиться и в течении дня нормально работает, но к вечеру, кеши опять очищаются и все опять начинает тормозить. Что заставляет очищаться кеш? Можно ли запретить его очистку? Сейчас размер службы опять дорос до 3,8 Гб и остановился. Полагаю, что дальше он не растет до 4,1 Гб, т.к. выделен именованный кеш 300 Мб под TempDb и т.к. он сейчас пустой, то служба дальше и не растет. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 09:13 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
iLLerТормоза легко могут быть, когда винда по своему усмотрению начинает двигать страницы из ОЗУ на диск. Т.е. как такового отбирания памяти у сабейза и не будет. Нет, никто ничего не отбирает. Просто сабейз работает со своим кэшем в 3(3.3,3.5,3.8...) гига, считая что он в памяти. Но этот кэш винда держит на диске. Вот и усе. Поглядите своп-файл. По-хорошему на сервере он должен быть минимален. У СУБД свои механизмы кэширования данных и управления памятью. Смотрел perfmon'om, но своп не используется. Кроме того, если бы виндовс передвинул кеш на диск, то сайбейс этого и не заметил бы, так же остался 4,1 Гб в памяти, только начал бы сильно тормозить, но у меня именно служба начинает использовать меньше памяти... В субботу вообще отключил своп на всех дисках, но это не помогло. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 09:18 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
cherrex_Den Читайте что такое кэши в ASE! Он не может очиститься, без вашего вмешательства, А как я могу повлиять на очистку кеша? cherrex_Den и сброс грязных страниц, это не вытеснение из кэша! housekeeper free write percent вернул обратно на 1 процент. Т.е. гразные страницы, после сброса на диск и становясь чистыми, по прежнему остаются в памяти. cherrex_Den "lock shared memory" - только для unix/linux. У процесса врятли кто-то может отнять память, ASE это не MS SQL, вот он может делиться памятью с виндой. Так что проверяйте своп, как вам писали выше, я тоже склоняюсь что причина в этом. Своп отключил. Похоже дело не в том, что винда забирает память у сайбеса, а в том, что сам сайбейс очищает кеши, а потом, при начале работы, начинает их вновь заполнять. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 09:27 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
Викторрр, Как вы определяете что кэш очистился??? ВикторррА как я могу повлиять на очистку кеша? По определению, он не может очиститься, он может забиться другими(не нужными страницами), при этом вытесняя нужные. С какой-то версии ASE есть мониторная таблица master..monCachedObject, в ASE 15 точно есть, в 12.5 надо доустановить мониторные таблицы. Эта таблица дает полную информацию о наполнености кэша. Викторррhousekeeper free write percent вернул обратно на 1 процент. Т.е. гразные страницы, после сброса на диск и становясь чистыми, по прежнему остаются в памяти. На сколько я помню есть три действия при которых отмываются страницы(сбрасываются на диск): 1.При простое процессоров(простой задается как раз housekeeper free write percent), housekeeper начинает мыть страницы в кэше, которые стоят до вошмаркера. 2.По чекпоинту. При вызове команды чекпоинт, или по параметру recovery interval in minutes 3.Когда страница проходит вошмаркер. Не уверен, но по моему еще есть настройки девайса, при которых данные сразу попадают на диск, после коммита. Так вот, когда страница прошла вошмаркер и стала, чистой, она попрежнему живет в память, все зависит от настройки размера 'Wash Size' , в пуле кэша. Но ее могут отмыть и до вошмаркера(см. выше), и она по прежнему останется в кэше. Может произойти другая ситуация, когда есть в кэше маленький пул (мало памяти отведенно под пул), и оптимизатор принимает решение читать этим пулом, естественно все в этот пул не влазит, и происходит вытиснение. По этому надо разбераться с планоми запросов. ВикторррВ пятницу вечером служба занимала 4,1 Гб. В субботу утром уже 2,7 Гб. ASE расходует память не только на кэши, но и на свои динамические потребности, так что уменьшение памяти используемое процессом вполне закономерно. Но у вас разница действительно большая! :-( P.S. Если что наврал, поправьте! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 11:42 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
ВикторррПосле начала работы кеши заполняются и все быстро работает, но в первую же ночь (когда наступает простой в работе) сайбейс очищает кеши и утром все начинает тормозить. Со временем кеши начинают опять заполняться, все начинает шевелиться и в течении дня нормально работает, но к вечеру, кеши опять очищаются и все опять начинает тормозить. Что заставляет очищаться кеш? Предполагаю, что кэш не очищается, а просто напросто к концу дня одни страницы (нужные для быстрой дневной работы) вытесняются другими. Это может происходить из-за плохих запросов и их планов, в этом случае в кэше осядет всякая ненужная мура. Надо захватывать нагрузочный поток и анализировать, какие запросы, какие у них планы, сколько и каких данных читается с диска и т.п. Вот и получается, что целыми днями сервер из-за недостатка памяти попеременно затягивает то одно, то другое, пытаясь удовлетворить то одни потребности, то другие. P.S.: Все-таки мне кажется эта ситуация нездоровой. Такая железка, столько памяти... и такое неэффективное использование. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 11:45 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
И еще, Викторрр, Я знаю только один способ очистить кэш. Это перебинд обьектов с одного кэша на друго. Проверьте, может в течении дня такое происходит. Хотя врятли. Плюс, Обязательно смотрите планы!!! У нас например, есть запросы которые дергают большое количество не оперативных данных(аналитика и статистика). Такие запросы запускаются раз в день или раз в неделю, и все эти запросы обхинтованы стратегией заполняемости кэша MRU ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 12:58 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
Проблемы с памятью начались после перехода на х64 виндовс!!! На х86, с теми же настройками сайбеса и тем же приложением все было нормально. Причем летом я уже пробовал переходить на х64 виндовс и результат был тот же, при простое, служба отдает память. Причем, перезагрузив в субботу сервер, память будет держаться и воскресенье (выходной) и понедельник (день), а упадет только в ночь с понедельника на вторник. Если же перезагрузить утром во вторник, то весь день будет все нормально, но в первую же ночь, память потеряется. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 14:39 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
cherrex_DenВикторрр, Как вы определяете что кэш очистился??? В диспетчере задач процесс sqlsrvr.exe занимает 3 Гб вместо 4 Гб. Про кеши, это моя догадка. ВикторррА как я могу повлиять на очистку кеша? cherrex_Den По определению, он не может очиститься, он может забиться другими(не нужными страницами), при этом вытесняя нужные. С какой-то версии ASE есть мониторная таблица master..monCachedObject, в ASE 15 точно есть, в 12.5 надо доустановить мониторные таблицы. Эта таблица дает полную информацию о наполнености кэша. select cachename,count(cachedkb) from master..monCachedObject group by cachename default data cache 1398 tempdb_cache 257 1,6 Гб кеш, хотя служба сейчас занимает в памяти 3950 Мб!!! А остальная память тогда где? cherrex_Den Так вот, когда страница прошла вошмаркер и стала, чистой, она попрежнему живет в память, все зависит от настройки размера 'Wash Size' , в пуле кэша. Но ее могут отмыть и до вошмаркера(см. выше), и она по прежнему останется в кэше. Может произойти другая ситуация, когда есть в кэше маленький пул (мало памяти отведенно под пул), и оптимизатор принимает решение читать этим пулом, естественно все в этот пул не влазит, и происходит вытиснение. По этому надо разбераться с планоми запросов. [Named Cache:default data cache] cache size = 3159040.0K cache status = default data cache cache replacement policy = strict LRU replacement local cache partition number = DEFAULT [16K I/O Buffer Pool] pool size = 10.0000M wash size = DEFAULT local async prefetch limit = DEFAULT [Named Cache:tempdb_cache] cache size = 300M cache status = mixed cache cache replacement policy = strict LRU replacement local cache partition number = DEFAULT [2K I/O Buffer Pool] pool size = 143360.0000K wash size = 40958 K local async prefetch limit = DEFAULT [16K I/O Buffer Pool] pool size = 112640.0000K wash size = 20480 K local async prefetch limit = DEFAULT В default data cache 2К пул не нужно отдельно прописывать? В централе он показывается, хотя в конфиге его нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 15:03 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
Перезапустил cacheset.exe, теперь он показывает так: ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 15:11 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
Викторрр, Викторррselect cachename,count(cachedkb) from master..monCachedObject group by cachename Это что за яресь??? select cachename, sum(cachedkb) from master..monCachedObject group by cachename Викторрр[16K I/O Buffer Pool] pool size = 10.0000M wash size = DEFAULT local async prefetch limit = DEFAULT Вот в этом наверное и проблема, вы или вообще 16К пул убейте, или дайте ему памяти побольше. Но это не значит что весь кэш надо сделать 16К. Оптимизатор, видит что у вас есть 16К пул, и пытается им читать(16К пул более предпочтителен, почему, думаю догадаетесь сами), но он у вас настолько маленький что, происходит самовытяснение!!! ВикторррПроблемы с памятью начались после перехода на х64 виндовс!!! На х86, с теми же настройками сайбеса и тем же приложением все было нормально. Причем летом я уже пробовал переходить на х64 виндовс и результат был тот же, при простое, служба отдает память. Я так понимаю ASE у вас 32-бит? Незнаю как себя ведет ASE 32-бит на 64-битной винде. И зачем тогда переходили на х64 виндовс??? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 16:08 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
cherrex_DenВикторрр, select cachename, sum(cachedkb) from master..monCachedObject group by cachename Ннн, да! Не в бровь, а в глаз! :) Промахнулся. default data cache 3158962 tempdb_cache 42626 Викторрр [16K I/O Buffer Pool] pool size = 10.0000M wash size = DEFAULT local async prefetch limit = DEFAULT cherrex_Den Вот в этом наверное и проблема, вы или вообще 16К пул убейте, или дайте ему памяти побольше. Но это не значит что весь кэш надо сделать 16К. Оптимизатор, видит что у вас есть 16К пул, и пытается им читать(16К пул более предпочтителен, почему, думаю догадаетесь сами), но он у вас настолько маленький что, происходит самовытяснение!!! Первоначально сделал его 100 Мб, но смотрел по sysmon'у, он практически не используется, по этому сделал маленьким (чтобы он все же был на всякий случай, но и памяти за зря не отъедал). Сейчас убрал его вообще, остался только 2К. Попробую еще так, но что-то сомневаюсь. cherrex_Den Я так понимаю ASE у вас 32-бит? Незнаю как себя ведет ASE 32-бит на 64-битной винде. И зачем тогда переходили на х64 виндовс??? Да, ASE 32-бит, Windows 64-бит. Сделал из-за того, что 32х битное приложение под х86 может использовать 3 Гб памяти, а под х64 - 4 Гб. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 16:29 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
Викторрр, ВикторррДа, ASE 32-бит, Windows 64-бит. Сделал из-за того, что 32х битное приложение под х86 может использовать 3 Гб памяти, а под х64 - 4 Гб. Судя по вашим траблам, переход не оправдался! Замерьте параметры конфигурации total physical memory и total logical memory (не забудьте, их размерность в 2К), до и после падения памяти и проанализируйте их. Также засеките что произошло в master..monCachedObject, после падения памяти. Проверьте эвент-лог винды и errorlog ASE после снижения памяти. У меня память процесса тоже скачет, но не больше чем в 1Гб. Т.е. при старте, серверу нужны некие ресурсы(на теже блокировки, или еще что нибудь), а потом он может освобождать память, но не больше чем у него кэши(+оверхэд+итд). Просто если кто-то залезит в адресное пространство ASE, то он упадет. А если падения не происходит, и в своп не чего не вываливается значит все нормально. Не забывайте что для у правления кэшем, ASE еще нужна память(оверхед), какой процент от размера кэша требуется, не помню, посмотрите в доке. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 17:08 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
cherrex_Den ВикторррДа, ASE 32-бит, Windows 64-бит. Сделал из-за того, что 32х битное приложение под х86 может использовать 3 Гб памяти, а под х64 - 4 Гб. Судя по вашим траблам, переход не оправдался! Верю, что общими усилиями удастся заставить сайбейс нормально работать и под х64. cherrex_DenЗамерьте параметры конфигурации total physical memory и total logical memory (не забудьте, их размерность в 2К), до и после падения памяти и проанализируйте их. Также засеките что произошло в master..monCachedObject, после падения памяти. Проверьте эвент-лог винды и errorlog ASE после снижения памяти. Ночью перезагрузил сервер, утром служба 4,1 Гб, хотя кеши пустые: 9:00 default data cache 995726 tempdb_cache 6434 9:30 default data cache 1694880 tempdb_cache 22696 11:00 default data cache 3158734 tempdb_cache 28548 Parameter Name Default Memory Used Config Value Run Value Unit Type total physical memory 0 4075120 0 2037560 memory pages(2k) read-only Parameter Name Default Memory Used Config Value Run Value Unit Type total logical memory 33792 4071444 2035722 2035722 memory pages(2k) read-only По логике, сегодня сервер день поработает, все будет нормально, ночью постоит без нагрузки и скинет кеши, завтра утром служба станет 3 Гб. Хотя были и дни, когда служба держалась и 2 дня (хотя возможно это связано с выходными). Статистику по службе, со скинутой памятью, приведу как только она появится. cherrex_DenУ меня память процесса тоже скачет, но не больше чем в 1Гб. Т.е. при старте, серверу нужны некие ресурсы(на теже блокировки, или еще что нибудь), а потом он может освобождать память, но не больше чем у него кэши(+оверхэд+итд). Просто если кто-то залезит в адресное пространство ASE, то он упадет. А если падения не происходит, и в своп не чего не вываливается значит все нормально. Не забывайте что для у правления кэшем, ASE еще нужна память(оверхед), какой процент от размера кэша требуется, не помню, посмотрите в доке. На счет оверхеда. Я задаю размер дефолтного кеша максимально большим (в приделах максмем), свободной памяти остается не более 3-5 мб. Нужно оставлять сколько-то памяти просто свободной, не используемой??? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2010, 09:29 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
Викторрр, Ну посмотрим, случай интересный! ВикторррНа счет оверхеда. Я задаю размер дефолтного кеша максимально большим (в приделах максмем), свободной памяти остается не более 3-5 мб. Нужно оставлять сколько-то памяти просто свободной, не используемой??? На этот вопрос, кроме вас не кто не ответит! К томуже у ASE очень много потребителей памяти. Это и блокировки, процедурный кэш, колличество открытых обьектов, итд. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2010, 09:41 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
cherrex_Den ВикторррНа счет оверхеда. Я задаю размер дефолтного кеша максимально большим (в приделах максмем), свободной памяти остается не более 3-5 мб. Нужно оставлять сколько-то памяти просто свободной, не используемой??? На этот вопрос, кроме вас не кто не ответит! К томуже у ASE очень много потребителей памяти. Это и блокировки, процедурный кэш, колличество открытых обьектов, итд. я попробую ответить - оставлять нужно, если потребуется по-быстрому изменить динамический параметр в сторону увеличения, коих в Sybase ASE достаточно (number of users, devices, locks , и т.д.) + вот это читали? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2010, 10:36 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
По совету cherrex_Den заглянул в erorlog ASE, увидел 3 типа ошибок, которых раньше не было. 1. Встречается очень часто kernel ksctsetlocale: connectivity library error. Operation: Msg. 33818168, Severity 6, cs_locale: cslib user api layer: common library error: Failed to map a local name to an object id!. kernel ksctsetlocale: connectivity library error. Operation: cs_locale(CS_SET CS_SYB_SORTORDER rusnocs_cp866). 2. Встречалась уже несколько раз: kernel SQL Server system exception (0xc0000005) generated by a storage access violation. kernel pc: 0x00855F73 (Symbol not found)(0x14EBAE50, 0x14EBAECC, 0x77ACE5AC, 0x77ACE4AC) kernel pc: 0x00855F73 (Symbol not found)(0x14EBAE50, 0x14EBAECC, 0x77ACE690, 0xFFFFFFFF) kernel pc: 0x0083F546 (Symbol not found)(0x14EBADC0, 0x14EBAE50, 0x000000C0, 0x77ACE690) kernel [Handler pc: 0x00845436 (Symbol not found) installed by the following function:-] kernel [Handler pc: 0x009FE418 (Symbol not found) installed by the following function:-] kernel [Handler pc: 0x008277BB (Symbol not found) installed by the following function:-] kernel [Handler pc: 0x00845436 (Symbol not found) installed by the following function:-] kernel [Handler pc: 0x00845436 (Symbol not found) installed by the following function:-] kernel [Handler pc: 0x007965AD (Symbol not found) installed by the following function:-] kernel pc: 0x0083E5F9 (Symbol not found)(0x0822CCBC, 0x00000000, 0x00000001, 0x00000000) kernel pc: 0x0075E7AB (Symbol not found)(0x15448800, 0x77ACEE94, 0x0127F53C, 0x00000000) kernel [Handler pc: 0x0079D007 (Symbol not found) installed by the following function:-] kernel pc: 0x00799203 (Symbol not found)(0x19419B00, 0x19419B90, 0x00000000, 0x00000000) kernel pc: 0x007679E8 (Symbol not found)(0x1266C4D8, 0x00000004, 0x1266C2B4, 0x0822C82C) kernel [Handler pc: 0x00472864 (Symbol not found) installed by the following function:-] kernel pc: 0x0075E281 (Symbol not found)(0x18A16800, 0x77ACF77C, 0x0127F53C, 0x20202020) kernel [Handler pc: 0x0079D007 (Symbol not found) installed by the following function:-] kernel pc: 0x00799203 (Symbol not found)(0x18C86F3C, 0x14C5E800, 0x00000000, 0x00000000) kernel pc: 0x007679E8 (Symbol not found)(0x7D4D08CF, 0x00B7AB0A, 0x0258D040, 0x00000000) kernel pc: 0x0075E281 (Symbol not found)(0x19990800, 0x0044B2D5, 0x77ACFF48, 0x0127F53C) kernel [Handler pc: 0x0079D007 (Symbol not found) installed by the following function:-] kernel pc: 0x00799203 (Symbol not found)(0x0822C800, 0x00000000, 0x00000000, 0x00000000) kernel pc: 0x0045365C (Symbol not found)(0x00000094, 0x00000000, 0x00000000, 0x0A2F02C0) kernel [Handler pc: 0x00472864 (Symbol not found) installed by the following function:-] kernel [Handler pc: 0x006D8E30 (Symbol not found) installed by the following function:-] kernel [Handler pc: 0x006D8E30 (Symbol not found) installed by the following function:-] kernel pc: 0x0041AF0F (Symbol not found)(0x0A2F02C0, 0x00000000, 0x00000000, 0x0A2F02C0) kernel pc: 0x00B34897 AseHTTPURLInputStream::readBytes+ 0x6c5b1 (0x00000000, 0x00000000, 0x00000000, 0x00000000) kernel pc: 0x7D4DFE37 kernel32.dll (0x00000000, 0x00000000, 0x00000000, 0x00000000) kernel end of stack trace, spid 64, kpid 74711157, suid 19 kernel ************************************ 3. И еще вот такая: kernel ubo_object_from_slot:Sybproc Invalid slot id 0 kernel An internal memory management error has occured. Error code: Invalid slot id. kernel pc: 0x00BB1A3D AseHTTPURLInputStream::readBytes+ 0xe9757 (0x7D0EEA68, 0x7D4D89E0, 0x7D4D8F38, 0xFFFFFFFF) kernel pc: 0x00BB1A3D AseHTTPURLInputStream::readBytes+ 0xe9757 (0x7D0EEA68, 0x7D0EE820, 0x0000270F, 0x00000002) kernel pc: 0x00B89C5A AseHTTPURLInputStream::readBytes+ 0xc1974 (0x07120130, 0x00000002, 0x0000270F, 0x00000000) kernel pc: 0x00B898E4 AseHTTPURLInputStream::readBytes+ 0xc15fe (0x07120130, 0x00000001, 0x0A2E6E38, 0x0A30705C) kernel pc: 0x00B3F33B AseHTTPURLInputStream::readBytes+ 0x77055 (0x0A2E5000, 0x00000000, 0x1A1DC000, 0x0A2E6FC0) kernel pc: 0x00B618B4 AseHTTPURLInputStream::readBytes+ 0x995ce (0x155F259C, 0x00000005, 0x155F24FC, 0x7D0EEEEC) kernel pc: 0x00B575E6 AseHTTPURLInputStream::readBytes+ 0x8f300 (0x155F259C, 0x00000005, 0x00000000, 0x00000000) kernel pc: 0x004E2F66 (Symbol not found)(0x155F24FC, 0x00000000, 0x00000000, 0x00000000) kernel pc: 0x00493783 (Symbol not found)(0x092F1CAC, 0x00000006, 0x155F25D0, 0x155F25B0) kernel pc: 0x00492F05 (Symbol not found)(0x00000024, 0x00000011, 0x00000019, 0x00000000) kernel pc: 0x0079DE98 (Symbol not found)(0x00000024, 0x00000011, 0x00000019, 0x00000000) kernel pc: 0x004727F8 (Symbol not found)(0xFFFFFFF3, 0x155F25D0, 0x155F25B0, 0x00000000) kernel pc: 0x004934F6 (Symbol not found)(0x155F25BC, 0x00000005, 0x00000004, 0x00000000) kernel pc: 0x00884765 (Symbol not found)(0x7D0EF728, 0x092F9775, 0x7D0EFEAE, 0x20202020) kernel [Handler pc: 0x0084E4E5 (Symbol not found) installed by the following function:-] kernel pc: 0x0084D673 (Symbol not found)(0x7D4D08CF, 0x00B7AB0A, 0x0258CF40, 0x00000000) kernel [Handler pc: 0x00472864 (Symbol not found) installed by the following function:-] kernel pc: 0x0075D525 (Symbol not found)(0x17A42000, 0x0044B2D5, 0x092F9775, 0x7D0EFEAE) kernel [Handler pc: 0x0079D007 (Symbol not found) installed by the following function:-] kernel pc: 0x00799203 (Symbol not found)(0x092F1C00, 0x00000000, 0x00000000, 0x00000000) kernel pc: 0x0045365C (Symbol not found)(0x00000103, 0x00000000, 0x00000000, 0x0A302118) kernel [Handler pc: 0x00472864 (Symbol not found) installed by the following function:-] kernel [Handler pc: 0x006D8E30 (Symbol not found) installed by the following function:-] kernel [Handler pc: 0x006D8E30 (Symbol not found) installed by the following function:-] kernel pc: 0x0041AF0F (Symbol not found)(0x0A302118, 0x00000000, 0x00000000, 0x0A302118) kernel pc: 0x00B34897 AseHTTPURLInputStream::readBytes+ 0x6c5b1 (0x00000000, 0x00000000, 0x00000000, 0x00000000) kernel pc: 0x7D4DFE37 kernel32.dll (0x00000000, 0x00000000, 0x00000000, 0x00000000) Полагаю это последствия перехода на х64 винду (с использованием параметра shared memory starting address = 23662592) ИЛИ использование памяти под завязку (не оставляя серверу памяти на его внутренние нужды), хотя может есть и иные причины. Это лечится? Если да, то как? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2010, 15:12 |
|
Оптимизация производительности Sybase ASE 12.5.1
|
|||
---|---|---|---|
#18+
ВикторррПо совету cherrex_Den заглянул в erorlog ASE, увидел 3 типа ошибок, которых раньше не было. 1. Встречается очень часто kernel ksctsetlocale: connectivity library error. Operation: Msg. 33818168, Severity 6, cs_locale: cslib user api layer: common library error: Failed to map a local name to an object id!. kernel ksctsetlocale: connectivity library error. Operation: cs_locale(CS_SET CS_SYB_SORTORDER rusnocs_cp866). Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2010, 15:56 |
|
|
start [/forum/topic.php?fid=55&msg=36550076&tid=2010466]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 19ms |
total: | 171ms |
0 / 0 |