powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Оптимизация производительности Sybase ASE 12.5.1
227 сообщений из 227, показаны все 10 страниц
Оптимизация производительности Sybase ASE 12.5.1
    #36442452
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Помогите пожалуйста оптимизировать производительность сервера СУБД Sybase. Железо: сервер Intel SR6850HW4, 4 х 3,66 ГГц Intel Xeon, память 16 Гб, рейд контроллер Intel SROMBU42E 256 Mb cash (Firmware Version 514S, BIOS Version H431) и 10 SCSI дисков Seagate 143 Гб (15000 оборотов) объединенных в Raid10 (без дисков горячего резерва). ОС: Windows 2003 Enterprise x86 (пробовал и x64). Размер БД 170 Гб, страницы 2К, под сайбейс выделено 3 Гб оперативки.
Основываясь на данных перфмона, сделал вывод, что узким местом, является дисковая подсистема сервера. Договорился с ЕМС о тестировании системы хранения сх4-240 с 2 полками дисков (полка FC и 6 Flash флэш дисков). Первое впечатление было очень положительным, на внутреннем рейде дамп поднимался 3,5 часа, на системе хранения 20 мин (как на флэш так и на fc дисках), переиндексация (в 20 одновременно запущенных процессах) прошла меньше чем за 5 часов (вместо 16), при этом система (на флэш дисках) выдает 8-9 тыс. запросов в секунду (как говорит ЕМС система легко может выдать 12,5 тыс., но наш сайбейс больше не может ее загрузить). Загрузка процессора 40-45 %, не больше. Тестирование же в реальных условиях, на реальном приложении (Diasoft 5NT) не дало видимой прибавки в производительности. Разнесение файлов на 6 разных лунов меньшего размера либо на один большой, на производительности также не отражается. В чем может быть дело? Какие настройки проверить, порекомендуйте... Всю необходимую информацию собрал в файлик и прикрепил к сообщению.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36442620
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:

В данный момент у вас всё упирается в сеть:

Network Packet Sent 356.1 6.2 641000 54.7 %

Размер сетевого пакета у вас мал:

default network packet size 512 #507 512 512

Если у вас отсылаемые наборы данных не микроскописеские, и
приложение не выставляет само размер сетевого пакета, то
имеет смысл поднять default network packet size, ну, скажем,
до двух килобайт.

Но вообще процесс тюнинга очень сложен и долог,
не ожидайте, что вам так вот сразу тут помогут.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36442632
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:

> Основываясь на данных перфмона, сделал вывод, что узким местом, является
> дисковая подсистема сервера.

дисковая подсистема сервера БД вообще говоря всегда является узким
местом для любой СУБД, но в данном случае мне кажется, что
вы ошиблись.

> выдать 12,5 тыс., но наш сайбейс больше не может ее загрузить). Загрузка
> процессора 40-45 %, не больше.

На это смотрите в последнюю очередь.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36443210
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,

В данный момент работаем на тестовой системе ЕМС и приведенная статистика собрана как раз на ней. На встроенном рейде были большие очереди, один дамп чего только стоит. Вопрос: а распределение памяти нормально настроено (кеш данных, процедурный кеш и т.д.)? Для выделения 3 гб паямяти под 32 битное приложение добавил ключ /3gb и указал адрес шаред мемори в конфиге, так как указано на сайте сайбеса. Без этого адреса больше 2 гб памяти не выделяется. Это у всех так? Вроде народ пишет, что работает и без этого адреса... Режим РАЕ на основном сервере (16 гб оперативки) включается автоматически и не выключается даже при указании ключа /nopae, хотя на резервном сервере (4 гб) этот режим включается только по ключу. Может здесь собака порылась??? По поводу сети, виндовый диспетчер задач редко когда показывает загрузку в пол процента, обычно меньше, откуда такая цифра в 54 %? Приложение работает через BDE, если увеличить размер пакета на сервере, со стороны клиента аналогичный размер нужно указать в БДЕ? Как узнать приложение само выставляет размер сетевого пакета или всеже это в БДЕ? Чтобы увеличить размер пакета прописываем: default network packet size 2048 #507 2048 2048 ???
Спасибо за помощь, т.к. уже теряюсь в догадках, что еще может быть не так, ведь тестим на флешах и ожидаем серьезного увеличения производительности и на дампе это видно, но не на приложении ...
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36443506
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,

В догонку. Пришел на работу, почитал, ночью попробую поставить на сервере default network packet size 2048, max network packet size 8192. В БДЕ есть параметр TDS PACKET SIZE (это же он???), у нас он по умолчанию 512. Это позволит менять размер пакета в БДЕ в промежутке от 2048 до 8192, так? Что будет если на сервере размер пакета 2048, а со стороны клиента 512 байт?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36443680
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:

> очереди, один дамп чего только стоит. Вопрос: а распределение памяти
> нормально настроено (кеш данных, процедурный кеш и т.д.)? Для выделения

Я не смотрел. И не буду. Это сложно очень. Надо разбираться.

> 3 гб паямяти под 32 битное приложение добавил ключ /3gb и указал адрес
> шаред мемори в конфиге, так как указано на сайте сайбеса. Без этого
> адреса больше 2 гб памяти не выделяется. Это у всех так? Вроде народ

Да, у всех. У всех Win32 приложений. Я, кстати, думал, что Syb15 уже
64 бита.

> пишет, что работает и без этого адреса... Режим РАЕ на основном сервере
> (16 гб оперативки) включается автоматически и не выключается даже при
> указании ключа /nopae, хотя на резервном сервере (4 гб) этот режим
> включается только по ключу. Может здесь собака порылась??? По поводу

Я не понял, зачем /PAE. БОльзе 3 Gb всё равно не бывает.

> сети, виндовый диспетчер задач редко когда показывает загрузку в пол
> процента, обычно меньше, откуда такая цифра в 54 %? Приложение работает

из твоего монитора.

> через BDE, если увеличить размер пакета на сервере, со стороны клиента
> аналогичный размер нужно указать в БДЕ? Как узнать приложение само

На счёт BDE не помню, как там это настраивается. Возможно, что так.
Возможно, там можно указать размер как "по умолчанию".

> выставляет размер сетевого пакета или всеже это в БДЕ? Чтобы увеличить

Не знаю. Тут надо BDE это долбаное знать.

> размер пакета прописываем: default network packet size 2048 #507 2048
> 2048 ???

Да

Я только не знаю, надо перегружать ли сервер будет, и как
потом это проверить, что приложения РЕАЛЬНО используют 2k.
Возможно, можно Ribo -ой протрассировать. Но это не все,
а одно приложение, поскольку через Ribo нельзя запускать
все приложения.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36443688
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:

> В догонку. Пришел на работу, почитал, ночью попробую поставить на
> сервере default network packet size 2048, max network packet size 8192.
> В БДЕ есть параметр TDS PACKET SIZE (это же он???), у нас он по

Да, только на сервере его дефолтное значение, а это -- конкретно
для данного клиента. Значение в клиенте переопределяет дефолтное
серверное. если клиент ничего не указывает, будет серверное дефолтное.

> умолчанию 512. Это позволит менять размер пакета в БДЕ в промежутке от
> 2048 до 8192, так?
да

Что будет если на сервере размер пакета 2048, а со
> стороны клиента 512 байт?

Я уже сказал, на сервере дефолт. Буде 512 байт,
как ни прискорбно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36443915
Викторрр,

Вместо этой каши, Вы бы сначала разобрались что хотите сделать.

1. Если тестирует само приложение, то как Вы определяете, что что-то тормозит?
2. Если Вы увеличили скорость поднятия с бекапа, то это совершенно не значит, что приложение или выполнение пачки тестовых запросов также должно выполняться быстрее, т.к. причина тормозов может быть разная в КАЖДОЙ конкретной задаче.
3. Есил выполняется тестирование выполнения пачки запросов, то и мониторить нужно именно в этот момент и желательно мониторить и сравнивать старый и новый сервер АБСОЛЮТНО в равных условиях.
4. Для меня по меньшей мере странно (мягко сказано), что Вы для базы в 170 гиг используете всего один дефолтный кеш и 32-битную версию ASE, хотя на машине "гуляют" 16 гиг памяти.
5. sysmon нужно снимать ОТДЕЛЬНО для каждой ситуации и разбираться отдельно в каждом случае. В одном случае у Вас могут быть тормоза из-за большого переключения контекста на отправку данных по сети, в другом - из-за постоянной записи в лог (by Full ULC), в третьем из-за spinlock contention, и. т.д. Вы про named caches, relaxed cache strategy, log I/O size, Named cache for tempdb что-нибуть знаете/слышали?

P.S. Мой Вам совет (IMHO). Перед тем как бросаться делать выводы и что-то делать приведите в порядок для начала саму конфигурацию ASE и определитесь с задачей что тестировать нужно и что собственно тормозит.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36443940
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл пароль wrote:

> Вместо этой каши, Вы бы сначала разобрались что хотите сделать.
> 1. ...

+1 по всем пунктам.

> 5. sysmon нужно снимать ОТДЕЛЬНО для каждой ситуации и разбираться
> отдельно в каждом случае. В одном случае у Вас могут быть тормоза из-за
> большого переключения контекста на отправку данных по сети, в другом -
> из-за постоянной записи в лог (by Full ULC), в третьем из-за spinlock
> contention, и. т.д.

Ну, иногда можно и нужно разбираться со всей производительностью
целиком, т.е. пускать монитор на весь пакет загрузки скопом и
смотреть, что проседает. Это тоже иногда полезно, и наверное
с этого и нужно начинать.

Вы про named caches, relaxed cache strategy, log I/O
> size, Named cache for tempdb что-нибуть знаете/слышали?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36444256
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,

>Да, у всех. У всех Win32 приложений. Я, кстати, думал, что Syb15 уже
>64 бита.

У нас сайбейс 12, под винду он только 32х битный. Вариант перехода на 15 не обсуждается.

>Я не понял, зачем /PAE. БОльзе 3 Gb всё равно не бывает.

Этот режим включается автоматически. Я пытаюсь отключить его ключом /nopae (ключа /pae в boot.ini НЕТ), но он всеравно активируется.

>> сети, виндовый диспетчер задач редко когда показывает загрузку в пол
>> процента, обычно меньше, откуда такая цифра в 54 %? Приложение работает

>из твоего монитора.

Понимаю что из лога, но виндовый диспетчер задач и счетчики perfmom говорят об отсутствии нагрузки на сеть (0,5%), а сайбейс показывает другую картину. Размер пакета поменяю сегодня в БДЕ со стороны клиента.

>Я только не знаю, надо перегружать ли сервер будет, и как
>потом это проверить, что приложения РЕАЛЬНО используют 2k.
>Возможно, можно Ribo -ой протрассировать. Но это не все,
>а одно приложение, поскольку через Ribo нельзя запускать
>все приложения.

Параметр не динамический, требуется перезапуск сервера. Но раз он берется с клиента, то и трогать сервер не нужно? Правда, наверное, нужно будет увеличить max network packet size, т.к. он по умолчанию 512!
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36444311
Викторрр,

Ну а кто мешает использовать не винду, а что-то из 64-битных OS, которые уже давно 64-битные?
Тот же Linux, например, под который уже давно есть 64-битный ASE, в том числе 12.5.4.

P.S. Кстати, я надеюсь у Вас именно 8 ядер на сервере, т.е. 4 dual core, а не 4 ядра (2 dual core) с гипертрейдингом.

Желаю, успехов...
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36444456
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
забыл пароль,

Вместо этой каши, Вы бы сначала разобрались что хотите сделать.

1. Если тестирует само приложение, то как Вы определяете, что что-то тормозит?

Есть общее замедление в работе, ярко видное на тяжелых отчетах. Особенно это заметно, когда таких отчетов запущего несколько и по одним и тем-же данным. В такие моменты тормозит все и у всех.

2. Если Вы увеличили скорость поднятия с бекапа, то это совершенно не значит, что приложение или выполнение пачки тестовых запросов также должно выполняться быстрее, т.к. причина тормозов может быть разная в КАЖДОЙ конкретной задаче.

Согласен, но для полноты информации показал и те процессы, где увеличение производительности стало заметно.

3. Есил выполняется тестирование выполнения пачки запросов, то и мониторить нужно именно в этот момент и желательно мониторить и сравнивать старый и новый сервер АБСОЛЮТНО в равных условиях.

Этот момент если можно, подробнее, запускаю тестовый отчет иду в артизан, в мониторинге смотрю блокировки, их нет, вижу запрос, который выполняется в данный момент, что дальше? Где смотреть? По поводу сервера, сервер тот же, но сейчас база лежит на флешах, а до этого на внутреннем рейде. Все остальное тоже самое.

4. Для меня по меньшей мере странно (мягко сказано), что Вы для базы в 170 гиг используете всего один дефолтный кеш и 32-битную версию ASE, хотя на машине "гуляют" 16 гиг памяти.

Сайбейс 12 и это требование приложения. Под винду приложению больше 3 Гб памяти выделить не могу. Или есть возможность увеличить кеш и использовать память выше 3 Гб???

5. sysmon нужно снимать ОТДЕЛЬНО для каждой ситуации и разбираться отдельно в каждом случае. В одном случае у Вас могут быть тормоза из-за большого переключения контекста на отправку данных по сети, в другом - из-за постоянной записи в лог (by Full ULC), в третьем из-за spinlock contention, и. т.д. Вы про named caches, relaxed cache strategy, log I/O size, Named cache for tempdb что-нибуть знаете/слышали?

Нет, самоучка, причем конфигурирование сайбейса, меньше 3% всех исполняемых мной обязанностей, но есть желание узнать, научиться и нормально настроить.

P.S. Мой Вам совет (IMHO). Перед тем как бросаться делать выводы и что-то делать приведите в порядок для начала саму конфигурацию ASE и определитесь с задачей что тестировать нужно и что собственно тормозит.[/quot]

Конфигурация АSЕ прикрепленном в файле. Что настроено не так??? Выбрал 3 тяжелых отчета для теста, могу крутить настройки и на них тестировать изменение производительности сервера.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36444471
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:
> >Да, у всех. У всех Win32 приложений. Я, кстати, думал, что Syb15 уже
> >64 бита.
>
> У нас сайбейс 12, под винду он только 32х битный. Вариант перехода на 15
> не обсуждается.

Извини, перепутал.

> Понимаю что из лога, но виндовый диспетчер задач и счетчики perfmom
> говорят об отсутствии нагрузки на сеть (0,5%), а сайбейс показывает
> другую картину. Размер пакета поменяю сегодня в БДЕ со стороны клиента.

Надо в первую очередь верить ASE.

> Параметр не динамический, требуется перезапуск сервера. Но раз он
> берется с клиента, то и трогать сервер не нужно?

Да.

Правда, наверное, нужно
> будет увеличить max network packet size, т.к. он по умолчанию 512!

Да, конечно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36444486
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:
> 1. Если тестирует само приложение, то как Вы определяете, что что-то
> тормозит?
>
> Есть общее замедление в работе, ярко видное на тяжелых отчетах. Особенно
> это заметно, когда таких отчетов запущего несколько и по одним и тем-же
> данным. В такие моменты тормозит все и у всех.

Это может запросто быть проблема приложения, а не ASE. Например,
оно может лочить таблицы эксклюзивно.

> Сайбейс 12 и это требование приложения. Под винду приложению больше 3 Гб
> памяти выделить не могу. Или есть возможность увеличить кеш и
> использовать память выше 3 Гб???

Нет. Под виндой - нет.

> Конфигурация АSЕ прикрепленном в файле. Что настроено не так??? Выбрал 3
> тяжелых отчета для теста, могу крутить настройки и на них тестировать
> изменение производительности сервера.

Я бы сначала тестировал систему в общем. Но это уже надо под реальной
загрузкой. Т.е. в момент работы системы в боевом режиме.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36444528
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
забыл пароль,

Ну а кто мешает использовать не винду, а что-то из 64-битных OS, которые уже давно 64-битные?
Тот же Linux, например, под который уже давно есть 64-битный ASE, в том числе 12.5.4.

Корпоративный стандарт. Есть еще вариант, преход на сан, но сейчас это не вариант.

P.S. Кстати, я надеюсь у Вас именно 8 ядер на сервере, т.е. 4 dual core, а не 4 ядра (2 dual core) с гипертрейдингом.

Установлено 4 двухядерных процессора.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36444625
jap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offtop:

никогда не понимал зачем ase ставят на винь,
как бы не приоритетная платформа

кстати, а 12.5 уже не end of life?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36444640
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,

>Это может запросто быть проблема приложения, а не ASE. Например,
>оно может лочить таблицы эксклюзивно.

У нас применяются 3 схемы блокировок: AllPages, datapages, datarows. Где увидеть, что проблема из за того, что таблицы лочатся эксклюзивно?

>Я бы сначала тестировал систему в общем. Но это уже надо под реальной
>загрузкой. Т.е. в момент работы системы в боевом режиме.

Увидели, что загружена сеть, сегодня попробую это исправить. Что еще в плане "общего" ускорения нужно проверить?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36444644
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
japofftop:

никогда не понимал зачем ase ставят на винь,
как бы не приоритетная платформа

кстати, а 12.5 уже не end of life?

Уже ответил. Корпоративный стандарт.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36445828
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр пишет:

> У нас применяются 3 схемы блокировок: AllPages, datapages, datarows. Где
> увидеть, что проблема из за того, что таблицы лочатся эксклюзивно?

sp_lock

sp__wholocks (это моя процедура, лежит в FAQ)

> Увидели, что загружена сеть, сегодня попробую это исправить. Что еще в
> плане "общего" ускорения нужно проверить?

пока всё. По шагам оптимизация делается. Новое узкое место -- новое
устранение. Потом новое узкое место, и т.д.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36446186
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,

Проверяя настройки обнаружил, что в файлике locales.dat на клиенте в разделе [NT] locale = default, us_english, cp1251, а на сервере iso_1. В приложении все символы отображаются по русски, проблем нет. Нужно ли на сервере также поправить строку. Если да, то что подразумевается под перекодировкой (цитата из faq):

Рекомендуется выбрать Charset до создания пользовательских баз и изменений в базах SQL Server. Если Вы измените default Charset после того как данные были добавлены Вам необходимо будет произвести перекодировку данных (см. System Administration Guide).

Модератор: В своей же теме оффтопик создаёшь. Ну ...
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36446246
iLLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВикторррMasterZiv,

Проверяя настройки обнаружил, что в файлике locales.dat на клиенте в разделе [NT] locale = default, us_english, cp1251, а на сервере iso_1. В приложении все символы отображаются по русски, проблем нет. Нужно ли на сервере также поправить строку. Если да, то что подразумевается под перекодировкой (цитата из faq):

Рекомендуется выбрать Charset до создания пользовательских баз и изменений в базах SQL Server. Если Вы измените default Charset после того как данные были добавлены Вам необходимо будет произвести перекодировку данных (см. System Administration Guide).

Это не в ту степь ты поплыл. Перекодировка на лету (если она и имеет место быть) не будет столь тяжела, что ее можно заметить клиенту.

Сдается мне, что все дело в конкретных запросах, их планах и объеме возвращаемых ими данных. Может БД спроектирована криво, и как не пинай сервер на таких объемах он будет тормозить. Обратиться надо к поставщику/разработчику этого барахла (другого слова в голову не приходит, когда такая! железка + вин-32 + бде), чтоб он и разбирался.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36446257
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:

> Проверяя настройки обнаружил, что в файлике locales.dat на клиенте в
> разделе [NT] locale = default, us_english, cp1251, а на сервере iso_1.

ГДЕ на сервере iso_1 ?

Если в locales.dat на сервере в
разделе [NT]
locale = default, us_english, iso_1

то это -- настройка для КЛИЕНТА. Когда ты на сервере
запустишь какое-то приложение, использующее CTLIB,
оно будет использовать кодировку iso_1, и то, если
не указать явно другую. Ну да, наверное, это не хорошо,
но не смертельно.


В
> приложении все символы отображаются по русски, проблем нет. Нужно ли на
> сервере также поправить строку. Если да, то что подразумевается под
> перекодировкой (цитата из faq):

поправить нужно, но только для работы клиента на этом хосте.
На сервер это почти не влияет (почти -- потому что сервер
ASE может быть клиентом для других серверов ASE и не только,
и вот тогда это уже проявится).

> Рекомендуется выбрать Charset до создания пользовательских баз и
> изменений в базах SQL Server. Если Вы измените default Charset после
> того как данные были добавлены Вам необходимо будет произвести
> перекодировку данных (см. System Administration Guide).

Да, серверная кодировка задаётся конфигурационными параметрами
default Charset и default sortorder
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36446300
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MS SQL, дальний родственник Sybase, не умеет нормально быстро работать при таком соотношении размера памяти и базы 3Gb/170Gb. Речь идет о работе с приложением, а не внутренних задач переиндексации итп.

Зато он и в 32бит версии умеет PAE. Тут такой фокус невозможен?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36446311
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и на сервере Win x64 приложению доступно 4Гб, а не 3Гб - этакий "последний резерв".

А вообще я к тому, что результата можно и не достичь оптимизацией, но без памяти.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36446314
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Викторрр пишет:

> У нас применяются 3 схемы блокировок: AllPages, datapages, datarows. Где
> увидеть, что проблема из за того, что таблицы лочатся эксклюзивно?

sp_lock

sp__wholocks (это моя процедура, лежит в FAQ)


Статистика по sp_lock в файле, но эти локи в принципе рассасываются быстро. В артизане есть две закладки AllLocks и BlockingLocks. Я так понимаю то, что блокировки в AllLocks - это нормально, обычная работа, а если локи в BlockingLocks, то это очень плохо и от этого нужно всячески избавляться. У нас блокировок в BlockingLocks нет, по крайней мере сейчас, на СХД.

sp__wholocks (это моя процедура, лежит в FAQ)

пролил, но сейчас база не загагружена пользователями, процедура ничего интересного не показывает.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36446436
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[MasterZiv]
[iLLer ]

Да, в locales.dat на сервере в разделе [NT]. На сервере никаких приложений не запускается, поменяю на locale = default, us_english, cp1251, понял, что перекодировать ничего не нужно. Проблема не в этом, ищу дальше.

ЗЫ: Почему-то файлик с локами не прикрепился в предыдущем письме, пробую еще раз...
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36446849
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SiemarglMS SQL, дальний родственник Sybase, не умеет нормально быстро работать при таком соотношении размера памяти и базы 3Gb/170Gb. Речь идет о работе с приложением, а не внутренних задач переиндексации итп.

Зато он и в 32бит версии умеет PAE. Тут такой фокус невозможен?

В PAE 32 битному приложению можно выделить до 4 Гб (для сайбейс теоритечески). Та штука, наверное, называется AWE и сайбесом она не поддерживается. :(
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36446863
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SiemarglНу и на сервере Win x64 приложению доступно 4Гб, а не 3Гб - этакий "последний резерв".

А вообще я к тому, что результата можно и не достичь оптимизацией, но без памяти.

Это применительно к MS SQL или Sybase? Я пробовал ставить х64 win2003, но толку особого не получил. Сколько памяти сайбесу тебе реально удалось выделить на х64???
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36446885
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl wrote:

> Зато он и в 32бит версии умеет PAE. Тут такой фокус невозможен?

ASE PAE не поддерживает. И правильно делает. Нужно тебе много
памяти -- иди на другую платформу. Или жди 64-битную версию.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36446904
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:

> Статистика по sp_lock в файле, но эти локи в принципе рассасываются
> быстро. В артизане есть две закладки AllLocks и BlockingLocks. Я так
> понимаю то, что блокировки в AllLocks - это нормально, обычная работа,

В общем, правильно понимаешь.

а
> если локи в BlockingLocks, то это очень плохо и от этого нужно всячески
> избавляться. У нас блокировок в BlockingLocks нет, по крайней мере
> сейчас, на СХД.

Блокирующие локи -- это конечно плохо, но так вот чтобы "от них
нужно всячески избавляться" -- нельзя сказать.
Потому что приложение без блокировок работать не может.
Там уже от ситуации зависит.

А что у тебя sp_lock ничего не показывает -- это ничего не
значит, поскольку он делает только мгновенный снимок ситуации.
Его нельзя как sp_sysmon например на час запустить.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36447057
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВикторррSiemarglНу и на сервере Win x64 приложению доступно 4Гб, а не 3Гб - этакий "последний резерв".

А вообще я к тому, что результата можно и не достичь оптимизацией, но без памяти.

Это применительно к MS SQL или Sybase? Я пробовал ставить х64 win2003, но толку особого не получил. Сколько памяти сайбесу тебе реально удалось выделить на х64???

Я не работаю с Сайбейзом. И попробовать сейчас проверить не смогу - нет под руками win64 платформы.

4Гб доступно почти любому win32 (причем каждому по 4Гб) приложению под win64 сервере. Описание в MSDN

Кроме того система задействует память для себя и под кэш, не ограничиваясь. А с такими процессорами про потери на оверхед можно пока забыть.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36447068
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заметил еще одну интересную вещь. На СХД нарезаны луны на флешах (на которых лежат файлы данных БД) и один на 14 FC дисках (Raid5). На самом сервере на встроенном рейде еще один лун на 10 скази дисках (Raid10). Между сервером и СХД оптика 4 ГБит. Так вот, если создание дампа проходит на внутренний диск (скази), то он снимается за 20 мин, если же он снимается на FC диски СХД, то за 25-29 мин, т.е. 25-40% минус. Результат повторим и не зависит от загрузки сервера. Отослал логи производителю. У кого какие мысли на сей счет?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36447504
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Siemargl
4Гб доступно почти любому win32 (причем каждому по 4Гб) приложению под win64 сервере. Описание в MSDN

Кроме того система задействует память для себя и под кэш, не ограничиваясь. А с такими процессорами про потери на оверхед можно пока забыть.

При настройке субд ты указываешь адрес shared memory starting address = 23662592? Часть людей говорят, что у них работает и без этого, у меня же нет.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36447568
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр,

И тут на форуме обсуждалось и в гугле есть точные рецепты. Ищется по "sybase /3Gb" и рядом с ними.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36448025
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl wrote:

> 4Гб доступно почти любому win32 (причем каждому по 4Гб) приложению под
> win64 сервере. Описание в MSDN

Впервые об этом слышу. 3GB -- да, с большим трудом (приложение
должно специально быть слинковано особым образом и в загрузке
должен стоять ключ /3g или что-то такое.)
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36448141
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полез искать обратно - не нашел точный рецепт для Sybase.

Но судя по MSDN, если программа работала с 3Gb, то она скорее всего, будет работать и с 4мя.

Другое дело, что совместимость win32 с wow64 тоже не 100%.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36448184
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Siemargl wrote:

> 4Гб доступно почти любому win32 (причем каждому по 4Гб) приложению под
> win64 сервере. Описание в MSDN

Впервые об этом слышу. 3GB -- да, с большим трудом (приложение
должно специально быть слинковано особым образом и в загрузке
должен стоять ключ /3g или что-то такое.)


Пишу по памяти, экспериментировал давно, утром гляну по точнее, но суть там такая, на х64 винде увеличивая параметр maxmem выше 3 гб сайбейс стартует и работает. Так происходит пока выделяется памяти до 3,5-3,6 Гб, потом перестает запускаться. НО!!! Диспетчер задач все это время показывает 3 Гб на процессе сайбейс сервера. По не подтвержденным данным, так и должно быть, хотя я в этом как-то сомневаюсь...
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36448544
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВикторррMasterZiv
Siemargl wrote:

> 4Гб доступно почти любому win32 (причем каждому по 4Гб) приложению под
> win64 сервере. Описание в MSDN

Впервые об этом слышу. 3GB -- да, с большим трудом (приложение
должно специально быть слинковано особым образом и в загрузке
должен стоять ключ /3g или что-то такое.)


Пишу по памяти, экспериментировал давно, утром гляну по точнее, но суть там такая, на х64 винде увеличивая параметр maxmem выше 3 гб сайбейс стартует и работает. Так происходит пока выделяется памяти до 3,5-3,6 Гб, потом перестает запускаться. НО!!! Диспетчер задач все это время показывает 3 Гб на процессе сайбейс сервера. По не подтвержденным данным, так и должно быть, хотя я в этом как-то сомневаюсь...

Да, все так, только еще нужно перекомпилировать sqlserver с ключом LARGEADDRESSAWARE.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36450379
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВикторррДа, все так, только еще нужно перекомпилировать sqlserver с ключом LARGEADDRESSAWARE.Какая интересная идея, "перекомпилировать sqlserver"...
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36451036
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White OwlВикторррДа, все так, только еще нужно перекомпилировать sqlserver с ключом LARGEADDRESSAWARE.Какая интересная идея, "перекомпилировать sqlserver"...

Все не так страшно, как звучит. С помощью утилиты editbin.exe из MS Visual Studio меняем флаг /LARGEADDRESSAWARE и все. Но путного из этого ничего не вышло... Нужно дальше копать, т.к. это реально последний шанс получить на 32 битной винде более 3 Гб (точнее 3,5 Гб) оперативки.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36452730
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВикторррВсе не так страшно, как звучит. С помощью утилиты editbin.exe из MS Visual Studio меняем флаг /LARGEADDRESSAWARE и все.Во первых, это не "перекомпиляция" а "хак". Во вторых, хак такой серьезной вещи как сервер базы данных это практически сто процентная гарантия потери данных. В третьих, это нарушение лицензии и карается законом.

ВикторррНо путного из этого ничего не вышло... Нужно дальше копать, т.к. это реально последний шанс получить на 32 битной винде более 3 Гб (точнее 3,5 Гб) оперативки.Хочешь доступа к большой памяти, купи 64-х битную версию сервера и не ищи себе приключений на определенное место.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36452878
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl wrote:

> Все не так страшно, как звучит. С помощью утилиты editbin.exe из MS
> Visual Studio меняем флаг /LARGEADDRESSAWARE и все.
>
> Во первых, это не "перекомпиляция" а "хак". Во вторых, хак такой

Так вроде бы ASE уже собирается с этим флагом, разве нет ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36463303
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В выходные увеличил размер сетевого пакета до 2 кб, загрузка сети по сисмону снизилась до 15 %. Но сказать что, мы почувствовали какое-то ускорение не могу. Попробую еще увеличить до 4 кб, но эффект, похоже, будет тот же. Что еще посоветуете?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36463546
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С вими, ей-богу, легко работать !
Ваша система -- классический случай из учебников по оптимизации ASE !

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
  Task Context Switches Due To:
...
 Cache Search Misses             132.2           8.1      120977      54.5 %

...
  Tuning Recommendations for Task Management                                    
  ------------------------------------------                                    
  - Consider tuning your Data Caches.
    Look into the Data Cache management section for
    more details on this.

...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36463732
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Экспериментировал еще с системой хранения, в плане увеличения производительности дисковой подсистемы. В сервере sybase установлен размер страницы 2 Кб (требование приложения). Под каждый файл данных БД на системе хранения создан отдельный лун (размер страницы также 2 Кб), в винде тома отформатированы с системе ntfs с размером кластера 2 Кб, остался один вопрос с созданием раздела. Раздел создаю через diskpart, CREATE PARTITION PRIMARY ALIGN=64 (32, 16), но такой том не форматируется (выдает ошибку сразу в начале)!!! Не форматируется он даже если создать его через CREATE PARTITION PRIMARY, но если создавать через "управление дисками", то создается и нормально форматируется. Тот же эксперимент на внутреннем рейде позволил отформатировать 3 первых тома и 2 последних, но тома в середине, так же при начале форматирования, выдают ошибку, что том не может быть отформатирован. После удаления всех разделов и создания их вновь , форматироваться перестали уже все тома. Глюки какие-то, что произошло, не понятно, что я делаю не так? Как правильно создать раздел с отступом? Какое значение параметра ALIGN нужно указать, зная, что страница в сайбесе 2 кб?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36463797
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,

В Data Cache Management попадания 99,7-99,9 процентов. На какие показатели там нужно обратить внимание? Как реализовать эти рекомендации???

Tuning Recommendations for Data cache : default data cache
-------------------------------------
- Consider using 'relaxed LRU replacement policy' for this cache.
- Consider adding a large I/O pool for this cache.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36463889
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю.
у вас

Utilization n/a n/a n/a 100.0 %

это значит кэш забит весь.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36464190
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВикторррЭкспериментировал еще с системой хранения, в плане увеличения производительности дисковой подсистемы. В сервере sybase установлен размер страницы 2 Кб (требование приложения). Под каждый файл данных БД на системе хранения создан отдельный лун (размер страницы также 2 Кб), в винде тома отформатированы с системе ntfs с размером кластера 2 Кб, остался один вопрос с созданием раздела. Раздел создаю через diskpart, CREATE PARTITION PRIMARY ALIGN=64 (32, 16), но такой том не форматируется (выдает ошибку сразу в начале)!!! Не форматируется он даже если создать его через CREATE PARTITION PRIMARY, но если создавать через "управление дисками", то создается и нормально форматируется. Тот же эксперимент на внутреннем рейде позволил отформатировать 3 первых тома и 2 последних, но тома в середине, так же при начале форматирования, выдают ошибку, что том не может быть отформатирован. После удаления всех разделов и создания их вновь , форматироваться перестали уже все тома. Глюки какие-то, что произошло, не понятно, что я делаю не так? Как правильно создать раздел с отступом? Какое значение параметра ALIGN нужно указать, зная, что страница в сайбесе 2 кб?

ввод/вывод осуществляется экстентами, а не страницами
1 экстент = 8 страниц * 2Кб = 16 Кб
на этот размер и надо форматировать партицию (размер кластера)

align поставьте в 64 кб
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36464798
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad,

Научился форматировать диски после diskparta (через управление дисками, после него, они не форматируются). Все очень просто форматируется через командную строку
format z: /fs:ntfs /a:16k
проверить наличие отступа можно так:
wmic partition get BlockSize, StartingOffset, Name, Index

BlockSize Index Name StartingOffset
512 0 Диск #0, раздел #0 32256
...
512 0 Диск #8, раздел #0 65536
512 0 Диск #11, раздел #0 32256
512 0 Диск #12, раздел #0 65536

На диске #8 и #12 в качестве эксперимента установил отступ 128 кб.

По поводу экстент в 16 кб, соответственно на рейде устанавливаем страйп сайз также 16 кб. На этом хитрости с организацией дисковой подсистемы закончились или я еще что-то пропустил?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36464805
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivНе знаю.
у вас

Utilization n/a n/a n/a 100.0 %

это значит кэш забит весь.

Что нужно сделать, чтобы его разгрузить?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36464873
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:
> это значит кэш забит весь.
> Что нужно сделать, чтобы его разгрузить?

Очень просто. Сделать его больше.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36465336
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
По поводу экстент в 16 кб, соответственно на рейде устанавливаем страйп сайз также 16 кб. На этом хитрости с организацией дисковой подсистемы закончились или я еще что-то пропустил?

Тут нужно почитать доки про ваш сторадж/рейд...
Если у него есть кэш и батарейка, то он наверняка кэширует переданные данные и пишет бОльшим пакетом, чем 16Кб. Чтобы оптимизировать операции ввода/вывода, надо подобрать размер страйпа под размер пакета записи. Либо воспользоваться рекомендациями производителя, ежели такие найдутся в доках.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36465343
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
проверить наличие отступа можно так:
wmic partition get BlockSize, StartingOffset, Name, Index

BlockSize Index Name StartingOffset
512 0 Диск #0, раздел #0 32256
...
512 0 Диск #8, раздел #0 65536
512 0 Диск #11, раздел #0 32256
512 0 Диск #12, раздел #0 65536

На диске #8 и #12 в качестве эксперимента установил отступ 128 кб.


На дисках 8 & 12 оффсет равен 64Кб, если верить приложенной таблице.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36466025
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komradВикторрр
проверить наличие отступа можно так:
wmic partition get BlockSize, StartingOffset, Name, Index

BlockSize Index Name StartingOffset
512 0 Диск #0, раздел #0 32256
...
512 0 Диск #8, раздел #0 65536
512 0 Диск #11, раздел #0 32256
512 0 Диск #12, раздел #0 65536

На диске #8 и #12 в качестве эксперимента установил отступ 128 кб.


На дисках 8 & 12 оффсет равен 64Кб, если верить приложенной таблице.

Да, описАлся, 64 кб, данные начинаются с 128 сектора. Спасибо.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36466072
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komradВикторрр
По поводу экстент в 16 кб, соответственно на рейде устанавливаем страйп сайз также 16 кб. На этом хитрости с организацией дисковой подсистемы закончились или я еще что-то пропустил?

Тут нужно почитать доки про ваш сторадж/рейд...
Если у него есть кэш и батарейка, то он наверняка кэширует переданные данные и пишет бОльшим пакетом, чем 16Кб. Чтобы оптимизировать операции ввода/вывода, надо подобрать размер страйпа под размер пакета записи. Либо воспользоваться рекомендациями производителя, ежели такие найдутся в доках.

Да, батарейка есть и кеш, и рейде и на СХД.
Размер страйпа я задаю на рейд контроллере и как я понял, в моем случае он должен равняться 16 кб, т.к. страница в сайбесе 2 кб, экстент равен 2 кб*8 страниц = 16 кб, раздел создан с отступом 64 к, отформатирован в ntfs с размером кластера 16 кб и соответственно в СХД будет приходить пакет ровно 16 к. Или не так???
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36466110
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv

Очень просто. Сделать его больше.


Но памяти всего 3Гб!!! Задаю это здесь:
[Physical Memory]
max memory = 1283610

Немного отдаю под процедурный кэш, локи и т.д.:
[SQL Server Administration]
procedure cache size = 58000

И собственно, вся остальная память отдана под кэш:
[Named Cache:default data cache]
cache size = 2600000

Откуда взять место под КЭШ на 32 битном сайбесе 12.5.1???
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36466154
komrad,

Интересно было бы почитать где именно написано, что I/O осуществляется экстентами.
Прошу только обратить внимание, что space allocation и размер выполняемого I/O - это вещи принципиально разные.
Заодно хотелось бы услышать, что если для пула 2K размер одного I/O почему-то вдург стал =16K, то чему тогда равен размер одного I/O в large I/O pool размером в 4K, 8K, 16K?

Викторрр:
Обратите внимание, что OLTP нагрузка и DSS запрос - это разные вещи.
Снимите sysmon в момент выполнения отчёта (именно тогда, когда тормозит). Определите что выполянется, посмотрите какой replacement policy (MRU,LRU), посмотрите на размер Wash Area для Named Cache. Посмотрите используется или нет APF и чему равет APF Limit. Посмотрите на запрос или процедуру, на её план, на кол-во LIO, PIO, сравните цифры и план с с размером пула с учётом куда идёт кеширование (MRU,LRU), размера Wash Size и лимита APF.

И ещё раз - если Вы считаете, что с базой в 170 гиг можно нормально работать на 2-х гигах памяти на 32-х битной OS и ASE (без named caches под log, tempdb с relaxed стратегией) да ещё и со смешанной нагрузкой (OLTP + DSS), то это конечно Ваше дело.

Ещё раз желаю успехов.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36466262
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
забыл пароль
Викторрр:
Обратите внимание, что OLTP нагрузка и DSS запрос - это разные вещи.
Снимите sysmon в момент выполнения отчёта (именно тогда, когда тормозит). Определите что выполянется, посмотрите какой replacement policy (MRU,LRU), посмотрите на размер Wash Area для Named Cache. Посмотрите используется или нет APF и чему равет APF Limit. Посмотрите на запрос или процедуру, на её план, на кол-во LIO, PIO, сравните цифры и план с с размером пула с учётом куда идёт кеширование (MRU,LRU), размера Wash Size и лимита APF.

И ещё раз - если Вы считаете, что с базой в 170 гиг можно нормально работать на 2-х гигах памяти на 32-х битной OS и ASE (без named caches под log, tempdb с relaxed стратегией) да ещё и со смешанной нагрузкой (OLTP + DSS), то это конечно Ваше дело.

Ещё раз желаю успехов.

По поводу первой части. Сейчас работаем на тестовой СХД, прошлую неделю на 5 флеш дисках, эту неделю на 15 fc 15К. На флешах работает шустренько, особенно это оценили пользователи формирующие долгие, тяжелые отчеты. Причем полностью загрузить нашим сайбесом флеш диски нам не удалось. На fc работает медленнее, но в целом терпимо. Здесь мы сразу уперлись в диски (1 полка). После того как отдадим СХД, вернемся на наш рейд, обязательно соберу статистику и выложу здесь.
По поводу второй части. Приложение и версия СУБД определены ГО и пересмотру не подлежат. Даже увеличить размер page size до 8 кб нам категорически запретили, только 2к. Поэтому можем выжимать только из того что есть. Что такое named caches под log? Если его настроить, даст ли это прибавку производительности в наших условиях (только 3 гб памяти)? Тоже самое про tempdb с relaxed стратегией, если изменить стратегию (???) без увеличения КЕШа, можно ли получить прирост?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36466310
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл парольkomrad,

Интересно было бы почитать где именно написано, что I/O осуществляется экстентами.
Прошу только обратить внимание, что space allocation и размер выполняемого I/O - это вещи принципиально разные.
Заодно хотелось бы услышать, что если для пула 2K размер одного I/O почему-то вдург стал =16K, то чему тогда равен размер одного I/O в large I/O pool размером в 4K, 8K, 16K?



про первое - это я погорячился слегка, без постоянной практики знания конечно понемногу уходят... подтверждение
тут (страница 8, пункт 3.3, предпоследний абзац):
цитата
ASE I/O buffer pools, as discussed above, allow the disk I/O sizes to occur at units of 1, 2, 4, or 8 pages at a time.
Depending on the server page size, disk I/O sizes range from 2KB to 16KB for a 2KB-page server up to 16KB to 128KB for a 16KB-page server.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36467979
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл пароль wrote:

> Интересно было бы почитать где именно написано, что I/O осуществляется
> экстентами.

Не осуществляется. 2k, 4k, 8k, 16k. Минимально - размер страницы.

> тормозит). Определите что выполянется, посмотрите какой replacement
> policy (MRU,LRU), посмотрите на размер Wash Area для Named Cache.
> Посмотрите используется или нет APF и чему равет APF Limit. Посмотрите
> на запрос или процедуру, на её план, на кол-во LIO, PIO, сравните цифры
> и план с с размером пула с учётом куда идёт кеширование (MRU,LRU),
> размера Wash Size и лимита APF.

Во загрузил. Ты думаешь, он справится ?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36467988
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:

> того что есть. Что такое named caches под log? Если его настроить, даст
> ли это прибавку производительности в наших условиях (только 3 гб
> памяти)?

Точно этого вам никто не скажет, но как правило даёт.

выкладка всех таблиц в default data cache -- это самый тупой и
плохой вариант.
Он хорош только одним -- его можно врубить по умолчанию и всё
будет работать.

Тоже самое про tempdb с relaxed стратегией, если изменить
> стратегию (???) без увеличения КЕШа, можно ли получить прирост?

Возможно.

Вы задаёте неправильные вопросы. На них вам никто не ответит.
Возможно, приведёт, возможно, нет. Надо знать вашу задачу,
конфигурацию, цели, и т.д. и т.п.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36469405
mikeufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я думаю нужно отследить на каких таблицах больше всего операций запись/чтение, а затем добавить эти таблицы в именованые кеши. Покрайней мере нам это помогло (база 150гб).
Для отслеживания нужно запустить мониторинг сервера. В прилагаемом файле скриптик для создания mda таблиц. После того как сервер поработает под обычной нагрузкой - файлы заполнятся и запросом можно будет увидеть на каких таблицах самая большая нагрузка.
Запрос
select object_name(ObjectID, DBID) as Object_name, IndexID, PhysicalReads, PhysicalWrites
from master..monOpenObjectActivity
where PhysicalReads>100
order by PhysicalReads desc
go
Как то так.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36469595
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikeufa wrote:

> Я думаю нужно отследить на каких таблицах больше всего операций
> запись/чтение, а затем добавить эти таблицы в именованые кеши. Покрайней
> мере нам это помогло (база 150гб).

Да хотя бы по два кэша на каждую базу (для лога и данных)
расписать -- уже хорошо будет.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36477854
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
mikeufa wrote:

> Я думаю нужно отследить на каких таблицах больше всего операций
> запись/чтение, а затем добавить эти таблицы в именованые кеши. Покрайней
> мере нам это помогло (база 150гб).

Да хотя бы по два кэша на каждую базу (для лога и данных)
расписать -- уже хорошо будет.


Как это сделать "два кэша на каждую базу (для лога и данных)"?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36477873
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На выходных планирую переставить сервер..., все таки размер кластера при форматировании в моем случае должен быть 16 кб? И stripe size на рейде выставить также 16 кб?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36477956
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:

> Как это сделать "два кэша на каждую базу (для лога и данных)"?

Один кэш -- под syslogs, другой -- под все остальные таблицы базы.

Как кэши настраивать -- читай в документации, долго, да и я
сам уже забыл. sp_cacheconfig кажется.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36477964
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mikeufaЯ думаю нужно отследить на каких таблицах больше всего операций запись/чтение, а затем добавить эти таблицы в именованые кеши. Покрайней мере нам это помогло (база 150гб).
Для отслеживания нужно запустить мониторинг сервера. В прилагаемом файле скриптик для создания mda таблиц. После того как сервер поработает под обычной нагрузкой - файлы заполнятся и запросом можно будет увидеть на каких таблицах самая большая нагрузка.
Запрос
select object_name(ObjectID, DBID) as Object_name, IndexID, PhysicalReads, PhysicalWrites
from master..monOpenObjectActivity
where PhysicalReads>100
order by PhysicalReads desc
go
Как то так.

Пролил скрипт на резервный сервер, при проливке выявился ряд ошибок, отсутствующие процеруры и т.д. У вас так же? Что еще нужно для проливки, кроме приложенного файла?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36479170
mikeufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
for MasterZiv

"Один кэш -- под syslogs, другой -- под все остальные таблицы базы."

Непонял смысл кэша под syslogs - согласно теории пока данные лога не записались на диск(СКЛ сервер не получил потдверждение от ОС о записи) , изменений в данных непроизводятся. Чтения с файла лога нет. Здесь может помочь только апаратный кэш.

for Викторрр

Больше ничего не надо , у нас ASE 12.5.3 может из за этого ошибки.
ну вообще то нужно смотреть что за ошибки.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36479208
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mikeufa,

Лог прикреплен в предыдущем письме.
Чтобы отключить сбор этой статистики достаточно выполнить exec sp_configure 'enable monitoring', 0?
Сильно ли тормозит сервер, пока собирается статистика?
Что делать дальше с теми таблицами, которые покажет скрипт?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36479229
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikeufa wrote:

Чтения с файла лога нет.

Это смотря у кого. В конфигурациях с репликациями ещё как
производится.

Смысл кэша для syslogs:
убрать syslogs из основного кэша, чтобы он не мешал нормальным
таблицам

сконфигурировать буфера специально под кэш, который читается
в 4k.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36479287
SAV4SAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikeufa wrote:

Чтения с файла лога нет.

А rollback, triggers ?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36485356
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SiemarglПолез искать обратно - не нашел точный рецепт для Sybase.
Но судя по MSDN, если программа работала с 3Gb, то она скорее всего, будет работать и с 4мя.
Другое дело, что совместимость win32 с wow64 тоже не 100%.

На выходных переставил сервер. Поставил Windows Server x64 Enterprise, поставил Sybase 12.5.1, добавил в боот.ини ключик /3gb, ну и поправил конфигурационный файл сайбеса. И ВСЕ!!! Получил 4 гб пямяти, без каких либо дополнительных шаманств!!! Адрес shared memory starting address = 23662592 у меня уже был выставлен и он реально нужен, без него НЕ работает.

Из этих 4х гигов, 3,5 отдал код кэш, 180 мб под процедурный кеш, ну и оставшуюся память, под нужды сервера. Так ли нужно распределить память???

Еще вопрос. Имеет ли значение для субд/рейд контроллера размер файлов данных БД? У меня база 170 гб = 5 файлов данных по 32 гб + 10 гб лог, а если сделать 16 файлов по 10 гб вместо 5 по 32 будет быстрее или нет???
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36485426
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:

> На выходных переставил сервер. Поставил Windows Server x64 Enterprise,
> поставил Sybase 12.5.1, добавил в боот.ини ключик /3gb, ну и поправил
> конфигурационный файл сайбеса. И ВСЕ!!! Получил 4 гб пямяти, без каких
> либо дополнительных шаманств!!! Адрес shared memory starting address =

Всё хорошо, но только это всё же наверное 3Gb. Один идёт под виндовые .dll.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36485434
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:

> Еще вопрос. Имеет ли значение для субд/рейд контроллера размер файлов
> данных БД? У меня база 170 гб = 5 файлов данных по 32 гб + 10 гб лог, а
> если сделать 16 файлов по 10 гб вместо 5 по 32 будет быстрее или нет???

Чисто умозрительно -- нет, не будет. ASE всё равно, через какой файл читать
данные. Тут это уже от операционки и рейда зависит. А это -- не моя тема.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36485606
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Викторрр wrote:

> На выходных переставил сервер. Поставил Windows Server x64 Enterprise,
> поставил Sybase 12.5.1, добавил в боот.ини ключик /3gb, ну и поправил
> конфигурационный файл сайбеса. И ВСЕ!!! Получил 4 гб пямяти, без каких
> либо дополнительных шаманств!!! Адрес shared memory starting address =

Всё хорошо, но только это всё же наверное 3Gb. Один идёт под виндовые .dll.



Картинка почему-то не показывается. Сконвертировал.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36485612
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Викторрр wrote:

> На выходных переставил сервер. Поставил Windows Server x64 Enterprise,
> поставил Sybase 12.5.1, добавил в боот.ини ключик /3gb, ну и поправил
> конфигурационный файл сайбеса. И ВСЕ!!! Получил 4 гб пямяти, без каких
> либо дополнительных шаманств!!! Адрес shared memory starting address =

Всё хорошо, но только это всё же наверное 3Gb. Один идёт под виндовые .dll.


Вот еще sp_config.

Что значит "Один идёт под виндовые .dll"?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36485697
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
Что значит "Один идёт под виндовые .dll"?

гиг нужен операционке
под ядро + маппинг памяти

ключ /3GB говорит о том, что приложению давать до 3 ГБ оперативки
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36485699
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:

> Что значит "Один идёт под виндовые .dll"?

В 32-разрядных Win32-приложениях 1Gb адресного пространства
задачи, верхний, зарезервирован для мапирования туда системных
..DLL, драйверов и прочего системного барахла. Эти адреса в принципе
приложению недоступны.

Таким образом, приложению доступно либо 2Gb памяти, либо, если оно
/3gb (для этого оно должно быть собрано специальным образом),
то 3Gb памяти.

ASE таким образом может видеть под Win32 только 3 Gb.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36485879
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Викторрр wrote:

> Что значит "Один идёт под виндовые .dll"?

В 32-разрядных Win32-приложениях 1Gb адресного пространства
задачи, верхний, зарезервирован для мапирования туда системных
..DLL, драйверов и прочего системного барахла. Эти адреса в принципе
приложению недоступны.

Таким образом, приложению доступно либо 2Gb памяти, либо, если оно
/3gb (для этого оно должно быть собрано специальным образом),
то 3Gb памяти.

ASE таким образом может видеть под Win32 только 3 Gb.


А как на счет картинки с диспетчера задач и сп конфига:
total data cache size 0 3744706 0 3744706 kilobytes [NULL]
total logical memory 33792 4071290 2035645 2035645 memory pages(2k) read-only
total physical memory 0 4074000 0 2037000 memory pages(2k) read-only

он же говорит, доступно 4 гб, кеш 3,7!?!?!?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36486081
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:

> А как на счет картинки с диспетчера задач и сп конфига:

Я не знаю, какую память там показывают. К тому же, формально
этот верхний гиг считается принадлежащим приложению, и это
действительно так. Только приложение его использовать не
может. Ты найди статью про это в MSDN, почитай.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36486238
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Викторрр wrote:

> Что значит "Один идёт под виндовые .dll"?

В 32-разрядных Win32-приложениях 1Gb адресного пространства
задачи, верхний, зарезервирован для мапирования туда системных
..DLL, драйверов и прочего системного барахла. Эти адреса в принципе
приложению недоступны.



Несвопируемая область и фиксированные адреса в wow64 не нужны (ядро то в отдельной области). Вся же работа идет через thunking, которому много памяти не надо.

А если посмотреть не taskmanager'om, а perfmon'-ом, который дает более четкую картинку?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36486437
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl wrote:

> Несвопируемая область и фиксированные адреса в wow64 не нужны (ядро то в
> отдельной области). Вся же работа идет через thunking, которому много
> памяти не надо.

А ASE у него в wow64 работает ? И оно умеет ? Я вот например не знаю,
и не уверен, что оно умеет. Потому что для ASE генеральная платформа --
не винды, там с этим проблем нет.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36486606
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Siemargl wrote:

> Несвопируемая область и фиксированные адреса в wow64 не нужны (ядро то в
> отдельной области). Вся же работа идет через thunking, которому много
> памяти не надо.

А ASE у него в wow64 работает ? И оно умеет ? Я вот например не знаю,
и не уверен, что оно умеет. Потому что для ASE генеральная платформа --
не винды, там с этим проблем нет.


Шмель летать не может, но этого не знает, потому летает. Если ASE не знает, что его крутят в wow64 и пусть его )

Конечно, надо тестировать все - и под полной нагрузкой. Либо вылетит либо нет.

Но если все заработает нормально, то это будет весьма уникальный и воспроизводимый для многих программ опыт!

А ключ /3gb в win64 по моему просто игнорируется (лень проверять в MSDN).
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36487327
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отвечу разом всем:
http://support.microsoft.com/kb/888732

Цитата:
Емкость виртуального адресного пространства для 32-разрядного процесса:
- 32-разрядные версии: 2 ГБ (3 ГБ, если в файл Boot.ini добавлен переключатель /3GB)
- 64-разрядные версии: 2 ГБ (4 ГБ при использовании параметра /LARGEADDRESSAWARE)

При прошлой итерации (летом) я пытался изменить этот параметр /LARGEADDRESSAWARE при помощи сторонних средств на экзешнике сервера, но опыт был не удачен. В этот раз, попробовал сделать без шаманств и все заработало. Полагаю, что sybase изначально уже скомпелирован с этим параметром и ничего руками перекомпилировать не нужно!
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36487350
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SiemarglMasterZiv
Викторрр wrote:

> Что значит "Один идёт под виндовые .dll"?

В 32-разрядных Win32-приложениях 1Gb адресного пространства
задачи, верхний, зарезервирован для мапирования туда системных
..DLL, драйверов и прочего системного барахла. Эти адреса в принципе
приложению недоступны.



Несвопируемая область и фиксированные адреса в wow64 не нужны (ядро то в отдельной области). Вся же работа идет через thunking, которому много памяти не надо.

А если посмотреть не taskmanager'om, а perfmon'-ом, который дает более четкую картинку?

Какой именно счетчик нужно посмотреть?

И по поводу кеша. Из этих 4х гигов, 3,5 отдал код кэш, 180 мб под процедурный кеш, ну и оставшуюся память, под нужды сервера. Так ли нужно распределить память???

Еще вопрос. Имеет ли значение для субд/рейд контроллера размер файлов данных БД? У меня база 170 гб = 5 файлов данных по 32 гб + 10 гб лог, а если сделать 16 файлов по 10 гб вместо 5 по 32 будет быстрее или нет???
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36487391
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SiemarglMasterZiv
Siemargl wrote:

> Несвопируемая область и фиксированные адреса в wow64 не нужны (ядро то в
> отдельной области). Вся же работа идет через thunking, которому много
> памяти не надо.

А ASE у него в wow64 работает ? И оно умеет ? Я вот например не знаю,
и не уверен, что оно умеет. Потому что для ASE генеральная платформа --
не винды, там с этим проблем нет.


Шмель летать не может, но этого не знает, потому летает. Если ASE не знает, что его крутят в wow64 и пусть его )

Конечно, надо тестировать все - и под полной нагрузкой. Либо вылетит либо нет.

Но если все заработает нормально, то это будет весьма уникальный и воспроизводимый для многих программ опыт!

А ключ /3gb в win64 по моему просто игнорируется (лень проверять в MSDN).

Сервак работает четвертый день, сбоев, глюков или чего либо не обычного не замечено. По поводу ключа /3gb, поставил рефлексорно, как было на 32 битной винде. При следующей перезагрузке (на 8 мартовских праздниках) попробую его убрать. Важен адрес shared memory starting address = 23662592, без него точно не работает.

Правда особого ускорения от увеличившегося на гигабайт кеша (cache size был 2600000 стал 3500000) особо не заметно. :(
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36487466
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
И по поводу кеша. Из этих 4х гигов, 3,5 отдал код кэш, 180 мб под процедурный кеш, ну и оставшуюся память, под нужды сервера. Так ли нужно распределить память???


я бы отдал Sybase только 3 ГБ
а то может случиться, что под нагрузкой винда начнет скидывать Sybase в своп со всеми вытекающими отседова тормозами и прелестями диагностики "по живому"

это так, совет
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36494937
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komradВикторрр
И по поводу кеша. Из этих 4х гигов, 3,5 отдал код кэш, 180 мб под процедурный кеш, ну и оставшуюся память, под нужды сервера. Так ли нужно распределить память???


я бы отдал Sybase только 3 ГБ
а то может случиться, что под нагрузкой винда начнет скидывать Sybase в своп со всеми вытекающими отседова тормозами и прелестями диагностики "по живому"

это так, совет

Спасибо за совет, но у меня, в конфиге сайбеса, прописано:
allocate max shared memory = 1
dynamic allocation on demand = 0
соответственно, сайбейс сервер, сразу забирает всю указанную ему память и не отдает ее обратно ОС.

Расскажите, плиз, про распределение памяти внутри сайбеса. Как распределить эти 4 Гб?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36495294
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
Спасибо за совет, но у меня, в конфиге сайбеса, прописано:
allocate max shared memory = 1
dynamic allocation on demand = 0
соответственно, сайбейс сервер, сразу забирает всю указанную ему память и не отдает ее обратно ОС.


что помешает винде при системной необходимости скинуть часть памяти отъеденной Sybase-ом в кэш на диск? Никто её не отберет у него, но подвинуть в сторону на медленный драйв - легко!
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36495439
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komradВикторрр
Спасибо за совет, но у меня, в конфиге сайбеса, прописано:
allocate max shared memory = 1
dynamic allocation on demand = 0
соответственно, сайбейс сервер, сразу забирает всю указанную ему память и не отдает ее обратно ОС.


что помешает винде при системной необходимости скинуть часть памяти отъеденной Sybase-ом в кэш на диск? Никто её не отберет у него, но подвинуть в сторону на медленный драйв - легко!

В системе 16 Гб оперативки. Система 64 битная. Все равно винда будет претендовать на мои кровью выстраданные 4 гб оперативки??? Разве она не будет использовать оставшиеся 12 гб???
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36495454
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
В системе 16 Гб оперативки. Система 64 битная. Все равно винда будет претендовать на мои кровью выстраданные 4 гб оперативки??? Разве она не будет использовать оставшиеся 12 гб???
а, это я пропустил, сорри ;)
тогда всё ок, пейджинга быть не должно
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36496400
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komradВикторрр
В системе 16 Гб оперативки. Система 64 битная. Все равно винда будет претендовать на мои кровью выстраданные 4 гб оперативки??? Разве она не будет использовать оставшиеся 12 гб???
а, это я пропустил, сорри ;)
тогда всё ок, пейджинга быть не должно

На праздниках "23 февраля" я его переставил на х64 винду и получил 4 гб оперативки, о чем писал здесь.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36496414
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komradзабыл парольkomrad,

Интересно было бы почитать где именно написано, что I/O осуществляется экстентами.
Прошу только обратить внимание, что space allocation и размер выполняемого I/O - это вещи принципиально разные.
Заодно хотелось бы услышать, что если для пула 2K размер одного I/O почему-то вдург стал =16K, то чему тогда равен размер одного I/O в large I/O pool размером в 4K, 8K, 16K?



про первое - это я погорячился слегка, без постоянной практики знания конечно понемногу уходят... подтверждение
тут (страница 8, пункт 3.3, предпоследний абзац):
цитата
ASE I/O buffer pools, as discussed above, allow the disk I/O sizes to occur at units of 1, 2, 4, or 8 pages at a time.
Depending on the server page size, disk I/O sizes range from 2KB to 16KB for a 2KB-page server up to 16KB to 128KB for a 16KB-page server.


Задал вопрос инструктору Сайбейс, по поводу того, какими порциями осуществляется запись на диск, но ответ был, для сервера с 2К страницой, размер вывода соответственно равен 2 Кб! Где же правда???
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36496560
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:

> осуществляется запись на диск, но ответ был, для сервера с 2К страницой,
> размер вывода соответственно равен 2 Кб! Где же правда???

2, 4, 8 или 16 к.

Всегда от размера страницы и до 16 к, с логарифмическим шагом в 2.
(увеличивая в 2 раза).
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36496666
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
Задал вопрос инструктору Сайбейс, по поводу того, какими порциями осуществляется запись на диск, но ответ был, для сервера с 2К страницой, размер вывода соответственно равен 2 Кб! Где же правда???

зависит от пулов кэша
читайте Sybase Administration Guide (стр.616)

обратите внимание на Cache Configuration Guidelines (стр.654)
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36497409
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Викторрр wrote:

> осуществляется запись на диск, но ответ был, для сервера с 2К страницой,
> размер вывода соответственно равен 2 Кб! Где же правда???

2, 4, 8 или 16 к.

Всегда от размера страницы и до 16 к, с логарифмическим шагом в 2.
(увеличивая в 2 раза).


Зависит от пулов кеша? У нас не настроены пулы кеша, значит всегда только 2К?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36497824
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:

> Зависит от пулов кеша? У нас не настроены пулы кеша, значит всегда
> только 2К?

Да. Очень плохо, кстати, что они не настроены.
Ну т.е. как очень плохо ? Не очень, конечно, потому что
большие пулы возможно вашему приложению и не нужны, но
"настроены пулы" -- это значит они стоят такие, какие нужны
вашему приложению.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36505759
moris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл парольkomrad,


Задал вопрос инструктору Сайбейс, по поводу того, какими порциями осуществляется запись на диск, но ответ был, для сервера с 2К страницой, размер вывода соответственно равен 2 Кб! Где же правда???

Попробую поставить точку над i

Когда, идет вставка/модификация данных в ASE, то сначала физически идет запись в транзакционный лог .., а потом уже позже, во время операции chekpoint либо housekeper идет запись на диск грязных страниц данных...
Т.о. Запись в лог, идет постоянно, запись данных - дискретно..

Каким размером, идет запись в лог (по 1й или 2 страницы) определяется 2я вещами - значения выставленными в процедуре sp_logiosize и наличием соответствующего размера пула..
По дефолту sp_logiosize - 2 логические страницы..Однако если нет соответсвтующего пула, то по одной..

Размер же записи данных, определяется размером пула, где грязные страницы расположены..
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36520618
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
morisзабыл парольkomrad,


Задал вопрос инструктору Сайбейс, по поводу того, какими порциями осуществляется запись на диск, но ответ был, для сервера с 2К страницой, размер вывода соответственно равен 2 Кб! Где же правда???

Попробую поставить точку над i

Когда, идет вставка/модификация данных в ASE, то сначала физически идет запись в транзакционный лог .., а потом уже позже, во время операции chekpoint либо housekeper идет запись на диск грязных страниц данных...
Т.о. Запись в лог, идет постоянно, запись данных - дискретно..

Каким размером, идет запись в лог (по 1й или 2 страницы) определяется 2я вещами - значения выставленными в процедуре sp_logiosize и наличием соответствующего размера пула..
По дефолту sp_logiosize - 2 логические страницы..Однако если нет соответсвтующего пула, то по одной..

Размер же записи данных, определяется размером пула, где грязные страницы расположены..

Прописал 16К пул в default data cache - 50 мб и в Named Cache:tempdb_cache - 50 Мб. Правда в default data cache этот пул практически не используется (<1%), а вот в tempdb_cache наоборот, просится чуть увеличить. Соответственно ОСНОВНОЙ вывод у меня идет по две двухкилобайтных страницы, т.е. по 4 кб и значит форматировать диск нужно с размером кластера 4 кб и srtipe size на рейде должен быть 4 кб? Так?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36520675
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Siemargl

А ключ /3gb в win64 по моему просто игнорируется (лень проверять в MSDN).

Попробовал убрать ключ, перезагрузился, все работает также на 4 гб. Все верно, ключ /3gb не нужен.

Заметил еще один момент. Не смотря на то, что сайбейс забрал только 4 гб, свободной памяти в системе, из 16 гб, лишь несколько десятков мегабайт. Остальная память отдана под системный кеш (при начальной загрузке windows - системный кеш пустой, но за несколько часов он заполняется и использует всю свободную память). Что хранится в этом системном кеше??? Уж не сайбейс ли туда что-то складывает???
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36520722
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad
что помешает винде при системной необходимости скинуть часть памяти отъеденной Sybase-ом в кэш на диск? Никто её не отберет у него, но подвинуть в сторону на медленный драйв - легко!

Пробовал создать в памяти рам драйв и положить туда tempdb. Но у меня вся память забрана виндой под системный кеш, то пришлось понемногу забирать ее у винды рамдрайвом. Сделал это, но на утро обнаружил, что процесс sqlsrvr в пямяти занимает 3400 мб, вместо 4100. Получается, что не смотря на параметры allocate max shared memory = 1 и dynamic allocation on demand = 0, сайбейс отдал память. Брал рамдрайв, системный кеш опять стал 11 гб, сайбейс 4 гб. Может еще нужно установить этот параметр lock shared memory = 1?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36520778
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Викторрр wrote:

> Зависит от пулов кеша? У нас не настроены пулы кеша, значит всегда
> только 2К?

Да. Очень плохо, кстати, что они не настроены.
Ну т.е. как очень плохо ? Не очень, конечно, потому что
большие пулы возможно вашему приложению и не нужны, но
"настроены пулы" -- это значит они стоят такие, какие нужны
вашему приложению.


Сделал так:
В дефолтном кеше прописал 16К пул 50 Мб, смотрю сисмоном его загрузку, но она всегда меньше 1%. Уменьшу до 10 Мб. Правильная ли стратегия для дефолтного кеша?

[Named Cache:default data cache]
cache size = 3100M
cache status = default data cache
cache replacement policy = strict LRU replacement
local cache partition number = DEFAULT

[16K I/O Buffer Pool]
pool size = 50.0000M
wash size = DEFAULT
local async prefetch limit = DEFAULT

Создал вторую базу темпбд, создал и привязал обе базы к именованному кешу tempdb_cache размером 300 Мб. В этом кеше прописал пул 16к размером 50 мб, смотрю сисмоном его загрузку, вижу, что он часто используется, его немного увеличу. Правильная ли стратегия для кеша темпдб? Что будет когда заполнятся эти 300 мб, дальше будет использоваться дефолтный кеш или все, т.к. темпдб кеш забился, то дальше он будет чиститься путем скидывания старых данных на диск?

[Named Cache:tempdb_cache]
cache size = 300M
cache status = mixed cache
cache replacement policy = strict LRU replacement
local cache partition number = DEFAULT

[16K I/O Buffer Pool]
pool size = 50M
wash size = DEFAULT
local async prefetch limit = DEFAULT
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36520878
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mikeufaЯ думаю нужно отследить на каких таблицах больше всего операций запись/чтение, а затем добавить эти таблицы в именованые кеши. Покрайней мере нам это помогло (база 150гб).
Для отслеживания нужно запустить мониторинг сервера. В прилагаемом файле скриптик для создания mda таблиц. После того как сервер поработает под обычной нагрузкой - файлы заполнятся и запросом можно будет увидеть на каких таблицах самая большая нагрузка.
Запрос
select object_name(ObjectID, DBID) as Object_name, IndexID, PhysicalReads, PhysicalWrites
from master..monOpenObjectActivity
where PhysicalReads>100
order by PhysicalReads desc
go
Как то так.

Пролил скрипт от нашей версии сайбеса (лежит $SYBASE/ASE-12_5/scripts/installmontables). Статистика начала собираться сегодня с утра. Предложенный селект выдает такую картину (первые 10):
tProtocol 0 271971 1323
tDealTransact 0 239174 3181
tAccrualDetail 0 77107 255
tOperPart 0 72837 3011
tProtocolRelation 0 71971 325
tADLink 0 63830 93
tAudit 3 61654 21678
tRPElementHistory 0 58628 441
tProtocol 4 54314 825
tInstitution 0 43467 1824

Видим, две самых читающихся таблицы: tProtocol (271971) и tDealTransact (239174). Таблица tProtocol размером 1,4 Гб (631 мб индексы), а tDealTransact размером 3,2 Гб (644 мб индексы). В сумме, даже эти 2 таблицы (4,6 Гб) не поместятся в кеш (3 Гб), не говоря уже обо все остальных таблицах. Что дальше? Создаем именованный кеш, например на 500 мб под одну таблицу и 500 мб под другую таблицу и связываем этот кеш с таблицей или с ее индексами или как? А также как определить размер этого кеша? Если в результате селекта поле indexid ноль, то это таблица? а если не ноль, то индекс?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36520916
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
забыл парольkomrad,

Викторрр:
Обратите внимание, что OLTP нагрузка и DSS запрос - это разные вещи.
Снимите sysmon в момент выполнения отчёта (именно тогда, когда тормозит). Определите что выполянется, посмотрите какой replacement policy (MRU,LRU), посмотрите на размер Wash Area для Named Cache. Посмотрите используется или нет APF и чему равет APF Limit. Посмотрите на запрос или процедуру, на её план, на кол-во LIO, PIO, сравните цифры и план с с размером пула с учётом куда идёт кеширование (MRU,LRU), размера Wash Size и лимита APF.

И ещё раз - если Вы считаете, что с базой в 170 гиг можно нормально работать на 2-х гигах памяти на 32-х битной OS и ASE (без named caches под log, tempdb с relaxed стратегией) да ещё и со смешанной нагрузкой (OLTP + DSS), то это конечно Ваше дело.

Ещё раз желаю успехов.

replacement policy судя по сисмону у нас LRU.
Какая стратегия должна быть на кеше темпбд?
named caches под log - нужно создать именованный кеш с типом log для рабочей бд?
Я прописал именованный кеш под темпдб, посмотрите, плиз, так???
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36520923
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот sp_sysmon в момент торможения.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36521009
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:

> просится чуть увеличить. Соответственно ОСНОВНОЙ вывод у меня идет по
> две двухкилобайтных страницы, т.е. по 4 кб и значит форматировать диск
> нужно с размером кластера 4 кб и srtipe size на рейде должен быть 4 кб? Так?

Это только LOG идёт в 4к. База будет в 2, 4, 8, 16 -- все пулы, которые
сконфигурены, и которые будут задействованы ASE.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36521025
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Викторрр wrote:

> просится чуть увеличить. Соответственно ОСНОВНОЙ вывод у меня идет по
> две двухкилобайтных страницы, т.е. по 4 кб и значит форматировать диск
> нужно с размером кластера 4 кб и srtipe size на рейде должен быть 4 кб? Так?

Это только LOG идёт в 4к. База будет в 2, 4, 8, 16 -- все пулы, которые
сконфигурены, и которые будут задействованы ASE.


Понял, резюмирую. Размер кластера в нтфс и srtipe size на рейде должен быть 2 кб!!! Спасибо всем, кто помог докопаться до истины в этом вопросе.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36521035
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,

В faq в теме "Обработка результатов мониторинга ASE в Exel" ( http://www.sql.ru/faq/faq_topic.aspx?fid=533 ) есть ссылка на обработчик сисмонов, которая не открывается. Подскажите, плиз, зеркало к этой ссылке...
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36521729
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:

> Понял, резюмирую. Размер кластера в нтфс и srtipe size на рейде должен
> быть 2 кб!!! Спасибо всем, кто помог докопаться до истины в этом вопросе.

Знаете, я бы сказал, что он может быть любым.
Лучше чтобы ОС подбирала его под размер буферов обмена дисков.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36521741
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
В faq в теме "Обработка результатов мониторинга ASE в Exel" ( http://www.sql.ru/faq/faq_topic.aspx?fid=533 ) есть ссылка на обработчик сисмонов, которая не открывается.

У меня возможности в этом смысле ровно такие же как у вас.

може быть попробовать andy-собака-sanskrit.ru ?

Если получится -- дайте знать, исправлю ссылку.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36521864
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivВикторрр
В faq в теме "Обработка результатов мониторинга ASE в Exel" ( http://www.sql.ru/faq/faq_topic.aspx?fid=533 ) есть ссылка на обработчик сисмонов, которая не открывается.

У меня возможности в этом смысле ровно такие же как у вас.

може быть попробовать andy-собака-sanskrit.ru ?

Если получится -- дайте знать, исправлю ссылку.

не получится
такого емейла давно нет
ссылка в факе мертвая

Виктор, Вы настраиваете сервер под Диасофт. Запрашивали рекомендуемые настройки Sybase и рекомендации по железу у разработчика?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36521873
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр Подскажите, плиз, зеркало к этой ссылке...
контактный email?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36522374
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Викторрр wrote:

> Понял, резюмирую. Размер кластера в нтфс и srtipe size на рейде должен
> быть 2 кб!!! Спасибо всем, кто помог докопаться до истины в этом вопросе.

Знаете, я бы сказал, что он может быть любым.
Лучше чтобы ОС подбирала его под размер буферов обмена дисков.


А что, винда так умеет?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36522393
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komradMasterZivВикторрр
В faq в теме "Обработка результатов мониторинга ASE в Exel" ( http://www.sql.ru/faq/faq_topic.aspx?fid=533 ) есть ссылка на обработчик сисмонов, которая не открывается.

У меня возможности в этом смысле ровно такие же как у вас.

може быть попробовать andy-собака-sanskrit.ru ?

Если получится -- дайте знать, исправлю ссылку.

не получится
такого емейла давно нет
ссылка в факе мертвая

Виктор, Вы настраиваете сервер под Диасофт. Запрашивали рекомендуемые настройки Sybase и рекомендации по железу у разработчика?

Рекомендации от разработчика конечно есть, но они не столь глубокие, как мы сейчас здесь обсуждаем. Когда 4 года назад я запускал этот сервер база была в 8 раз меньше, чем сейчас, а железо то не изменилось. В 2006 году с рекомендациями Диасофта все летало, но прошло время и ситуация изменилась. Сейчас пытаюсь выжать настройками Сайбеса максимум из существующего железа. Следующий планируемый шаг, покупка СХД.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36522689
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:

> Лучше чтобы ОС подбирала его под размер буферов обмена дисков.
> А что, винда так умеет?

Без понятия.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36522700
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:

> году с рекомендациями Диасофта все летало, но прошло время и ситуация
> изменилась. Сейчас пытаюсь выжать настройками Сайбеса максимум из
> существующего железа. Следующий планируемый шаг, покупка СХД.

Что-то я как-то не верю в максимум из железа под виндой.
Я не знаю, мнение не экспетное, а скорее эмоционально-теологическое.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36523064
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Викторрр wrote:

> году с рекомендациями Диасофта все летало, но прошло время и ситуация
> изменилась. Сейчас пытаюсь выжать настройками Сайбеса максимум из
> существующего железа. Следующий планируемый шаг, покупка СХД.

Что-то я как-то не верю в максимум из железа под виндой.
Я не знаю, мнение не экспетное, а скорее эмоционально-теологическое.


Я на этой страничке новый конфиг выложил и сисмон, по ним есть какие-нибудь рекомендации???
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36523192
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
Я на этой страничке новый конфиг выложил и сисмон, по ним есть какие-нибудь рекомендации???

можно посмотреть на
Код: plaintext
1.
2.
3.
4.
use DB
go
sp_helpdb DB
go
?

рекомендую запускать сисмон не один раз, а в течение дня на 10 минут каждый час
так картинка будет нагляднее

по Tuning Recommendations что-нить делали?
например по этому:

sysmon Tuning Recommendations for Monitor Access to Executing SQL
----------------------------------------------------------
- Consider increasing the 'max SQL text monitored' parameter
to at least 35862 (i.e., half way from its current value
to Maximum SQL Text Requested).
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36523439
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad

Результат sp_helpdb в файле.

По поводу Tuning Recommendations, до перезагрузки, не могу увеличить параметр 'max SQL text monitored', т.к. всю свободную память отдал под кеш, а изменение этого параметра требует наличия свободной памяти.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36523462
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad

рекомендую запускать сисмон не один раз, а в течение дня на 10 минут каждый час
так картинка будет нагляднее

А потом чем их лучше НАГЛЯДНО смотреть, какой программой анализатором логов?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36523488
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторррkomrad

рекомендую запускать сисмон не один раз, а в течение дня на 10 минут каждый час
так картинка будет нагляднее

А потом чем их лучше НАГЛЯДНО смотреть, какой программой анализатором логов?
анализатор дома поищу - должен был сохраниться...
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36523530
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторррkomrad

Результат sp_helpdb в файле.

По поводу Tuning Recommendations, до перезагрузки, не могу увеличить параметр 'max SQL text monitored', т.к. всю свободную память отдал под кеш, а изменение этого параметра требует наличия свободной памяти.

а в чём глубокая мысль разносить девайсы по разным дискам, если логи и данные пишутся на общие девайсы?

авторOrenDat1 default
OrenDat1 logsegment
OrenDat1 system
OrenDat2 default
OrenDat2 logsegment
OrenDat2 system

OrenDat3 default
OrenDat3 system
OrenDat4 default
OrenDat4 system
OrenDat5 default
OrenDat5 system
OrenLog1 default
OrenLog1 system
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36523641
mikeufa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторСоздаем именованный кеш, например на 500 мб под одну таблицу и 500 мб под другую таблицу и связываем этот кеш с таблицей

Да именно так.. можно начать с размера кэша в 300мб. для первой таблицы .потом 200 и 100 допустим для второй и третьей.. поэкспериментировать надо на своих данных..

авторЕсли в результате селекта поле indexid ноль, то это таблица?

Таблица. Мы в кэш добавляли таблицы.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36523643
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Викторррkomrad

Результат sp_helpdb в файле.

а в чём глубокая мысль разносить девайсы по разным дискам, если логи и данные пишутся на общие девайсы?

[quot автор]OrenDat1 default
OrenDat1 logsegment
OrenDat1 system
OrenDat2 default
OrenDat2 logsegment
OrenDat2 system

OrenDat3 default
OrenDat3 system
OrenDat4 default
OrenDat4 system
OrenDat5 default
OrenDat5 system
OrenLog1 default
OrenLog1 system

Исторически так сложилось... С какой стороны подобраться к этому, пока не знаю, т.к. знаю только путь через переливку базы через bcp. При очередной профилактике создал 5 файлов: OrenDat1, OrenDat2, OrenDat3, OrenDat4, OrenDat5 с типом dat и один OrenLog1 с типом log, но после заливки дампа, данные и лог расположились в старом порядке, как и было раньше, в перемешку. Или если в Sybase Centrale в разделе сегменты, из дефолтного сегмента удалить файл OrenLog1, а в лог сегмент добавить OrenLog1 и удалить OrenDat1, OrenDat2, то все станет правильно??? Но ведь в файле OrenLog1 есть данные , а в OrenDat1, OrenDat2 есть куски лога и наверное он не даст мне этого сделать? Как быть (без bcp)?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36523946
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
Исторически так сложилось... С какой стороны подобраться к этому, пока не знаю, т.к. знаю только путь через переливку базы через bcp. При очередной профилактике создал 5 файлов: OrenDat1, OrenDat2, OrenDat3, OrenDat4, OrenDat5 с типом dat и один OrenLog1 с типом log, но после заливки дампа, данные и лог расположились в старом порядке, как и было раньше, в перемешку. Или если в Sybase Centrale в разделе сегменты, из дефолтного сегмента удалить файл OrenLog1, а в лог сегмент добавить OrenLog1 и удалить OrenDat1, OrenDat2, то все станет правильно??? Но ведь в файле OrenLog1 есть данные , а в OrenDat1, OrenDat2 есть куски лога и наверное он не даст мне этого сделать? Как быть (без bcp)?

значит так, тонким тюнингом Sybase предлагаю не заниматься до тех пор, пока базу в порядок не приведете
кстати, профилактические работы с базой проводите?

как разрулить эту ситуацию
имхо, наименее безболезненный способ, но который потребует дисковых ресурсов, такой:
1) создать девайс OrenLog2 на диске, который предназначен для лога (из сисмона - W), с необходимым размером;
2) добавить его в базу и расположить на нем только лог (alter database ... log on ...);
3) удалить лог-сегмент с девайсов OrenDat2 & OrenDat2 (sp_dropsegment);
4) перенести девайс OrenLog1 на диск с девайсами под данные (шатдаун сервера, старт в режиме recover only master, правка таблицы sysdevices - имя диска для OrenLog1, останов сервера, перенос девайса на новый диск, старт сервера в нормальном режиме). Кстати, тут же можно поменять название файла и девайса - чтоб глаз не мозолило.

Таким образом у вас освободится место на OrenDat2 & OrenDat2 под данные и логи будут на своем собственном диске и девайсе.

из мануаловFor transactions using a database with mixed data and log segments, the user log cache is flushed to the transaction log after each log record. No buffering takes place. If your databases do not have dedicated log segments, do not increase the user log cache size.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36525300
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>>кстати, профилактические работы с базой проводите?

До лета, checkdatabase в выходной раз в месяц (DBCC CHECKDB), в следующие 2 недели в выходные апдейт статистики, периодически по ночам еще пересоздавал индексы (drop -> create). Но с лета, по очереди отказался по очереди от всех этих действий, т.к. за выходные сделаться просто не успевает. :(

>>как разрулить эту ситуацию
>>имхо, наименее безболезненный способ, но который потребует дисковых ресурсов, такой:
>>1) создать девайс OrenLog2 на диске, который предназначен для лога (из сисмона - W), с >>необходимым размером;
>>2) добавить его в базу и расположить на нем только лог (alter database ... log on ...);
>>3) удалить лог-сегмент с девайсов OrenDat2 & OrenDat2 (sp_dropsegment);

При удалении лог-сегмента база должна быть в каком-то особенном состоянии? Пользователи могут в это время на ней работать? Что будет с транзакциями, находящимися в данный момент в логе, после удаления сегментов с файлов OrenDat1 & OrenDat2? Default сегмент в этих файлах сразу и сам расширится на объем высвободившегося места?

>>4) перенести девайс OrenLog1 на диск с девайсами под данные (шатдаун сервера, старт в >>режиме recover only master, правка таблицы sysdevices - имя диска для OrenLog1, останов >>сервера, перенос девайса на новый диск, старт сервера в нормальном режиме). Кстати, тут же >>можно поменять название файла и девайса - чтоб глаз не мозолило.

Этот пункт, я так понимаю, чисто эстетический и на скорость и правильность работы СУБД влияние не оказывает? Т.к. файл OrenLog1 находится на отдельном диске (кроме этого файла там больше ничего нет), в нем находятся только default и system сегменты, единственно, только называется криво, так это я поправлю при следующей профилактике. А файл с лог сегментом, я расположу на отдельном диске, приготовленном под рост базы.

Что смущает, при создании БД я указал, что девайс OrenLog1 подцеплен к базе как лог (log only), а по факту мы видим, что в нем нет лог сегмента. Будет ли нормально функционировать девайс OrenLog1 с данными, подцепленный к базе как девайс с логом?

>>Таким образом у вас освободится место на OrenDat2 & OrenDat2 под данные и логи будут на >>своем собственном диске и девайсе.

Ок. Сейчас попробуй это на резервном сервере. Спасибо.

из мануаловFor transactions using a database with mixed data and log segments, the user log cache is flushed to the transaction log after each log record. No buffering takes place. If your databases do not have dedicated log segments, do not increase the user log cache size.

Эта цитата говорит о том, что транзакшен лог сбрасывается на диск каждый раз, после помещения в него записи и следовательно, пока он не очистится, следующая транзакция в него не помещается??? Но тогда бы он никогда не рос, а он периодически растет...
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36525308
SAV4SAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр

...

Эта цитата говорит о том, что транзакшен лог сбрасывается на диск каждый раз, после помещения в него записи и следовательно, пока он не очистится, следующая транзакция в него не помещается??? Но тогда бы он никогда не рос, а он периодически растет...

Эта фраза говорит о том, что в такой ситуации не работает ULC (юзер лог каше) и становится
очень "горячим" лог. Более ничего.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36525334
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр wrote:
> Исторически так сложилось... С какой стороны подобраться к этому, пока
> не знаю, т.к. знаю только путь через переливку базы через bcp. При

Так только такой путь и есть. Не знаю правда может в 15 что-то изменилось.
В БД в дампе прописаны адреса страниц, которые привязаны к фрагментам, их можно
поменять только пересоздав БД и перезалив данные.

Зря ты думаешь, что это так уж сложно. Надо всё аккуратно делать просто, и
всё. BCP с -n, dbschema использовать. И всё будет ОК.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36525651
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр>>кстати, профилактические работы с базой проводите?

До лета, checkdatabase в выходной раз в месяц (DBCC CHECKDB), в следующие 2 недели в выходные апдейт статистики, периодически по ночам еще пересоздавал индексы (drop -> create). Но с лета, по очереди отказался по очереди от всех этих действий, т.к. за выходные сделаться просто не успевает. :(

разбейте checkdb на более простые dbcc-операции, выполняйте их в ночное время
тынц
ребилд индексов обязателен
перестраивайте по частям, пакетами в разные дни и т.п.


Викторрр
При удалении лог-сегмента база должна быть в каком-то особенном состоянии? Пользователи могут в это время на ней работать? Что будет с транзакциями, находящимися в данный момент в логе, после удаления сегментов с файлов OrenDat1 & OrenDat2? Default сегмент в этих файлах сразу и сам расширится на объем высвободившегося места?

эту работу я бы проводил (после проверки/откатки на тестовом сервере) в ночное время, в режиме базы dbo use only, с отключенными пользователями. База у вас c включенной опцией trunc log on checkpoint, так что в логе не должно быть записей.
Default сегмент - не совсем, там же у вас еще и system

Викторрр
>>4) перенести девайс OrenLog1 на диск с девайсами под данные (шатдаун сервера, старт в >>режиме recover only master, правка таблицы sysdevices - имя диска для OrenLog1, останов >>сервера, перенос девайса на новый диск, старт сервера в нормальном режиме). Кстати, тут же >>можно поменять название файла и девайса - чтоб глаз не мозолило.

Этот пункт, я так понимаю, чисто эстетический и на скорость и правильность работы СУБД влияние не оказывает? Т.к. файл OrenLog1 находится на отдельном диске (кроме этого файла там больше ничего нет), в нем находятся только default и system сегменты, единственно, только называется криво, так это я поправлю при следующей профилактике. А файл с лог сегментом, я расположу на отдельном диске, приготовленном под рост базы.

если это простые физические диски, то ок
идея в том, чтобы разнести операции записи (лог) и чтение+запись (данные) по разным дискам/массивам

Викторрр
Что смущает, при создании БД я указал, что девайс OrenLog1 подцеплен к базе как лог (log only), а по факту мы видим, что в нем нет лог сегмента. Будет ли нормально функционировать девайс OrenLog1 с данными, подцепленный к базе как девайс с логом?

При создании БД - это одно.
Но в нее же после этого был поднят дамп с несовпадающим внутренним расположением сегментов по девайсам. Поэтому и получилось, что на лог-девайсе появились system & default...
OrenLog1 - не важно как он был подцеплен, важно какие сегменты на нем расположены

Викторрр
>>Таким образом у вас освободится место на OrenDat2 & OrenDat2 под данные и логи будут на >>своем собственном диске и девайсе.

Ок. Сейчас попробуй это на резервном сервере. Спасибо.

да, это обязательно

Викторрр
из мануаловFor transactions using a database with mixed data and log segments, the user log cache is flushed to the transaction log after each log record. No buffering takes place. If your databases do not have dedicated log segments, do not increase the user log cache size.

Эта цитата говорит о том, что транзакшен лог сбрасывается на диск каждый раз, после помещения в него записи и следовательно, пока он не очистится, следующая транзакция в него не помещается??? Но тогда бы он никогда не рос, а он периодически растет...
речь идет про ULC, который не буфферизуется, а сразу сливается в общий лог СУБД
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36525818
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На резервном сервере добавил файл OrenLog3 (OrenLog1 и OrenLog2 там уже есть, но структура там точно такая же) как лог. В Sybase Central с логсегмента удалил девайс OrenLog1, прошло нормально, удалил OrenLog2 - центал ругнулся, но вроде все сделал. Лог централа в файле. Вроде стало красивее, но на месте лог сегмента появилось сообщение: -- unused by any segments --. Что дальше?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36525878
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВикторррНа резервном сервере добавил файл OrenLog3 (OrenLog1 и OrenLog2 там уже есть, но структура там точно такая же) как лог. В Sybase Central с логсегмента удалил девайс OrenLog1, прошло нормально, удалил OrenLog2 - центал ругнулся, но вроде все сделал. Лог централа в файле. Вроде стало красивее, но на месте лог сегмента появилось сообщение: -- unused by any segments --. Что дальше?

мда, на это требуется известная доля бесстрашия, чтобы делать такие вещи из централи ;)

покажи:

use DB
go
exec sp_helpsegment logsegment
exec sp_helpsegment system
exec sp_helpsegment 'default'
go
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36525930
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad
разбейте checkdb на более простые dbcc-операции, выполняйте их в ночное время
тынц
ребилд индексов обязателен
перестраивайте по частям, пакетами в разные дни и т.п.

Викторрр
При удалении лог-сегмента база должна быть в каком-то особенном состоянии? Пользователи могут в это время на ней работать? Что будет с транзакциями, находящимися в данный момент в логе, после удаления сегментов с файлов OrenDat1 & OrenDat2? Default сегмент в этих файлах сразу и сам расширится на объем высвободившегося места?

эту работу я бы проводил (после проверки/откатки на тестовом сервере) в ночное время, в режиме базы dbo use only, с отключенными пользователями. База у вас c включенной опцией trunc log on checkpoint, так что в логе не должно быть записей.
Default сегмент - не совсем, там же у вас еще и system


По поводу профилактики, т.е. нужно делать 2 действия checkdb и пересоздание индексов? С checkdb понятно, а индексы? Их нужно удалять и создавать заново или использовать reorg или еще как-то? Апдейт статистики не нужен? Что еще нужно делать?

По поводу dbo use only. Так?
USE master
go
EXEC sp_dboption 'orenburg','single user',true
go
USE orenburg
go
CHECKPOINT
go

Проверяю sp_helpdb orenburg, но опция 'single user' не появилась, хотя ошибок при выполнении скрипта не было.

Чтобы лог очистился, нужно после перевода базы в однопользовательский режим руками выполнить checkpoint и больше ничего не менять на базе?

А как теперь расширить Default сегмент? System мешает, нужно его вынести в отдельный файл?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36525946
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad
мда, на это требуется известная доля бесстрашия, чтобы делать такие вещи из централи ;)

покажи:

use DB
go
exec sp_helpsegment logsegment
exec sp_helpsegment system
exec sp_helpsegment 'default'
go

Боится знающий последствий, не знающий, просто действует! :)

А что, централ это зло? Я просто открыл его для себя неделю назад. До этого, да и сейчас, все делаю через DbArtisan. Про то, что командная строка рулез, слышал. :)
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36525958
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Файлик не прикрепился. Вот.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36526726
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
По поводу профилактики, т.е. нужно делать 2 действия checkdb и пересоздание индексов? С checkdb понятно, а индексы? Их нужно удалять и создавать заново или использовать reorg или еще как-то? Апдейт статистики не нужен? Что еще нужно делать?

checkdb надо делать регулярно, чтобы быть уверенным, что база в исправном состоянии
самое оптимальное для индексов - drop/create
предварительно на тестовом сервере проверить тайминги на пересоздание индексов, распланировать на несколько этапов при необходимости
статистика обновляется при перестроении индексов, по крайней мере по полям индекса
для профилактики можно и её обновлять, но не одновременно всё вместе
только осторожно - в диасофтовской базе есть таблицы, статистику по которым обновлять или строить не нужно

но в общем случае посоветовал бы обратиться к поддержке Диасофта и получить рекомендации производителя ПО, которое вы эксплуатируете...

Викторрр
По поводу dbo use only. Так?

USE master
go
EXEC sp_dboption 'orenburg','single user',true
go
USE orenburg
go
CHECKPOINT
go

опция так и называется - "dbo use only"
а в этом скрипте база переводится в однопользовательский режим; и не факт что этот скрипт успеет зайти в базу первым ;)

Викторрр
Чтобы лог очистился, нужно после перевода базы в однопользовательский режим руками выполнить checkpoint и больше ничего не менять на базе?

А как теперь расширить Default сегмент? System мешает, нужно его вынести в отдельный файл?
проверить что к базе нет подключений
для верности выполнить
dump transaction ... with truncate_only
или
dump transaction ... with no_log

сегмент необходимо расширять есть он не присутствует на нужном девайсе, если присутствует, то не нужно

чему мешает system сегмент?
выносить не нужно
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36526738
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
А что, централ это зло? Я просто открыл его для себя неделю назад. До этого, да и сейчас, все делаю через DbArtisan. Про то, что командная строка рулез, слышал. :)

не особо ему доверяю
спокойнее самому написать скрипт и знать что когда и зачем делаешь

артизан - хорошо; официально купленный - очень хорошо
командная строка - вещь незаменимая особенно в некоторых случаях
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36526822
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВикторррФайлик не прикрепился. Вот.

used_pages в logsegment показывается отрицательным
способы лечения:

http://dbaspot.com/forums/sybase/240497-syslogs-dbcc-question.htmlThere are a handful of possible fixes with each one known to sometimes not work:

a - single user mode + dbcc tablealloc(syslogs,full,fix) [did OP put db in single user mode? would help if we were provided with complete command invocation and output from running tablealloc]

b - single user mode + dbcc dbrepair(, 'fixlogfreespace') [in 12.5.1 through 12.5.2 IR this could also reset data space numbers; fixed in 12.5.2 ESD #1]

c - start up dataserver with -T7408 to force log space usage recalculations at boot up

d - dbcc usedextents(,0,1,1) (plus possible need for shutdown with nowait if no noticeable improvement)
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36526867
rmka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотелось бы свести все основополагающие рекомендации вместе.
1. 10 дисков делим на 5 зеркал
2. 1-е зеркало - данные используемые для оперативных действий
2-е зеркало - лог транзакций
3-е зеркало - tempdb
4-е зеркало - индексы
5-е зеркало - данные используемые для отчётов
3. tempdb = 20-30% от размера БД
4. Именованный кэш для tempdb надо подбирать ~ 500М
5. Именованный кэш для для лога транзакций надо подбирать ~ 50М
6. Именованный кэш для для постоянно используемых нагруженных таблиц... не всегда помогает
7. Настройка пулов. если строница 2К, то для default кэш соотношение пулов 2к/16к примерно 1/3 (1/4) (подбирать по sysmon).
8. Настройка пулов. если строница 2К, то для tempdb кэш соотношение пулов 2к/16к примерно 1/2 (1/3) (подбирать по sysmon).
9. После этого смотрим запросы отчётов и всего остального, т.к. 80% тормозов это кривые запросы.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36526872
rmka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотелось бы свести все основополагающие рекомендации вместе.
1. 10 дисков делим на 5 зеркал
2. 1-е зеркало - данные используемые для оперативных действий
2-е зеркало - лог транзакций
3-е зеркало - tempdb
4-е зеркало - индексы
5-е зеркало - данные используемые для отчётов
3. tempdb = 20-30% от размера БД
4. Именованный кэш для tempdb надо подбирать ~ 500М
5. Именованный кэш для для лога транзакций надо подбирать ~ 50М
6. Именованный кэш для для постоянно используемых нагруженных таблиц... не всегда помогает
7. Настройка пулов. если строница 2К, то для default кэш соотношение пулов 2к/16к примерно 1/3 (1/4) (подбирать по sysmon).
8. Настройка пулов. если строница 2К, то для tempdb кэш соотношение пулов 2к/16к примерно 1/2 (1/3) (подбирать по sysmon).
9. После этого смотрим запросы отчётов и всего остального, т.к. 80% тормозов это кривые запросы.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36527450
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komradВикторрр
По поводу dbo use only. Так?

USE master
go
EXEC sp_dboption 'orenburg','single user',true
go
USE orenburg
go
CHECKPOINT
go

опция так и называется - "dbo use only"
а в этом скрипте база переводится в однопользовательский режим; и не факт что этот скрипт успеет зайти в базу первым ;)


А как подстраховаться и зайти первым, или если так случилось, что этим первым оказался не я, то можно ли увидеть и убить чужое подключение?

komrad
сегмент необходимо расширять есть он не присутствует на нужном девайсе, если присутствует, то не нужно


Сегмент на девайсе присутствет, но свободное место помечено как -- unused by any segments --. В какой момент сегмент САМ расширится и это место начнет использоваться? Или же оно просто останется на всегда не используемым?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36527469
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad
не особо ему доверяю
спокойнее самому написать скрипт и знать что когда и зачем делаешь


А как в нем посмотреть скрипт, который он будет выполнять при нажатии на ОК?
Вчера вечером привязывал таблицу к именованному кешу в централе, дык пока нашел в этом НЕ СОРТИРОВАННОМ списке нужные, все глаза сломал. Может их как-то отсортировать можно?

komrad
артизан - хорошо; официально купленный - очень хорошо
командная строка - вещь незаменимая особенно в некоторых случаях

Артизан куплен и тех поддержка есть, НО начиная с версии 8.7 он не может подключиться к нашему серверу, вылетает с сообщением несовпадение типов данных. 8.6.4 может, а 8.7.1 не может, вроде вышел 8.7.2, но его еще не пробовал. Техподдержка разводит руками. :(
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36527521
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komradВикторррФайлик не прикрепился. Вот.

used_pages в logsegment показывается отрицательным
способы лечения:

http://dbaspot.com/forums/sybase/240497-syslogs-dbcc-question.htmlThere are a handful of possible fixes with each one known to sometimes not work:

a - single user mode + dbcc tablealloc(syslogs,full,fix) [did OP put db in single user mode? would help if we were provided with complete command invocation and output from running tablealloc]

b - single user mode + dbcc dbrepair(, 'fixlogfreespace') [in 12.5.1 through 12.5.2 IR this could also reset data space numbers; fixed in 12.5.2 ESD #1]

c - start up dataserver with -T7408 to force log space usage recalculations at boot up

d - dbcc usedextents(,0,1,1) (plus possible need for shutdown with nowait if no noticeable improvement)

Попробовал каждый из способов, начиная с "d", который результата не дал. Затем "с", сервер стартует, но значение также отрицательное. "b" даже не пробовал, т.к. у нас как раз 12.5.1. Помог способ "а", к которому я пришел в последнюю очередь. :) Были вопросы с переводом базы в сингл мод, но после того как перевел, команда dbcc tablealloc(syslogs,full,fix) отработала и значение поправилось. Лог:
TABLE: syslogs OBJID = 8
INDID=0 FIRST=89629521 ROOT=89629521 SORT=0
Syslogs free space count has been successfully recalculated. It has been corrected to 4079999 pages.
Data level: 0. 1 Data pages allocated and 1 Extents allocated.
TOTAL # of extents = 1
Alloc page 89629440 (# of extent=1 used pages=7 ref pages=1)
Total (# of extent=1 used pages=7 ref pages=1) in this database
DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role.

Похоже, что починилось, осталось только понять как заполнить пустое место и можно пробовать на основной базе.

Ночью на эту базу залился дамп и все опять вернулось обратно, причем файл OrenLog3 превратился в девайс с сегментом system и data. По уже известной процедуре в централе перенес сегменты, перевел базу в сингл мод, выполнил dbcc tablealloc(syslogs,full,fix), все починилось, т.е. рецепт повторим. Спасибо.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36527524
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad,

Опять ушло без файла. :(
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36527545
SAV4SAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
А как в нем посмотреть скрипт, который он будет выполнять при нажатии на ОК?

В централе, на активном сервере, правой кнопкой мыши -> Log sql statement.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36527548
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rmkaХотелось бы свести все основополагающие рекомендации вместе.
1. 10 дисков делим на 5 зеркал
2. 1-е зеркало - данные используемые для оперативных действий
2-е зеркало - лог транзакций
3-е зеркало - tempdb
4-е зеркало - индексы
5-е зеркало - данные используемые для отчётов
3. tempdb = 20-30% от размера БД
4. Именованный кэш для tempdb надо подбирать ~ 500М
5. Именованный кэш для для лога транзакций надо подбирать ~ 50М
6. Именованный кэш для для постоянно используемых нагруженных таблиц... не всегда помогает
7. Настройка пулов. если строница 2К, то для default кэш соотношение пулов 2к/16к примерно 1/3 (1/4) (подбирать по sysmon).
8. Настройка пулов. если строница 2К, то для tempdb кэш соотношение пулов 2к/16к примерно 1/2 (1/3) (подбирать по sysmon).
9. После этого смотрим запросы отчётов и всего остального, т.к. 80% тормозов это кривые запросы.

п. 1-2. А рейд 10 уровня не более эффективно использовать? Ведь он позволяет размазать данные по всем дискам и тем самым повысить количество iops?
п. 5. Этого еще не сделал, вопрос как? Ведь именованный кеш можно (в централе) связать с базой данных, таблицей и индексом. А с логом как?
п. 6. Вчера прописал, но уже вижу, что кеши пустые. Может быть дело в стратегии кеша? У меня везде strict LRU replacement. Какая стратегия должна быть на default cache, на temp db, на кэше для для лога транзакций и кеше для таблиц (ведь в нем данные должны накапливаться)???
п. 7-8. Т.е. 16 к пулы должны быть в 2-3 раза больше чем 2к???
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36527557
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rmka,

Еще в догонку, а размер лога для для рабочей базы (и темп бд) в каком соотношении должны быть с самой базой?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36527593
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторррkomrad
не особо ему доверяю
спокойнее самому написать скрипт и знать что когда и зачем делаешь


А как в нем посмотреть скрипт, который он будет выполнять при нажатии на ОК?
Вчера вечером привязывал таблицу к именованному кешу в централе, дык пока нашел в этом НЕ СОРТИРОВАННОМ списке нужные, все глаза сломал. Может их как-то отсортировать можно?


когда надоест "кушать" приколы централи , обрати внимание на скрипты
в большинстве случаев всё можно быстрее и эффективнее сделать скриптом

для данного случая есть процедура sp_bindcache


komrad
артизан - хорошо; официально купленный - очень хорошо
командная строка - вещь незаменимая особенно в некоторых случаях
Техподдержка разводит руками. :([/quot]
забавно ;)
им вроде не за "развод" деньги платят ;)
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36527613
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
Похоже, что починилось, осталось только понять как заполнить пустое место и можно пробовать на основной базе.

какое пустое место?
покажи

use DB
go
sp_helpdb DB
go



Викторрр
Ночью на эту базу залился дамп и все опять вернулось обратно, причем файл OrenLog3 превратился в девайс с сегментом system и data. По уже известной процедуре в централе перенес сегменты, перевел базу в сингл мод, выполнил dbcc tablealloc(syslogs,full,fix), все починилось, т.е. рецепт повторим. Спасибо.
рецепт лучше иметь ввиде скриптов, а не действий в централи
например для удаления сегмента логов с девайсов нужно воспользоваться sp_dropsegment

Код: plaintext
1.
exec sp_dropsegment logsegment, orenburg, OrenDat1
exec sp_dropsegment logsegment, orenburg, OrenDat2
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36527671
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komradВикторрр
Похоже, что починилось, осталось только понять как заполнить пустое место и можно пробовать на основной базе.

какое пустое место?
покажи

use DB
go
sp_helpdb DB
go


Вот.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36527780
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
Вот.

Код: plaintext
1.
dbcc checkcatalog (orenburg)
select * from master..sysusages where dbid= 4 
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36527949
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad
Код: plaintext
1.
dbcc checkcatalog (orenburg)
select * from master..sysusages where dbid= 4 


Number (2550) Severity (16) State (1) Missing segment in sysusages segmap.
Number (2550) Severity (16) State (1) Missing segment in sysusages segmap.
Number (2550) Severity (16) State (1) Missing segment in sysusages segmap.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36528022
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр,

Код: plaintext
1.
2.
3.
4.
5.
exec sp_extendsegment 'default', orenburg, OrenDat1
exec sp_extendsegment system, orenburg, OrenDat1

exec sp_extendsegment 'default', orenburg, OrenDat2
exec sp_extendsegment system, orenburg, OrenDat2
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36528168
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komradВикторрр,

Код: plaintext
1.
2.
3.
4.
5.
exec sp_extendsegment 'default', orenburg, OrenDat1
exec sp_extendsegment system, orenburg, OrenDat1

exec sp_extendsegment 'default', orenburg, OrenDat2
exec sp_extendsegment system, orenburg, OrenDat2


ПОЛУЧИЛОСЬ!!!
Сегменты добавились на девайсы и более того два 'default' сегмента склеились в один. Теперь на девайсе один 'default' сегмент и один 'system' сегмент. Все стало совсем красиво.
Теперь, чтобы окончательно убедиться, что все нормально и это рабочий вариант, запускаю checkdatabase? Или нужно чем-то еще проверить?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36528196
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
ПОЛУЧИЛОСЬ!!!
Сегменты добавились на девайсы и более того два 'default' сегмента склеились в один. Теперь на девайсе один 'default' сегмент и один 'system' сегмент. Все стало совсем красиво.
Теперь, чтобы окончательно убедиться, что все нормально и это рабочий вариант, запускаю checkdatabase? Или нужно чем-то еще проверить?

ага, запускай
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36528324
Немного оффтоп, но...
Почему топикстартер не думает о переходе на sybase 15? Ведь скоро выходит диас 7.2, там заявлена поддержка только ase 15 и mssql 2005 . 5нт 6.8 (или какая у вас там версия) жить осталось до сентября что ли, потом снятие с сопровождения... (по заявлениям диаса)
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36528393
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad,

На будущее... Все это произошло из-за того, что вместо нескольких не больших файлов данных и лога были созданы большой файл данных и большой файл лога, причем файл данных был на столько большой, что вместил в себя данные из всех старых файлов данных и еще и лог в себя поместил?
Допустим была база 10 Гб данные и 1 Гб лог, добавили еще 10 Гб под данные и 1 Гб под лог, потом еще 10 Гб под данные и 1 Гб под лог, итого 30+3 Гб из 6 файлов. Как теперь правильно объединить 3 файла данных по 10 Гб в один 30 Гб и 3 файла лога по 1 Гб в один 3 Гб? Полагаю проделанный сейчас фокус с переносом лог сегмента в отдельный файл и замещением высвободившегося места дефаулт сегментом не самый правильный способ?!? Или при добавлении девайсов в базу есть какой-то секрет?
Также остался открытым вопрос о размере самого файла девайса. Максимальный размер для 12.5 - 32 Гб, но как лучше в плане быстродействия СУБД, 1 файл 32 Гб или 4 файла по 8 Гб? У меня такой чувство, что лучше 4 по 8, т.к. файл 32 гб в фаре на нашем сервере копируется за 17 мин, а 15 Гб в тоже место - 3 мин, а не 7-8 мин , как следовало бы предположить исходя из первого примера.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36528442
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
почему не 15?Немного оффтоп, но...
Почему топикстартер не думает о переходе на sybase 15? Ведь скоро выходит диас 7.2, там заявлена поддержка только ase 15 и mssql 2005 . 5нт 6.8 (или какая у вас там версия) жить осталось до сентября что ли, потом снятие с сопровождения... (по заявлениям диаса)

Мы филиал, голова в Москве. А голове, как известно, всегда виднее как нам, да и ей, будет лучше. Т.к. вариант перехода на 15 даже не обсуждается, думаю, для нас просто продлят поддержку 6.8 и все. Максимум, на что мы можем перейти это 12.5.4, но для этого должны быть веские причины. Кроме кроссплатформенного дампа, есть еще явные плюсы и аргументы?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36528557
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Первая статистика по 3 самым читаемым таблицам, которые вчера добавил в именованные кеши:
За 3 суток работы (без именованных кешей):
физ. чтен физ. запис.
tDealTransact 0 818801 13175
tOperPart 0 794684 12058
tProtocol 0 631228 5117

За 12 часов работы сегодня (с именованными кешами):
tOperPart 0 1711869 2921
tProtocol 0 1211225 1643
tDealTransact 0 290197 2692

Субъективно, чувствуется общее замедление системы. Объективно, за полдня работы сегодня с кешами, чтений проведено больше, чем за 3 суток без кешей. Вчера в кеши, на всякий случай, добавил 16 К пулы, но вижу, что они не используются вообще. Их уберу. Почему вместо ускорения, получил замедление и массовое чтение? Может все же дело в cache replacement policy?

[Named Cache:default data cache]
cache size = 2375680.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:tDealTransact]
cache size = 307200.0K
cache status = mixed cache
cache replacement policy = DEFAULT
local cache partition number = DEFAULT

[16K I/O Buffer Pool]
pool size = 51200.0000K
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

[16K I/O Buffer Pool]
pool size = 87040.0000K
wash size = 20480 K
local async prefetch limit = DEFAULT

[Named Cache:tOperPart]
cache size = 256000.0K
cache status = mixed cache
cache replacement policy = DEFAULT
local cache partition number = DEFAULT

[16K I/O Buffer Pool]
pool size = 16384.0000K
wash size = DEFAULT
local async prefetch limit = DEFAULT

[Named Cache:tProtocol]
cache size = 204800.0K
cache status = mixed cache
cache replacement policy = DEFAULT
local cache partition number = DEFAULT

[16K I/O Buffer Pool]
pool size = 51200.0000K
wash size = DEFAULT
local async prefetch limit = DEFAULT
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36528666
Викторррпочему не 15?Немного оффтоп, но...
Почему топикстартер не думает о переходе на sybase 15? Ведь скоро выходит диас 7.2, там заявлена поддержка только ase 15 и mssql 2005 . 5нт 6.8 (или какая у вас там версия) жить осталось до сентября что ли, потом снятие с сопровождения... (по заявлениям диаса)

Мы филиал, голова в Москве. А голове, как известно, всегда виднее как нам, да и ей, будет лучше. Т.к. вариант перехода на 15 даже не обсуждается, думаю, для нас просто продлят поддержку 6.8 и все. Максимум, на что мы можем перейти это 12.5.4, но для этого должны быть веские причины. Кроме кроссплатформенного дампа, есть еще явные плюсы и аргументы?
Сорри, с ase это не к нам, мы на mssql 2005 сидим, поэтому насчет ase ничего посоветовать не могу, просто диасофт 5нт заинтересовал. Так что технически - аргументов 0, по бизнесу аргумент один - 7.2 и поддержка, сопровождение и новый функционал, это решает. Впрочем это уже обсуждение для bankir.ru
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36528821
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
Субъективно, чувствуется общее замедление системы. Объективно, за полдня работы сегодня с кешами, чтений проведено больше, чем за 3 суток без кешей. Вчера в кеши, на всякий случай, добавил 16 К пулы, но вижу, что они не используются вообще. Их уберу. Почему вместо ускорения, получил замедление и массовое чтение? Может все же дело в cache replacement policy?

большой пул может использоваться dbcc-операциями + при перестройке индексов

про субъективные ощущения и замедление - сисмон в помощь, запускайте раз в час на 10-15 минут в течение дня (весь вывод переправить в один файл!). Результат сюда - посмотрим вместе.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36529011
rmka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВикторррrmkaХотелось бы свести все основополагающие рекомендации вместе.
1. 10 дисков делим на 5 зеркал
2. 1-е зеркало - данные используемые для оперативных действий
2-е зеркало - лог транзакций
3-е зеркало - tempdb
4-е зеркало - индексы
5-е зеркало - данные используемые для отчётов
3. tempdb = 20-30% от размера БД
4. Именованный кэш для tempdb надо подбирать ~ 500М
5. Именованный кэш для для лога транзакций надо подбирать ~ 50М
6. Именованный кэш для для постоянно используемых нагруженных таблиц... не всегда помогает
7. Настройка пулов. если строница 2К, то для default кэш соотношение пулов 2к/16к примерно 1/3 (1/4) (подбирать по sysmon).
8. Настройка пулов. если строница 2К, то для tempdb кэш соотношение пулов 2к/16к примерно 1/2 (1/3) (подбирать по sysmon).
9. После этого смотрим запросы отчётов и всего остального, т.к. 80% тормозов это кривые запросы.

п. 1-2. А рейд 10 уровня не более эффективно использовать? Ведь он позволяет размазать данные по всем дискам и тем самым повысить количество iops?
п. 5. Этого еще не сделал, вопрос как? Ведь именованный кеш можно (в централе) связать с базой данных, таблицей и индексом. А с логом как?
п. 6. Вчера прописал, но уже вижу, что кеши пустые. Может быть дело в стратегии кеша? У меня везде strict LRU replacement. Какая стратегия должна быть на default cache, на temp db, на кэше для для лога транзакций и кеше для таблиц (ведь в нем данные должны накапливаться)???
п. 7-8. Т.е. 16 к пулы должны быть в 2-3 раза больше чем 2к???

>п. 1-2. А рейд 10 уровня не более эффективно использовать? Ведь он позволяет размазать данные по всем дискам и тем самым повысить количество iops?
Не эфективно. Есть опыт 5 рэйда, тормоза с БД на 100Гб в 2 раза больше чем на 3-х отдельных дисках. На рэйд размазывается всё вместе и лог транзакций и данные и темпдб и в случае рэйда паралелизм сильно страдает. К примеру при большом количестве запросов для связки таблиц используются индексы, и данные не нужны, а данные нужны только конечного результата. Теперь посмотрим как будет выполняться такой запрос с точки зрения использования дисковой подсистемы. Индексы считаются с зеркала индексов (паралельно 2X), темпдб запись темповых таблиц со скорость 1X, считывание 2X, далее запись в лог (нет записи если это селект, и 1X если апдейт), считывание данных с оперативного сегмента данных 2X, считывание данных с неоперативного сегментаданных 2X. Фактически паралельно делается почти всё, что рэйд никак не обеспечит, т.к. у него и данные и индексы и лог, частично лежать на одном и томже диске, это это уже самое узкое место.
2. Рэйд не безопасно, как бы его не хвалили. Отказывает контроллер рэйда. всё смерть на месте, рэйд уже не соберёшь ни при каких условиях, а если ещё хотябы и один из дисков...


3. п. 5. можно связать с логом. Немного погорячился с размером кэша для лога.

EXEC sp_cacheconfig bcsc_log, "7M", "logonly"
/*Чтобы зарезервировать кэш для обслуживания только журнала
транзакций, измените тип кэша на “logonly”. В следующем примере
создается кэш bcsc_log, имеющий тип “logonly”:*/
EXEC sp_poolconfig bcsc_log, "3M", "32K"

цитата и sybase
"Создайте именованный кэш для журналов часто используемых баз
данных. Сконфигурируйте пулы в этом кэше в соответствии с разме-
ром буфера ввода-вывода журнала, установленным процедурой
sp_logiosize."

3. Стратегию кэша в большинстве случаем оставляют по умолчанию.
> что кеши пустые
в sp_sysmon смотришь процент использования кэша, хороший результат больше 96-100%
4.
>16 к пулы должны быть в 2-3 раза больше чем 2к???
Да, но зависит от преобладающих запросов, в основном данные выбираются большими блоками, соотношение опять же смотриться по sp_sysmon.
5
>а размер лога для для рабочей базы
Размер лога зависит от длительности транзакций, их количестве и стратегии согдания бэкапа лога транзакций. В нагруженных базах с с требованием минимального времени простоя бэкап лога транзакций может делаться каждые 15 мин, следовательно иметь большой лог не целесообразно, однако надо смотреть на длительность транзакций и как быстро заполняется лог.
для темпдб лог не имеет большого смысла т.к. на то он и тэмп дб чтобы хранить темповую инфу, а важные опрерации логируются в основном логе.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36529061
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторррkomrad,

На будущее... Все это произошло из-за того, что вместо нескольких не больших файлов данных и лога были созданы большой файл данных и большой файл лога, причем файл данных был на столько большой, что вместил в себя данные из всех старых файлов данных и еще и лог в себя поместил?

нет, всё произошло из-за того, что пустую базу создали под размер исходной, но не такими же кусками, что и исходная
в артизане есть функция генерирования структуры базы (create datase скрипт)
чтобы сегменты ложились на правильные девайсы базу нужно создавать (пусть и на бОльших девайсах) кусками, которыми создавалась/расширялась исходная база
когда отправляете базу в Диасофт они обычно запрашивают и скрипт на её создание

Викторрр
Допустим была база 10 Гб данные и 1 Гб лог, добавили еще 10 Гб под данные и 1 Гб под лог, потом еще 10 Гб под данные и 1 Гб под лог, итого 30+3 Гб из 6 файлов. Как теперь правильно объединить 3 файла данных по 10 Гб в один 30 Гб и 3 файла лога по 1 Гб в один 3 Гб?


пример:
имеем один девайс D1 размером 30ГБ и один девайс L1 размером 3ГБ
тогда исходя из поставленной задачи правильный скрипт создания БД будет такой:
Код: plaintext
1.
2.
3.
create database DB2 on D1=10G log on L1=1G for load
alter database DB2 on D1=10G log on L1=1G for load
alter database DB2 on D1=10G log on L1=1G for load
база станет нужного размера и будет готова к заливке дампа


Викторрр
Полагаю проделанный сейчас фокус с переносом лог сегмента в отдельный файл и замещением высвободившегося места дефаулт сегментом не самый правильный способ?!? Или при добавлении девайсов в базу есть какой-то секрет?

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


Викторрр
Также остался открытым вопрос о размере самого файла девайса. Максимальный размер для 12.5 - 32 Гб, но как лучше в плане быстродействия СУБД, 1 файл 32 Гб или 4 файла по 8 Гб? У меня такой чувство, что лучше 4 по 8, т.к. файл 32 гб в фаре на нашем сервере копируется за 17 мин, а 15 Гб в тоже место - 3 мин, а не 7-8 мин , как следовало бы предположить исходя из первого примера.
имхо, копирование тут ни причем; "мелкие" файлы проще раскидывать по дискам...
вопрос скорее в том, как виндовс управляется с большими файлами и фрагментированность их на диске
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36529080
rmka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Жаль что Винда стоит, можно было бы сделать виртуальный диск в памяти (15.5 уже умеет так делать) и положить на него темпдб, и тогда просто летать будет.
ещё можно SSD диски отдельно поставить и хранить на них сильно загруженные на селекты таблицы.
ещё можно разбивать таблицы на партишены и хранить их на разных дисках для паралельного чтения.
Но, всёравно считаю, что большинство тормозов из-за неадекватных запросов, неграмотного использования индексов и триггеров.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36529325
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще про именованные кеши. Если к таблице привязан именованный кеш, то она хранится только в нем, и в дефолтный кеш она уже не попадет при заполнении именного? Или нет? Если создать очень маленький именной кеш для таблицы (512 кб например), то в плане производительности, стат хуже (т.к. дефолтный кеш уже не используется) или это никак не повлияет на производительность (т.к. при заполнеии именного кеша начинает использоваться дефолтный)???
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36529493
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Викторрр,

на то он и именнованный, чтоб в нем хранились только те обьекты которые к ниму прибиндены!
Все что не прибинденно к другим кэшам храниться в дефолтном кэше!
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36530024
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cherrex_DenВикторрр,

на то он и именнованный, чтоб в нем хранились только те обьекты которые к ниму прибиндены!
Все что не прибинденно к другим кэшам храниться в дефолтном кэше!

Это понятно. Вопрос как раз наоборот, когда заполнился именованный кеш данными из привязанной к нему таблице и нужно еще памяти, дальше для хранения данных этой таблицы будет использоваться дефолтный кеш на общих условиях или нет и начнутся тормоза?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36530034
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Викторрр,

НЕТ!!! если обьект прибинден к кэшу, то его данные(страницы), живут только в этом кэше, и дефолтный здесь не причем. Тормазов не будет, просто более старые страницы(зависит от стратегии кэша) вытеснуться из кэша, а вот если эти страницы понадобяться еше раз, то сервер их прочитает с диска, естественно это медленее чем из памяти.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36530219
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad,

Собрал выжимки последних 3х страниц в одно письмо. Ночью на резервном сервере дамп опять залился и все приведенное попробовал еще раз. Делал все только командами, без Sybase Centala и после удаления лог сегмента командами used_pages в logsegment не стал отрицательным!!! И все дальнейшие шаги по починке лог я уже не делал!

exec sp_helpsegment logsegment
total_size total_pages free_pages used_pages reserved_pages
8000.0MB 4096000 3161999 934001 0

Идейным вдохновителем ниже приведенной технологии является уважаемый komrad, за что ему огромное спасибо. Опробовано на себе.

Разделение перепутанных сегментов по девайсам с данными и логом

1. Выявляем проблему (база orenburg)
use orenburg
go
sp_helpdb orenburg
go

OrenDat1 default
OrenDat1 logsegment
OrenDat1 system
OrenDat2 default
OrenDat2 logsegment
OrenDat2 system

OrenLog1 default
OrenLog1 system

На девайсах с данными OrenDat1, OrenDat2 помимо default и system сегментов находится logsegment, а на девайсах с логами OrenLog1 вместо logsegment находятся сегменты default и system.

2. Создаем новый девайс OrenLog3 на диске, который предназначен для лога с необходимым размером.

USE master
go
DISK INIT
NAME='OrenLog3',
PHYSNAME='w:\OrenLog3.dat',
VDEVNO=21,
SIZE='8000M',
VSTART=0,
CNTRLTYPE=0,
DSYNC=FALSE
go

3. Добавить его в базу и расположить на нем только лог

USE master
go
ALTER DATABASE orenburg
ON OrenLog3='8000M'
WITH OVERRIDE
Go

4. Переводим базу в режим 'dbo use only'

USE master
go
EXEC sp_dboption 'orenburg','dbo use only',true
go
USE orenburg
go
CHECKPOINT
go

5. Удалить лог-сегмент с девайсов OrenDat1 и OrenDat2

use orenburg
go
exec sp_dropsegment logsegment, orenburg, OrenDat1
go
exec sp_dropsegment logsegment, orenburg, OrenDat2
go

6. Проверяем результат

use orenburg
go
sp_helpdb orenburg
go

OrenDat1 -- unused by any segments --
OrenDat1 default
OrenDat1 system
OrenDat2 -- unused by any segments --
OrenDat2 default
OrenDat2 system

OrenLog1 default
OrenLog1 system
OrenLog3 logsegment

Смотрим на состояние сегментов БД:

use orenburg
go
exec sp_helpsegment logsegment
exec sp_helpsegment system
exec sp_helpsegment 'default'
go

В случае если used_pages в logsegment показывается отрицательным, выполняем:

a. Переводим базу в ‘single user mode’
USE master
go
EXEC sp_dboption 'orenburg','single user',true
go
USE orenburg
go
CHECKPOINT
go
b. Выполняем dbcc tablealloc(syslogs,full,fix)
use orenburg
go
dbcc tablealloc(syslogs,full,fix)
go
c. Проверяем результат, смотрим used_pages в
exec sp_helpsegment logsegment
d. Переводим базу в многопользовательский режим
USE master
go
EXEC sp_dboption 'orenburg','single user',false
go
USE orenburg
go
CHECKPOINT
go

7. Расширяем 'default' и system сегмент на девайсах OrenDat1 и OrenDat2

use orenburg
go

exec sp_extendsegment 'default', orenburg, OrenDat1
exec sp_extendsegment system, orenburg, OrenDat1

exec sp_extendsegment 'default', orenburg, OrenDat2
exec sp_extendsegment system, orenburg, OrenDat2

8. Проверяем результат

use orenburg
go
sp_helpdb orenburg
go

OrenDat1 default
OrenDat1 system
OrenDat2 default
OrenDat2 system

OrenLog3 logsegment

9. Перенести девайс OrenLog1 на диск с девайсами под данные (шатдаун сервера, старт в режиме recover only master, правка таблицы sysdevices - имя диска для OrenLog1, останов сервера, перенос девайса на новый диск, старт сервера в нормальном режиме). Кстати, тут же можно поменять название файла и девайса - чтоб глаз не мозолило.

10. Переводим базу в рабочий режим

USE master
go
EXEC sp_dboption 'orenburg','dbo use only',false
go
USE orenburg
go
CHECKPOINT
go

11. Запускаем процедуру проверки целостности БД

USE orenburg
go
DBCC CHECKDB('orenburg')
go

Таким образом освободится место на OrenDat1 и OrenDat2 под данные и логи будут на своем собственном диске и девайсе.
-------------------

Что скажет многоуважаемое сообщество, может еще что-то нужно добавить?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36530247
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр

3. Добавить его в базу и расположить на нем только лог

USE master
go
ALTER DATABASE orenburg
ON OrenLog3='8000M'
WITH OVERRIDE
Go


Что скажет многоуважаемое сообщество, может еще что-то нужно добавить?

with override расположит на новом девайсе все сегменты
чтобы положить туда только logsegment команда должна выглядеть так:
Код: plaintext
1.
2.
3.
4.
5.
USE master
go
ALTER DATABASE orenburg
   LOG ON OrenLog3='8000M'
Go
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36530682
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad
про субъективные ощущения и замедление - сисмон в помощь, запускайте раз в час на 10-15 минут в течение дня (весь вывод переправить в один файл!). Результат сюда - посмотрим вместе.

Викторрр,
сисмон собрал? присылай - прогоню его через анализатор.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36530867
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Викторрр

Ночью на резервном сервере дамп опять залился и все приведенное попробовал еще раз. Делал все только командами, без Sybase Centala и после удаления лог сегмента командами used_pages в logsegment не стал отрицательным!!! И все дальнейшие шаги по починке лог я уже не делал!

exec sp_helpsegment logsegment
total_size total_pages free_pages used_pages reserved_pages
8000.0MB 4096000 3161999 934001 0


На всякий случай все же запустил dbcc tablealloc(syslogs,full,fix), он отработал и выдал
Syslogs free space count has been successfully recalculated. It has been corrected to 4079999 pages.
вместо 3161999. Похоже dbcc tablealloc(syslogs,full,fix) нужно выполнить в любом случае. Если ее выполнить на нормальной базе, хуже ей от этого не станет?

***************************************************************
TABLE: syslogs OBJID = 8
INDID=0 FIRST=89600182 ROOT=89600182 SORT=0
Syslogs free space count has been successfully recalculated. It has been corrected to 4079999 pages.
Data level: 0. 1 Data pages allocated and 1 Extents allocated.
TOTAL # of extents = 1
Alloc page 89600000 (# of extent=1 used pages=2 ref pages=1)
Total (# of extent=1 used pages=2 ref pages=1) in this database
DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36530881
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komradkomrad
про субъективные ощущения и замедление - сисмон в помощь, запускайте раз в час на 10-15 минут в течение дня (весь вывод переправить в один файл!). Результат сюда - посмотрим вместе.

Викторрр,
сисмон собрал? присылай - прогоню его через анализатор.

В понедельник, т.к. сейчас тормозит из-за больших именных кешей. Я завтра выйду, перенастрою кеши, разделю сегменты по девайсам и настрою дампирование транзакционного лога. В понедельник тогда соберу статистику и пришлю.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36531134
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр

На всякий случай все же запустил dbcc tablealloc(syslogs,full,fix), он отработал и выдал
Syslogs free space count has been successfully recalculated. It has been corrected to 4079999 pages.
вместо 3161999. Похоже dbcc tablealloc(syslogs,full,fix) нужно выполнить в любом случае. Если ее выполнить на нормальной базе, хуже ей от этого не станет?


ну он их просто пересчитал заново
имхо, проблем нет
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36531140
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторррkomradkomrad
про субъективные ощущения и замедление - сисмон в помощь, запускайте раз в час на 10-15 минут в течение дня (весь вывод переправить в один файл!). Результат сюда - посмотрим вместе.

Викторрр,
сисмон собрал? присылай - прогоню его через анализатор.

В понедельник, т.к. сейчас тормозит из-за больших именных кешей. Я завтра выйду, перенастрою кеши, разделю сегменты по девайсам и настрою дампирование транзакционного лога. В понедельник тогда соберу статистику и пришлю.

ок
рано начал с кэшами возиться
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36532226
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komradВикторрр

На всякий случай все же запустил dbcc tablealloc(syslogs,full,fix), он отработал и выдал
Syslogs free space count has been successfully recalculated. It has been corrected to 4079999 pages.
вместо 3161999. Похоже dbcc tablealloc(syslogs,full,fix) нужно выполнить в любом случае. Если ее выполнить на нормальной базе, хуже ей от этого не станет?


ну он их просто пересчитал заново
имхо, проблем нет

Сделал все скриптами на основном сервере, но used_pages отрицательный. Пересчитал с помощью dbcc tablealloc(syslogs,full,fix). Вроде все стало нормально.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36543883
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выдалась очень жаркая неделя.
В субботу, после того, как закончил с плановыми работами, запустил и оставил работать 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 работал нормально.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36544542
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр,

"оптимизировать работу системного кеша" - вот это неверный выбор - это для файлового сервера

Еще бы посмотреть на выделение памяти и виртуальной в этот момент (когда ОС отбирает у процесса) для процессов БД - см.рис
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36544560
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysinternals CacheSet

вот интересная статья

Прямо детектив уже вырос
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36545017
iLLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тормоза легко могут быть, когда винда по своему усмотрению начинает двигать страницы из ОЗУ на диск. Т.е. как такового отбирания памяти у сабейза и не будет. Нет, никто ничего не отбирает. Просто сабейз работает со своим кэшем в 3(3.3,3.5,3.8...) гига, считая что он в памяти. Но этот кэш винда держит на диске. Вот и усе. Поглядите своп-файл. По-хорошему на сервере он должен быть минимален. У СУБД свои механизмы кэширования данных и управления памятью.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36545350
iLLer,

Странно, что никто не задумался на таким сопособом решения:

У меня, например, на машине, на которой есть 4 гига памяти своп вообще ортключён в принципе - стоит 0.

У Вас на машине 16 Гиг.

Зачем Вам своп в принципе нужен на этой машине?

Кстати lock shared memory для винды не работает. Винда всёравно сделает так как ей хочется, если вдруг чего-то там случится - например копирование больших файлов.
Так зачем же себе создавать проблему, в виде включённого свопа, чтобы потом искать пути как с ней бороться?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36545514
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВикторррПочему изменив housekeeper free write percent с 1 до 95 кеш начал заполняться, ведь должно быть на оборот, мусорщик должен еще быстрее скидывать грязные страницы на диск и очищать кеш, но получилось, что кеш наоборот заполнился, НО как и написано в описании к этому параметру, получил падение производительности

Читайте что такое кэши в ASE! Он не может очиститься, без вашего вмешательства, и сброс грязных страниц, это не вытеснение из кэша!

Помимо тюнинга сервера проверьте планы запросов, которые по вашему мнению тормозят! Особенно с "set statistic io on"

"lock shared memory" - только для unix/linux. У процесса врятли кто-то может отнять память, ASE это не MS SQL, вот он может делиться памятью с виндой. Так что проверяйте своп, как вам писали выше, я тоже склоняюсь что причина в этом.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36545551
iLLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cherrex_Den"lock shared memory" - только для unix/linux.
Кстати, под виндами есть такая привелегия пользователя, как "Lock pages in memory". Использовал когда-то для АСА, но насколько понимаю, она работает для любых процессов, способных этим воспользоваться. Тут расписано для АСА, возможно для АСЕ это делается как-то аналогично.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36549648
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Siemargl sysinternals CacheSet

вот интересная статья

Прямо детектив уже вырос

Параметр, использование памяти, поменял на "оптимизировать работу программ" на прошлой неделе, но результата это не принесло.

Утилиту cacheset.exe запустил, она показала, что максимальный размер кеша 15,5 Гб. Попробовал уменьшить до 10 Гб, но вместо установленного мной значения устанавливается какое-то другое значение. Логики пока не понял. Как работает эта утилитка? Экран при ее первоначальном запуске:
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36549681
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SiemarglВикторрр,

"оптимизировать работу системного кеша" - вот это неверный выбор - это для файлового сервера

Еще бы посмотреть на выделение памяти и виртуальной в этот момент (когда ОС отбирает у процесса) для процессов БД - см.рис

В пятницу вечером служба занимала 4,1 Гб. В субботу утром уже 2,7 Гб. По совету участников форума в субботу в отключил своп и перезагрузил сервер, служба стала 4,1 Гб, воскресенье и понедельник держалась, как и положено, на уровне 4,1 Гб. НО сегодня утром опять стала 3,2 Гб. Картинку с полем "виртуальная память" прилагаю. Основываясь на собранной статистике за 3 недели, предполагаю, что после перезагрузке сайбейс действительно захватывает всю определенную ему память и держит ее, хотя кеши реально пустые. После начала работы кеши заполняются и все быстро работает, но в первую же ночь (когда наступает простой в работе) сайбейс очищает кеши и утром все начинает тормозить. Со временем кеши начинают опять заполняться, все начинает шевелиться и в течении дня нормально работает, но к вечеру, кеши опять очищаются и все опять начинает тормозить. Что заставляет очищаться кеш? Можно ли запретить его очистку? Сейчас размер службы опять дорос до 3,8 Гб и остановился. Полагаю, что дальше он не растет до 4,1 Гб, т.к. выделен именованный кеш 300 Мб под TempDb и т.к. он сейчас пустой, то служба дальше и не растет.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36549688
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iLLerТормоза легко могут быть, когда винда по своему усмотрению начинает двигать страницы из ОЗУ на диск. Т.е. как такового отбирания памяти у сабейза и не будет. Нет, никто ничего не отбирает. Просто сабейз работает со своим кэшем в 3(3.3,3.5,3.8...) гига, считая что он в памяти. Но этот кэш винда держит на диске. Вот и усе. Поглядите своп-файл. По-хорошему на сервере он должен быть минимален. У СУБД свои механизмы кэширования данных и управления памятью.

Смотрел perfmon'om, но своп не используется. Кроме того, если бы виндовс передвинул кеш на диск, то сайбейс этого и не заметил бы, так же остался 4,1 Гб в памяти, только начал бы сильно тормозить, но у меня именно служба начинает использовать меньше памяти... В субботу вообще отключил своп на всех дисках, но это не помогло.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36549698
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cherrex_Den
Читайте что такое кэши в ASE! Он не может очиститься, без вашего вмешательства,

А как я могу повлиять на очистку кеша?

cherrex_Den
и сброс грязных страниц, это не вытеснение из кэша!

housekeeper free write percent вернул обратно на 1 процент. Т.е. гразные страницы, после сброса на диск и становясь чистыми, по прежнему остаются в памяти.

cherrex_Den
"lock shared memory" - только для unix/linux. У процесса врятли кто-то может отнять память, ASE это не MS SQL, вот он может делиться памятью с виндой. Так что проверяйте своп, как вам писали выше, я тоже склоняюсь что причина в этом.

Своп отключил. Похоже дело не в том, что винда забирает память у сайбеса, а в том, что сам сайбейс очищает кеши, а потом, при начале работы, начинает их вновь заполнять.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36550063
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Викторрр,

Как вы определяете что кэш очистился???

ВикторррА как я могу повлиять на очистку кеша?

По определению, он не может очиститься, он может забиться другими(не нужными страницами), при этом вытесняя нужные. С какой-то версии 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. Если что наврал, поправьте!
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36550076
iLLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВикторррПосле начала работы кеши заполняются и все быстро работает, но в первую же ночь (когда наступает простой в работе) сайбейс очищает кеши и утром все начинает тормозить. Со временем кеши начинают опять заполняться, все начинает шевелиться и в течении дня нормально работает, но к вечеру, кеши опять очищаются и все опять начинает тормозить. Что заставляет очищаться кеш?
Предполагаю, что кэш не очищается, а просто напросто к концу дня одни страницы (нужные для быстрой дневной работы) вытесняются другими. Это может происходить из-за плохих запросов и их планов, в этом случае в кэше осядет всякая ненужная мура. Надо захватывать нагрузочный поток и анализировать, какие запросы, какие у них планы, сколько и каких данных читается с диска и т.п. Вот и получается, что целыми днями сервер из-за недостатка памяти попеременно затягивает то одно, то другое, пытаясь удовлетворить то одни потребности, то другие.

P.S.: Все-таки мне кажется эта ситуация нездоровой. Такая железка, столько памяти... и такое неэффективное использование.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36550305
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И еще, Викторрр,

Я знаю только один способ очистить кэш. Это перебинд обьектов с одного кэша на друго. Проверьте, может в течении дня такое происходит. Хотя врятли.

Плюс, Обязательно смотрите планы!!!
У нас например, есть запросы которые дергают большое количество не оперативных данных(аналитика и статистика). Такие запросы запускаются раз в день или раз в неделю, и все эти запросы обхинтованы стратегией заполняемости кэша MRU
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36550644
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблемы с памятью начались после перехода на х64 виндовс!!! На х86, с теми же настройками сайбеса и тем же приложением все было нормально. Причем летом я уже пробовал переходить на х64 виндовс и результат был тот же, при простое, служба отдает память.

Причем, перезагрузив в субботу сервер, память будет держаться и воскресенье (выходной) и понедельник (день), а упадет только в ночь с понедельника на вторник. Если же перезагрузить утром во вторник, то весь день будет все нормально, но в первую же ночь, память потеряется.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36550731
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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К пул не нужно отдельно прописывать? В централе он показывается, хотя в конфиге его нет...
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36550759
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перезапустил cacheset.exe, теперь он показывает так:
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36550900
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Викторрр,

Викторрр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 виндовс???
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36550964
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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 Гб.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36551093
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Викторрр,

ВикторррДа, ASE 32-бит, Windows 64-бит. Сделал из-за того, что 32х битное приложение под х86 может использовать 3 Гб памяти, а под х64 - 4 Гб.

Судя по вашим траблам, переход не оправдался!

Замерьте параметры конфигурации total physical memory и total logical memory (не забудьте, их размерность в 2К), до и после падения памяти и проанализируйте их. Также засеките что произошло в master..monCachedObject, после падения памяти. Проверьте эвент-лог винды и errorlog ASE после снижения памяти.

У меня память процесса тоже скачет, но не больше чем в 1Гб. Т.е. при старте, серверу нужны некие ресурсы(на теже блокировки, или еще что нибудь), а потом он может освобождать память, но не больше чем у него кэши(+оверхэд+итд). Просто если кто-то залезит в адресное пространство ASE, то он упадет. А если падения не происходит, и в своп не чего не вываливается значит все нормально. Не забывайте что для у правления кэшем, ASE еще нужна память(оверхед), какой процент от размера кэша требуется, не помню, посмотрите в доке.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36551970
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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 мб. Нужно оставлять сколько-то памяти просто свободной, не используемой???
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36551993
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Викторрр,

Ну посмотрим, случай интересный!



ВикторррНа счет оверхеда. Я задаю размер дефолтного кеша максимально большим (в приделах максмем), свободной памяти остается не более 3-5 мб. Нужно оставлять сколько-то памяти просто свободной, не используемой???

На этот вопрос, кроме вас не кто не ответит! К томуже у ASE очень много потребителей памяти.
Это и блокировки, процедурный кэш, колличество открытых обьектов, итд.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36552133
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cherrex_Den
ВикторррНа счет оверхеда. Я задаю размер дефолтного кеша максимально большим (в приделах максмем), свободной памяти остается не более 3-5 мб. Нужно оставлять сколько-то памяти просто свободной, не используемой???

На этот вопрос, кроме вас не кто не ответит! К томуже у ASE очень много потребителей памяти.
Это и блокировки, процедурный кэш, колличество открытых обьектов, итд.

я попробую ответить - оставлять нужно, если потребуется по-быстрому изменить динамический параметр в сторону увеличения, коих в Sybase ASE достаточно (number of users, devices, locks , и т.д.)

+ вот это читали?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36553087
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По совету 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) ИЛИ использование памяти под завязку (не оставляя серверу памяти на его внутренние нужды), хотя может есть и иные причины.

Это лечится? Если да, то как?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36553263
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВикторррПо совету 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.
select * 
from master..syscharsets 
where name='rusnocs_cp866'
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36553609
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komradВикторррПо совету 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.
select * 
from master..syscharsets 
where name='rusnocs_cp866'


2001 59 52 0 rusnocs_cp866 Russian case-insensitive dictionary sort order for use in Russia. Uses the IBM codepage cp866 character set and is case-insensitive. 0C009F000000010101000102020001030300010404000105050001060600010707000108080001090900010A0A00010B0B00010C0C00010D0D00010E0E00010F0F0001101000011111000112120001131300011414000115150001161600011717000118180001191900011A1A00011B1B00011C1C00011D1D00011E1E00011F1F0001202000015F2600013F2E0001283B0001253600012A3C00012B390001FC2D0001222F0001293000015B3700015C3D00013C2300013B2200012C290001602800012E7A0001317B0001327C0001337D0001347E0001357F00013680000137810001388200013983000161250001212400013A3E00013D3F00013E4000017C2700012F350001248400026285000263860002648700026588000266890002678A0002688B0002698C00026A8D00026B8E00026C8F00026D9000026E9100026F92000270930002719400027295000273960002749700027598000276990002779A0002789B0002799C00027A9D0002A03100015D380001263200017B2B00017E2100012D2A00015E8400016285000163860001648700016588000166890001678A0001688B0001698C00016A8D00016B8E00016C8F00016D9000016E9100016F92000170930001719400017295000173960001749700017598000176990001779A0001789B0001799C00017A9D0001A03300017D4100017F340001402C000127420001B09E0002A19F0002A2A00002A3A10002A4A20002A5A30002F3A60002A7A70002A8A80002F5AA0002AAAB0002ABAC0002ACAD0002ADAE0002AEAF0002AFB00002E0B10002E1B20002E2B30002E3B40002F7B60002E5B70002E6B80002E7B90002E8BA0002E9BB0002EABC0002EBBD0002ECBE0002EDBF0002EEC00002EFC10002009E0001A19F0001A2A00001A3A10001A4A20001A5A30001F3A60001A7A70001A8A80001F5AA0001AAAB0001ABAC0001ACAD0001ADAE0001AEAF0001AFB00001E0430001B1440001B2450001B3460001B4470001B5480001B6490001B74A0001B84B0001B94C0001BA4D0001BB4E0001BC4F0001BD500001BE510001BF520001C0530001C1540001C2550001C3560001C4570001C5580001C6590001C75A0001C85B0001C95C0001CA5D0001CB5E0001CC5F0001CD600001CE610001CF620001D0630001D1640001D2650001D3660001D4670001D5680001D6690001D76A0001D86B0001D96C0001DA6D0001DB6E0001DC6F0001DD700001DE710001DF720001F8B10001E1B20001E2B30001E3B40001F7B60001E5B70001E6B80001E7B90001E8BA0001E9BB0001EABC0001EBBD0001ECBE0001EDBF0001EEC00001EFC1000100A50002A6A50001A6A40002F1A40001F1A90002A9A90001A9B50002E4B50001E4730001F9740001FA750001FB760001FD3A000123770001FE780001FF79000130FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000 rusnocs.srt
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36553685
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр
2001 59 52 0 rusnocs_cp866 Russian case-insensitive dictionary sort order for use in Russia. Uses the IBM codepage cp866 character set and is case-insensitive. 0C009F000000010101000102020001030300010404000105050001060600010707000108080001090900010A0A00010B0B00010C0C00010D0D00010E0E00010F0F0001101000011111000112120001131300011414000115150001161600011717000118180001191900011A1A00011B1B00011C1C00011D1D00011E1E00011F1F0001202000015F2600013F2E0001283B0001253600012A3C00012B390001FC2D0001222F0001293000015B3700015C3D00013C2300013B2200012C290001602800012E7A0001317B0001327C0001337D0001347E0001357F00013680000137810001388200013983000161250001212400013A3E00013D3F00013E4000017C2700012F350001248400026285000263860002648700026588000266890002678A0002688B0002698C00026A8D00026B8E00026C8F00026D9000026E9100026F92000270930002719400027295000273960002749700027598000276990002779A0002789B0002799C00027A9D0002A03100015D380001263200017B2B00017E2100012D2A00015E8400016285000163860001648700016588000166890001678A0001688B0001698C00016A8D00016B8E00016C8F00016D9000016E9100016F92000170930001719400017295000173960001749700017598000176990001779A0001789B0001799C00017A9D0001A03300017D4100017F340001402C000127420001B09E0002A19F0002A2A00002A3A10002A4A20002A5A30002F3A60002A7A70002A8A80002F5AA0002AAAB0002ABAC0002ACAD0002ADAE0002AEAF0002AFB00002E0B10002E1B20002E2B30002E3B40002F7B60002E5B70002E6B80002E7B90002E8BA0002E9BB0002EABC0002EBBD0002ECBE0002EDBF0002EEC00002EFC10002009E0001A19F0001A2A00001A3A10001A4A20001A5A30001F3A60001A7A70001A8A80001F5AA0001AAAB0001ABAC0001ACAD0001ADAE0001AEAF0001AFB00001E0430001B1440001B2450001B3460001B4470001B5480001B6490001B74A0001B84B0001B94C0001BA4D0001BB4E0001BC4F0001BD500001BE510001BF520001C0530001C1540001C2550001C3560001C4570001C5580001C6590001C75A0001C85B0001C95C0001CA5D0001CB5E0001CC5F0001CD600001CE610001CF620001D0630001D1640001D2650001D3660001D4670001D5680001D6690001D76A0001D86B0001D96C0001DA6D0001DB6E0001DC6F0001DD700001DE710001DF720001F8B10001E1B20001E2B30001E3B40001F7B60001E5B70001E6B80001E7B90001E8BA0001E9BB0001EABC0001EBBD0001ECBE0001EDBF0001EEC00001EFC1000100A50002A6A50001A6A40002F1A40001F1A90002A9A90001A9B50002E4B50001E4730001F9740001FA750001FB760001FD3A000123770001FE780001FF79000130FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000 rusnocs.srt

а можно это в виде таблички с полями ?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36553702
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и заодно показать файл rusnocs.srt
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36553722
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сейчас наблюдал процесс падения памяти "в прямом эфире". Т.к. утром перезагрузил сервер, то служба весь день была 4,1 Гб. Примерно без десяти шесть, служба РЕЗКО упала с 4,1 Гб до 56 Мб (примерно, т.к. случайно увидел все это), коннекты НЕ отвалились, начисления, которые работали в этот момент продолжали работать, т.е. визуально ничего не произошло, все как работало, так и продолжило работать. Сразу же после этого, служба начала расти и через 20 мин. стала 3,7 Гб. В момент падения посмотрел
select cachename,sum(cachedkb) from master..monCachedObject
group by cachename

default data cache 3145286
tempdb_cache 28496

Параметры total physical memory и total logical memory - 4 Гб, т.е. сайбейс и не заметил, что с ним произошло!?!?

Посмотрел логи ASE и винды - чисто!!! Своп, как я полагаю, отключен. Чудо. :(
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36553767
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komradВикторрр
2001 59 52 0 rusnocs_cp866 Russian case-insensitive dictionary sort order for use in Russia. Uses the IBM codepage cp866 character set and is case-insensitive. 0C009F000000010101000102020001030300010404000105050001060600010707000108080001090900010A0A00010B0B00010C0C00010D0D00010E0E00010F0F0001101000011111000112120001131300011414000115150001161600011717000118180001191900011A1A00011B1B00011C1C00011D1D00011E1E00011F1F0001202000015F2600013F2E0001283B0001253600012A3C00012B390001FC2D0001222F0001293000015B3700015C3D00013C2300013B2200012C290001602800012E7A0001317B0001327C0001337D0001347E0001357F00013680000137810001388200013983000161250001212400013A3E00013D3F00013E4000017C2700012F350001248400026285000263860002648700026588000266890002678A0002688B0002698C00026A8D00026B8E00026C8F00026D9000026E9100026F92000270930002719400027295000273960002749700027598000276990002779A0002789B0002799C00027A9D0002A03100015D380001263200017B2B00017E2100012D2A00015E8400016285000163860001648700016588000166890001678A0001688B0001698C00016A8D00016B8E00016C8F00016D9000016E9100016F92000170930001719400017295000173960001749700017598000176990001779A0001789B0001799C00017A9D0001A03300017D4100017F340001402C000127420001B09E0002A19F0002A2A00002A3A10002A4A20002A5A30002F3A60002A7A70002A8A80002F5AA0002AAAB0002ABAC0002ACAD0002ADAE0002AEAF0002AFB00002E0B10002E1B20002E2B30002E3B40002F7B60002E5B70002E6B80002E7B90002E8BA0002E9BB0002EABC0002EBBD0002ECBE0002EDBF0002EEC00002EFC10002009E0001A19F0001A2A00001A3A10001A4A20001A5A30001F3A60001A7A70001A8A80001F5AA0001AAAB0001ABAC0001ACAD0001ADAE0001AEAF0001AFB00001E0430001B1440001B2450001B3460001B4470001B5480001B6490001B74A0001B84B0001B94C0001BA4D0001BB4E0001BC4F0001BD500001BE510001BF520001C0530001C1540001C2550001C3560001C4570001C5580001C6590001C75A0001C85B0001C95C0001CA5D0001CB5E0001CC5F0001CD600001CE610001CF620001D0630001D1640001D2650001D3660001D4670001D5680001D6690001D76A0001D86B0001D96C0001DA6D0001DB6E0001DC6F0001DD700001DE710001DF720001F8B10001E1B20001E2B30001E3B40001F7B60001E5B70001E6B80001E7B90001E8BA0001E9BB0001EABC0001EBBD0001ECBE0001EDBF0001EEC00001EFC1000100A50002A6A50001A6A40002F1A40001F1A90002A9A90001A9B50002E4B50001E4730001F9740001FA750001FB760001FD3A000123770001FE780001FF79000130FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000FF0000000000000000000000 rusnocs.srt

а можно это в виде таблички с полями ?

Файликов с таким именем много, привел 2, для cp866 и cp1251.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36554785
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А кто знает, что означает адрес 23662592 в параметре shared memory starting address = 23662592? Может это адрес для х86, а для х64 он должен быть иным и отсюда все эти чудеса?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36555329
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Викторрр,

Да что вы "паритесь"? Если при снижении память у вас сервер не упал, коннекты не отвалились и кэши сохранились, то скорее всего это глюк винды(отображение в таск менаджере)!

Викторрр Примерно без десяти шесть, служба РЕЗКО упала с 4,1 Гб до 56 Мб (примерно, т.к. случайно увидел все это), коннекты НЕ отвалились, начисления, которые работали в этот момент продолжали работать, т.е. визуально ничего не произошло, все как работало, так и продолжило работать. Сразу же после этого, служба начала расти и через 20 мин. стала 3,7 Гб. В момент падения посмотрел
select cachename,sum(cachedkb) from master..monCachedObject
group by cachename

default data cache 3145286
tempdb_cache 28496

Посмотрел логи ASE и винды - чисто!!!



Тормоза прошли после убийства пула 16К в дефолтном кэше???


авторА кто знает, что означает адрес 23662592 в параметре shared memory starting address = 23662592? Может это адрес для х86, а для х64 он должен быть иным и отсюда все эти чудеса?

У меня этот параметр стоит по дефолту(т.е. 0), но у меня и винда и ASE, 64-бит
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36556975
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cherrex_DenВикторрр,
Да что вы "паритесь"? Если при снижении память у вас сервер не упал, коннекты не отвалились и кэши сохранились, то скорее всего это глюк винды(отображение в таск менаджере)!

Раньше я смотрел на размер службы в таск менеджере и она действительно, то уменьшается, то увеличивается в размере, но теперь смотрю еще и monCachedObject и вижу, что в определенные моменты кеш УМЕНЬШАЕТСЯ, хотя как я понял из общения с форумчанами, кеш не может уменьшиться ни при каких обстоятельствах, но он уменьшается!!! :( Утром перезагрузил сервер, служба забрала 4 Гб, посмотрел в monCachedObject кеш 300 мб, запустил отчет, кеш дорос до 900 мб, через минуту после выполнения (может это и не связано с отчетом) кеш уменьшился до 700 мб и опять продолжил расти. Сейчас 3,1 Гб, как и должен быть, но вчера наблюдал (по мониторинговым таблицам), что он с 3,1 Гб, уменьшался до 2,6, хотя служба была 3,9 Гб, потом опять вырос.

cherrex_DenВикторрр,
Тормоза прошли после убийства пула 16К в дефолтном кэше???


Не готов пока ответить, т.к. кручу много чего, но результата устраивающего меня самого, пока не добился. Когда кеш разбивается на пулы, например кеш 3 Гб, пул 2К - 2Гб, пул 16К - 1Гб, но приложение построено так, что мало использует вывод большими блоками, то что, этот гигабайт будет просто пропадать за зря и не использоваться?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36557019
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот, нарыл на буржуйских сайтах о памяти:

This is a post from Tony Imbeierski (sorry, I'm sure I spelled that wrong)
from a while ago ... bottom line is to set the shared starting memory
address and set the /3GB option in the boot.ini file. You should then be
able to get close to 2.5 gig total memory.


The shared memory starting address is not a size of anything, it is the
address
in our virtual address space where ASE starts mapping its shared memory.

Virtual address spaces on NT are always 4Gb in size (regardless of how much
physical memory the machine has). Addresses from 0 to 7FFFFFFF (hex) are
normally available to the application (in this case, ASE). Addresses from
80000000 to FFFFFFFF are reserved for the system. If you have enterprise NT
with
the /3GB option, then the application is given from 0-BFFFFFFF and the
system
gets C0000000-FFFFFFFF.

The way the application memory is split up is as follows. Starting at the
bottom
and working upwards, the first few pages from 0-FFF hex are reserved and are
known as the guard pages. The main application code (in this case
sqlsrvr.exe)
loads at 400000 (hex). Above and below this, shared libraries such as libct,
libsrv (connectivity) get loaded. Then somewhere on top of this lot you get
application private data areas. Once all this is loaded, we have a chunk of
address space free to create our shared memory.

By default we request shared memory starting at 20000000 (hex). This equals
536870912 and is probably the '500mb' you are referring to, but remember
this
isn't a size, it's merely the starting address. Theoretically then the
maximum
size of shared memory is the amount that can fit between 20000000 and
7FFFFFFF
(on a normal system) or 20000000 and BFFFFFFF on an enterprise NT system.
Almost
but not quite, as NT stuffs some system dll's (kernel32.dll for example)
right
at the top which restricts us slightly. Ignoring this for the moment, this
allows up to 5FFFFFFF bytes of shared memory or 9FFFFFFF on an enterprise
system. Convert these numbers to decimal and you get 1,610,612,735 or on the
enterprise system 2,684,354,559. Or about 1.5Gb (normal) / 2.5Gb
(Enterprise).
(remember actually slightly less because of those system dlls taking up
space at
the top).

Now the top end of the address space is a hard limit fixed by the OS. But we
can
squeeze in more by lowering the place we start shared memory. This is the
purpose of the 'shared memory starting address'. The number you were given
(23662592) equates to 1691000 hex. This means the amount of shared memory we
can
squeeze in becomes 7FFFFFFF-1691000 = 7E96EFFF hex or 2123821055 decimal or
1.9
Gb (except not quite that big because we can't go all the way up to 7fffffff
remember). Enterprise systems again get a gig more.

So where did we come up with the number 23662592? To be honest, probably
trial
and error. The lower you make the shared memory starting address, the more
shared memory you can have, until you make it so low that it clashes with
memory
already allocated for some other purpose. We actually cope with that
situation
and increase the value internally until it reaches a clear space. However
you
are then in a position where the server has absolutely no free space in its
virtual address range at all, which may lead to a memory allocation failure
some
time down the line. You also have the problem that other applications such
as
monitor server that want to map the shared memory may not be able to because
they themselves may not have that low area free. The 23662592 figure is
probably
one that has been recommended many times by tech support and works.

As for the default, this was originally chosen to be a round number (in hex
anyway) that is way up in the address range that will never cause conflict
with
other areas already in use. Remember this default was set when the server
was
first ported to NT in what, 94? Nobody dreamed of PC systems with 4Gb
physical
ram back then. It's probably about time the default was reviewed to a lower
value, I might make this suggestion internally.

I just thought of a good analogy for your managers. Imagine the total
application space is like Route 66. By default we start shared memory in
Chicago
and end it in LA. Lowering the shared memory is like starting Route 66 in
New
York - it gets longer. But move the start too far east and you end up trying
to
build a road in the sea 8*)

HTH,
tonyi
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36557021
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И вот еще немного:

I've seen a few postings asking how to get the largest memory allocation on
a Windows 32-bit platform on ASE 12.5.x. Here is what I've pieced together
over the last couple of years. In early testing the same configuration
applies to ASE 15.0 too.

Note that this isn't the last word on how to configure Sybase for large
memory in Windows (I'm sure there must be tricks to squeeze even more memory
out of the system) but these tips work well for me.
-----

The Microsoft Windows operating system, running on a 32 bit platform has
memory address limits for the maximum size a process may be. While, given
sufficient memory, Windows will allow multiple instances of Sybase with
large memory allocations, there is a maximum size each individual Sybase
process may be.

In order to maximise the size a process may be in Windows the operating
system should be booted with the /3GB option(specified in C:\boot.ini) which
limits the operating system kernel to using 1GB of memory, allowing a
(theoretical) maximum individual process size of 3GB.

If more than 4GB of memory is to be used the /PAE setting must also be added
in boot.ini. This will allow multiple 3GB processes (with each process not
more than 3GB). Note that Windows Server 2003 Enterprise edition (or
greater) is required to use more than 4GB of memory.

Given these boot options, on a server with at least 4GB memory, the
following maximum memory sizes may be set for Sybase:

Windows 2000 Professional/Windows XP: 761810 (2k pages) = 1,487.9MB
Windows Server 2003: 1522000 (2k pages) = 2,972.7MB

If allocating more than 2GB of memory the Sybase configuration option
"shared memory starting address" must be set to 23662592. Also, you must set
the Windows Virtual Memory setting ("paging size") to at least 4GB.

Note that if the Sybase 'max memory' option is set higher than the above
settings, if memory is allocated over these settings Sybase will hang, and
then will fail to start.

Should you require large memory allocation (eg. for a large data cache) it
is recommended to use a 64-bit Linux on a x64-64 processor. Sybase ASE is
not available at present on a 64-bit Windows platform although I understand
that Sybase have plans to release Sybase 15.0 for Windows x86-64 during
Quarter 3, 2006.

Useful links:

Microsoft: A description of the 4 GB RAM Tuning feature and the Physical
Address Extension switch
Sybase: Addressable Memory Limits
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36557028
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Also, you must set the Windows Virtual Memory setting ("paging size") to at least 4GB.

Где это нужно устнановить Windows Virtual Memory setting ("paging size") to at least 4GB???
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36557084
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предположу, что речь идет о минимальном размере свап-файла. Вместо автомата поставьте его размер минимум 4гб, а лучше единый фиксированный размер равный двум размерам ОЗУ.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36557302
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Викторрр,

ВикторррРаньше я смотрел на размер службы в таск менеджере и она действительно, то уменьшается, то увеличивается в размере, но теперь смотрю еще и monCachedObject и вижу, что в определенные моменты кеш УМЕНЬШАЕТСЯ, хотя как я понял из общения с форумчанами, кеш не может уменьшиться ни при каких обстоятельствах, но он уменьшается!!! :( Утром перезагрузил сервер, служба забрала 4 Гб, посмотрел в monCachedObject кеш 300 мб, запустил отчет, кеш дорос до 900 мб, через минуту после выполнения (может это и не связано с отчетом) кеш уменьшился до 700 мб и опять продолжил расти. Сейчас 3,1 Гб, как и должен быть, но вчера наблюдал (по мониторинговым таблицам), что он с 3,1 Гб, уменьшался до 2,6, хотя служба была 3,9 Гб, потом опять вырос.

Какой кэш? Дефолтный?

Почему размер данных в кэше может уменьшиться(очистка кэша):

1. Вы убиваете кэш, следовательно все обьекты в этом кэше не в памяти.
2. Вы убиваете пул, следовательно все обьекты в этом пуле не в памяти.
3. Вы перебиндете обьекты на другой кэш, следовательно все обьекты должны считаться занова в новый кэш.
4. Вы убиваете обьект следовательно и страницы этого обьекта удаляются из кэша.

Что происходит в tempdb, вернее в его кэше. Вы запускаете отчет(процедуру), зачистую эта процедура создает временные таблицы в tempdb, и ложит туда какие-нибудь данные. Естественно когда вы посмотрите на monCachedObject, то кэш tempdb, будет большой. Потом процедура при завершении, чистит за собой все временные таблицы. И monCachedObject покажет вам что кэш совсем пустой. Но это только с кэшем tempdb!!! Размер других именнованных кэшей, не должен падать. Или в пративном случае происходит что-то из перечисленного выше. В пративном случае, ASE должен упасть, или это БАГ.

Я вам 10-тый раз повторяю, не тюньте сервер, а смотрите планы, и сами запросы. Чего не хватает опрелеленным запросам. А потом разбирайтесь с общими настройками сервера, если конечно они виноваты. Вы пытаетесь ткнуть на угад пальцем в небо, и попасть в солнце.

ВикторррНе готов пока ответить, т.к. кручу много чего, но результата устраивающего меня самого, пока не добился. Когда кеш разбивается на пулы, например кеш 3 Гб, пул 2К - 2Гб, пул 16К - 1Гб, но приложение построено так, что мало использует вывод большими блоками, то что, этот гигабайт будет просто пропадать за зря и не использоваться?

По логике ДА! Но я не верю что он у вас так ни где и не используется. И что значит: но приложение построено так, что мало использует вывод большими блоками
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36557671
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cherrex_DenВикторрр,

ВикторррРаньше я смотрел на размер службы в таск менеджере и она действительно, то уменьшается, то увеличивается в размере, но теперь смотрю еще и monCachedObject и вижу, что в определенные моменты кеш УМЕНЬШАЕТСЯ, хотя как я понял из общения с форумчанами, кеш не может уменьшиться ни при каких обстоятельствах, но он уменьшается!!! :( Утром перезагрузил сервер, служба забрала 4 Гб, посмотрел в monCachedObject кеш 300 мб, запустил отчет, кеш дорос до 900 мб, через минуту после выполнения (может это и не связано с отчетом) кеш уменьшился до 700 мб и опять продолжил расти. Сейчас 3,1 Гб, как и должен быть, но вчера наблюдал (по мониторинговым таблицам), что он с 3,1 Гб, уменьшался до 2,6, хотя служба была 3,9 Гб, потом опять вырос.

Какой кэш? Дефолтный?

Уменьшаются, на самом деле, оба кеша, и дефолтный и темп ДБ. Почему уменьшается темп БД, вы объяснили, это понятно. Но вот с дефолтным кешем, п. 1-3 явно системные процедуры, которые не делаются ежедневно и уж тем более несколько раз в день в рабочее и не рабочее время. На счет п.4 , я так понимаю, что все временные таблицы (с #) создаются в темп ДБ и там же потом и дропаются. Таблицы из базы могут удаляться лишь при обновлениях версии 5НТ либо еще каких-то системных процедурах, но опять не среди бела дня.

cherrex_DenПочему размер данных в кэше может уменьшиться(очистка кэша):

1. Вы убиваете кэш, следовательно все обьекты в этом кэше не в памяти.
2. Вы убиваете пул, следовательно все обьекты в этом пуле не в памяти.
3. Вы перебиндете обьекты на другой кэш, следовательно все обьекты должны считаться занова в новый кэш.
4. Вы убиваете обьект следовательно и страницы этого обьекта удаляются из кэша.

Что происходит в tempdb, вернее в его кэше. Вы запускаете отчет(процедуру), зачистую эта процедура создает временные таблицы в tempdb, и ложит туда какие-нибудь данные. Естественно когда вы посмотрите на monCachedObject, то кэш tempdb, будет большой. Потом процедура при завершении, чистит за собой все временные таблицы. И monCachedObject покажет вам что кэш совсем пустой. Но это только с кэшем tempdb!!! Размер других именнованных кэшей, не должен падать. Или в пративном случае происходит что-то из перечисленного выше. В пративном случае, ASE должен упасть, или это БАГ.

Не падает, лог пустой, дефолтный кеш изменяется постоянно в приделах 2,8-3,1 Гб. От стратегии это не может зависеть? У меня выбрана strict LRU replacement и на дефолтном и на темп ДБ кеше, может нужно выбрать другую стратегию? Какую для дефолтного и какую для темп ДБ кеша?

cherrex_DenЯ вам 10-тый раз повторяю, не тюньте сервер, а смотрите планы, и сами запросы. Чего не хватает опрелеленным запросам. А потом разбирайтесь с общими настройками сервера, если конечно они виноваты. Вы пытаетесь ткнуть на угад пальцем в небо, и попасть в солнце.

Если с настройками сервера я, хотя бы отчасти, понимаю ГДЕ и ЧТО нужно крутить и к чему это приводит, то с планами запросов, не знаю даже "где", не говоря уже о том "что". Где увидеть план запроса и на что там нужно смотреть?

ВикторррНе готов пока ответить, т.к. кручу много чего, но результата устраивающего меня самого, пока не добился. Когда кеш разбивается на пулы, например кеш 3 Гб, пул 2К - 2Гб, пул 16К - 1Гб, но приложение построено так, что мало использует вывод большими блоками, то что, этот гигабайт будет просто пропадать за зря и не использоваться?

cherrex_DenПо логике ДА! Но я не верю что он у вас так ни где и не используется. И что значит: но приложение построено так, что мало использует вывод большими блоками

Я сисмоном собираю статистику и по ней вижу, что 99,99% ввода/вывода идет через пул 2К, для эксперимента сделал 100 Мб 16К пул, но т.к. судя по сисмону он не используется, уменьшил до 10Мб, а теперь убрал его вообще. На темп ДБ другая ситуация, сделал именованный кеш 300 Мб, пулы 200 Мб - 2К, 100Мб -16К, сисмон показывает, то 60% через 16К пул, то 0%. Но т.к. 300 мб ему много, сделал 100 Мб кеш, пул 40 Мб - 2К, 60Мб -16К. Пока так. А как правильно определить размер 16К пула?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36558590
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Викторрр,

ВикторррУменьшаются, на самом деле, оба кеша, и дефолтный и темп ДБ. Почему уменьшается темп БД, вы объяснили, это понятно. Но вот с дефолтным кешем, п. 1-3 явно системные процедуры, которые не делаются ежедневно и уж тем более несколько раз в день в рабочее и не рабочее время. На счет п.4 , я так понимаю, что все временные таблицы (с #) создаются в темп ДБ и там же потом и дропаются. Таблицы из базы могут удаляться лишь при обновлениях версии 5НТ либо еще каких-то системных процедурах, но опять не среди бела дня.
Не падает, лог пустой, дефолтный кеш изменяется постоянно в приделах 2,8-3,1 Гб


Ну тогда не знаю! Нет у меня ответа на этот вопрос! Может ГУРУ этого форума подскажут. Но если до сих пор ГУРУ(komrad,MasterZiv,moris) не ответили, предполагаю что и у них тоже нет ответа. А значит вам одна дорога, это в тех.поддержку Sybase CIS.

ВикторррОт стратегии это не может зависеть? У меня выбрана strict LRU replacement и на дефолтном и на темп ДБ кеше, может нужно выбрать другую стратегию? Какую для дефолтного и какую для темп ДБ кеша?

Нет, не зависит.

ВикторррЕсли с настройками сервера я, хотя бы отчасти, понимаю ГДЕ и ЧТО нужно крутить и к чему это приводит, то с планами запросов, не знаю даже "где", не говоря уже о том "что". Где увидеть план запроса и на что там нужно смотреть?

Я понимаю, что не царское это дело администратору в чужом sql коде разбераться, но...

Извеняюсь за оффтоп и сарказм.
Как-то давно я захотел продать недвижимость и обратился к риэлтору. Как всякий жадный человек я загнул максимальную цену. Риэлтер мне задал вопрос:
Вы чего хотите? Продать, или попрадовать? А вось кто-то купит?

Также и вы. Вы хотите решить проблему, или покрутить настройки сервера. Авось проблема сама уйдет.

ВикторррЯ сисмоном собираю статистику и по ней вижу, что 99,99% ввода/вывода идет через пул 2К, для эксперимента сделал 100 Мб 16К пул, но т.к. судя по сисмону он не используется, уменьшил до 10Мб, а теперь убрал его вообще. На темп ДБ другая ситуация, сделал именованный кеш 300 Мб, пулы 200 Мб - 2К, 100Мб -16К, сисмон показывает, то 60% через 16К пул, то 0%. Но т.к. 300 мб ему много, сделал 100 Мб кеш, пул 40 Мб - 2К, 60Мб -16К. Пока так. А как правильно определить размер 16К пула?

Как собираете? Поставьте сисмон на весь день или на пол. Сисмон дает статистику только за время работы сисмона. Размер вы должны определить сами. До недавнего времени я считал что треть кэша хватит под большой пул, но месяца 3 назад, я перестроил по другому. Все зависит от ваших данных и запросов.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36558695
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя в голову пришло следующее:

У вас же кэш один, дефолтный, а значит к нему прибиндена и база master.
А в базе master, есть очень динамические системные таблицы(syslock, sysobject итд).
Так вот, вполне возможно, что в этом и есть причина вашего снижения в дефолтном кэше.

MasterZiv, moris или komrad, ответьте на вопрос!!!

Допустим есть кэш, к ниму прибиндена большая таблица. Если я удаляю все строки из этой таблице, то что происходит со страниицами в кэше этой таблицы?

Если таблица с построчной блокировкой, то ее страницы не исчезают физически при делете, а исчезнут только при reorg. При APL, страницы умирают, и скорее всего и из кэша они удаляются. А в 12.5 все ситемные таблицы APL!

Викторрр, попробуйте разнесть пользовательские и системные базы по разным кэшам, и посмотрите будет ли падать пользовательский кэш?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36560670
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cherrex_DenХотя в голову пришло следующее:

У вас же кэш один, дефолтный, а значит к нему прибиндена и база master.
А в базе master, есть очень динамические системные таблицы(syslock, sysobject итд).
Так вот, вполне возможно, что в этом и есть причина вашего снижения в дефолтном кэше.

MasterZiv, moris или komrad, ответьте на вопрос!!!

Допустим есть кэш, к ниму прибиндена большая таблица. Если я удаляю все строки из этой таблице, то что происходит со страниицами в кэше этой таблицы?

Если таблица с построчной блокировкой, то ее страницы не исчезают физически при делете, а исчезнут только при reorg. При APL, страницы умирают, и скорее всего и из кэша они удаляются. А в 12.5 все ситемные таблицы APL!

Викторрр, попробуйте разнесть пользовательские и системные базы по разным кэшам, и посмотрите будет ли падать пользовательский кэш?

Т.е., я уменьшаю размер дефолтного кеша до 300 мб, создаю новый именованный кеш на 2,8 Гб, отвязываю пользовательские базы от дефолтного кеша, привязываю к новому кешу и смотрю на результат. Или в дефолтном кеше оставить пользовательские базы, а под master, model, sybsystempdb и sybsystempprocs сделать новый кеш?

По поводу уменьшения размера службы в памяти, тех поддержка ответила, что это нормальное поведение службы под виндой. НО это НОРМАЛЬНОЕ поведение появилось сразу после перехода на х64 винду, на х86 токого не было. По поводу кешей пока нет информации.

Настроил сбор статистики раз в час, Sysmon, размер службы и кеша. Вот статистика по памяти с пятницы по сейчас.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36560682
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вложение не прикрепилось. :(
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36560794
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Викторрр,

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

Второе:
Как у вас делается дамп транзакций, делается ли он вообще? На ваших базах стоит ли галочка truncate log on chekpoint? Если нет, какаое расписание дампов у вас.

Просто, еще ваш лог(syslogs), может забивать весь кэш вытисняя нужные страницы, а потом при дампе лога, резко очищаться! Если дамп делается ночью, то вот вам и обьяснение почему ночью кэш становиться маленьким. Вернее пустым.
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36561174
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cherrex_DenВикторрр,

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

Второе:
Как у вас делается дамп транзакций, делается ли он вообще? На ваших базах стоит ли галочка truncate log on chekpoint? Если нет, какаое расписание дампов у вас.

Просто, еще ваш лог(syslogs), может забивать весь кэш вытисняя нужные страницы, а потом при дампе лога, резко очищаться! Если дамп делается ночью, то вот вам и обьяснение почему ночью кэш становиться маленьким. Вернее пустым.

Дамп лога снимается и поднимается на резервный сервер каждые 20 мин с 7:40 до 23:45. В 00:05 запускается снятие полного дампа. Галка, соответственно, снята. Если база мастер всего 200 мб, то разве она сможет забить весь кеш?
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36561366
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Викторрр,

ВикторррЕсли база мастер всего 200 мб, то разве она сможет забить весь кеш?

У вас все базы(кроме tempdb) к одному кэшу прибиты!

Я вам выдал все возможные варианты почему кэш опусташается.
Так что пробуйте,экспериментируйте, разнесите кэши не только по базам, но я бы попробывал и по лагам и данным отдельные кэши сделать. И осмотреть в каких роисходит очистка!
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36573558
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cherrex_DenВикторрр,

ВикторррЕсли база мастер всего 200 мб, то разве она сможет забить весь кеш?

У вас все базы(кроме tempdb) к одному кэшу прибиты!

Я с основного сервера все базы убрал, кроме двух основных (для разных продуктов), лишних баз там нет.

cherrex_DenЯ вам выдал все возможные варианты почему кэш опусташается.
Так что пробуйте,экспериментируйте, разнесите кэши не только по базам, но я бы попробывал и по лагам и данным отдельные кэши сделать. И осмотреть в каких роисходит очистка!

В выходные крутил сервер. Добавил именованный кеш на базу Оренбург, теперь дефолтный кеш 150 Мб (2к - 80Мб, 16к - 70Мб), Оренбург 3,1 Гб (2к - 2,8Гб, 16к - 300Мб), ТемпДБ 110 Мб (2к - 50Мб, 16к - 60Мб). По мониторным таблицам четко видно, что уменьшается кеш, именно базы Оренбург, примерно на 300 Мб. А как разделить кеши данных и логов? В централе же только два варианта: 1) данные и лог 2) только лог.
Как увидеть, используется ли и если да, то на сколько 16 к пук кеша? сисмон очень часто рекомендует удалить 16к пул...

Настроил еще паралеризацию, вот так:
[Parallel Query]
number of worker processes = 8
memory per worker process = 1296
max parallel degree = 2
max scan parallel degree = 2
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36946979
arpa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Викторрр,

Поделитесь пожалуйста, чем на сегодняшний день закончилась ваша борьба за производительность? К каким выводам вы пришли?

Думаю всем будет полезно. Спасибо
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36950954
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго времени суток!

имеется два полностью одинаковых сервера, как по железу, так и по ПО, на одном крутится основная БД (ase 12.5.4), на другом тестовая точно такая же, настройки серверов одинаковые, т.е. (все один-в-один), по ночам бэкап с основного на тестовый.

но есть такой момент, что основной сервер строит планы запросов криво и они получаются медленные...

почему так происходит?
может ли на это влиять статистика, сбрасываемая в момент бекапа на тестовом?
хотя мне кажется это не логично... согласился бы если все было бы наоборот...
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36973415
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
arpaВикторрр,

Поделитесь пожалуйста, чем на сегодняшний день закончилась ваша борьба за производительность? К каким выводам вы пришли?

Я уже писал, что перейти на 15 мы не можем, поэтому ограничены 32 битным Sybase 12.5.1. Проблема с производительностью решена, топорно, покупкой СХД на Flash дисках. Это сняло проблему производительности как таковую в принципе. Но общение в форуме очень помогло привести базу в порядок. Спасибо Вам всем. Вообще, флеш диски - это вещь, не гудят, не грются, скорость!!! Вобщем, рекомендую. Только дорого. :( Помимо СХД, добавил вторую tempdb (правда сомневаюсь, не стало ли с ней хуже) и оставил windows 2003 X64 - это позволило выделить Sybase 4 Гб оперативки. Процесс ведет себя как и раньше, при загрузке - 4 Гб, потом обычно ночью (при не использовании наверное), процесс уменьшается в размере, но потом растет обратно до 4х гб. Файл подкачки в винде отключил. Именованные кеши убрал, пользы от их наличия увидеть не удалось. Сегмент system выделил в отдельный файл. CheckDB и апдейт статистики делаю раз в неделю в выходные. Может еще что-то нужно делать, для профилактики? В целом все нормально работает, за исключением одного НО. Периодически, несколько раз в неделю в логах появляются сообщения "SQL Server system exception (0xc0000005) generated by a storage access violation", об этом писал в форуме весной. Причину этих ошибок пока выяснить так и не удалось. Редкие сообщения в интернете ответа на вопрос не дали, сейчас тестирую параметр cpu grace time, увеличил его до 1500, но не похоже что он. Летом переставял сервер (ОС и СУБД), данные переехали на СХД, т.е. все настроено заново, но сообщения в логе, всеравно появляются. Из рабочих гипотез: 1. проблема с оперативной памятью (раньше памяти было 4 гб, зимой увеличил до 16 гб - весной появились ошибки), но нет не похоже что память. 2. Битый диск на котором хранятся данные - тоже нет (база и темпбд переехали на СХД, но ошибки всеравно есть) 3. На 12.5.1 глючит множественная темпдб - пробовал убирать вторую базу, оставив лишь первую, но ошибки есть, не знаю можно ли из группы 'default' убрать первую базу оставив лишь вторую? Если только так еще попробовать? В пользу версии, что проблема с темпдб, говорит такой факт, был один глюк с работающим отчетом, с 4-12 раза его запуск стал выдавать в лог портянки ошибок и отчет вываливался. Обрадовался, что появилась тестовая среда, на которой можно отловить ошибку. Нашел то место, которое вызывает сбой - селект с MAX по полю из временной таблицы, причем остальные 3-11 запусков по тем же данным отрабатывают нормально, и лишь иногда сбоит. Убрав MAX отчет начинает стабильно работать. Возврат max опять его ломает. Но после перезагрузки сервера все опять заработало и тестовая среда пропала. Чтобы еще посмотреть про tempDB? 4. Работа 32 битного сайбеса под 64 битной виндой - эта гипотеза также актуальна, если к моменту следующей переустановки ОС проблема останется, переставлю винду на 32 битную, проверю. В логах винды все чисто.

Sybase: DBMS Version Adaptive Server Enterprise/12.5.1/EBF 11665 ESD#2/P/NT (IX86)/OS 4.0/ase1251/1838/32-bit/OPT/Fri Feb 20 04:11:31 2004


Ошибки такого вида (Message_test - тестовый отчет):


02:00000:00069:2010/11/23 09:44:47.68 kernel SQL Server system exception (0xc0000005) generated by a storage access violation.02:00000:00069:2010/11/23 09:44:47.68 kernel pc: 0x004B779B (Symbol not found)(0x02260002, 0x00000001, 0x00000001, 0x004B0002)
02:00000:00069:2010/11/23 09:44:47.68 kernel pc: 0x004B779B (Symbol not found)(0x00000003, 0x10020000, 0x00000000, 0x022970E0)
02:00000:00069:2010/11/23 09:44:47.68 kernel pc: 0x004B76E0 (Symbol not found)(0x787799C5, 0x00000001, 0x7877BA64, 0x7877B0E4)
02:00000:00069:2010/11/23 09:44:47.68 kernel pc: 0x004B7675 (Symbol not found)(0x1192F000, 0x00000110, 0x7877BA64, 0x7877B0E4)
02:00000:00069:2010/11/23 09:44:47.68 kernel pc: 0x004B3ED5 (Symbol not found)(0x787799C4, 0x00000001, 0x1192F4FC, 0x07FFB98C)
02:00000:00069:2010/11/23 09:44:47.68 kernel pc: 0x00D93704 XMLFormatter::specialFormat+ 0xe614 (0x787799C4, 0x00000001, 0x00000000, 0x09D88028)
02:00000:00069:2010/11/23 09:44:47.68 kernel pc: 0x0091278C (Symbol not found)(0x7877B0C4, 0x15547628, 0x7877FEAE, 0x00000000)
02:00000:00069:2010/11/23 09:44:47.68 kernel pc: 0x008F9773 (Symbol not found)(0x08003455, 0x7877F6A0, 0x7877F6A0, 0x7877F6A0)
02:00000:00069:2010/11/23 09:44:47.68 kernel pc: 0x009267F0 (Symbol not found)(0x0044B2D5, 0x08003455, 0x7877FEAE, 0x07FFB98C)
02:00000:00069:2010/11/23 09:44:47.68 kernel [Handler pc: 0x008F83A0 (Symbol not found) installed by the following function:-]
02:00000:00069:2010/11/23 09:44:47.68 kernel pc: 0x008F7F31 (Symbol not found)(0x07FFB900, 0x00000000, 0x00000000, 0x00000000)
02:00000:00069:2010/11/23 09:44:47.68 kernel pc: 0x004533A9 (Symbol not found)(0x000000BE, 0x00000000, 0x00000000, 0x09D88028)
02:00000:00069:2010/11/23 09:44:47.68 kernel [Handler pc: 0x00472864 (Symbol not found) installed by the following function:-]
02:00000:00069:2010/11/23 09:44:47.68 kernel [Handler pc: 0x006D8E30 (Symbol not found) installed by the following function:-]
02:00000:00069:2010/11/23 09:44:47.68 kernel [Handler pc: 0x006D8E30 (Symbol not found) installed by the following function:-]
02:00000:00069:2010/11/23 09:44:47.68 kernel pc: 0x0041AF0F (Symbol not found)(0x09D88028, 0x00000000, 0x00000000, 0x09D88028)
02:00000:00069:2010/11/23 09:44:47.68 kernel pc: 0x00B34897 AseHTTPURLInputStream::readBytes+ 0x6c5b1 (0x00B34813, 0x09D88028, 0x00000000, 0x00000000)
02:00000:00069:2010/11/23 09:44:47.68 kernel pc: 0x7D4DFE37 kernel32.dll (0x00000000, 0x00000000, 0x00000000, 0x00000000)
02:00000:00069:2010/11/23 09:44:47.68 kernel end of stack trace, spid 69, kpid 921108658, suid 81
02:00000:00069:2010/11/23 09:44:47.68 kernel ************************************
02:00000:00069:2010/11/23 09:44:47.68 kernel SQL causing error : InDateTime = case when ac.TypeAcc = 1
then (select min(rd2.InDateTime)
from tResDate rd2 (index XPKtResDate)
inner join tPropertyUsr pu2 (
02:00000:00069:2010/11/23 09:44:47.68 kernel ************************************
02:00000:00069:2010/11/23 09:44:47.68 server SQL Text: InDateTime = case when ac.TypeAcc = 1
then (select min(rd2.InDateTime)
from tResDate rd2 (index XPKtResDate)
inner join tPropertyUsr pu2 (index XPKtPropertyUsr)
on pu2.PropertyUsrID = rd2.PropertyUsrID
and pu2.Brief = 'НомСообФНС'
and rd2.ResDateID = rd.ResDateID)
else (select max(rd2.InDateTime)
from tResDate rd2 (index XPKtResDate)
inner join tPropertyUsr pu2 (index XPKtPropertyUsr)
on pu2.PropertyUsr
02:00000:00069:2010/11/23 09:44:47.70 kernel curdb = 5 tempdb = 2 pstat = 0x50000
02:00000:00069:2010/11/23 09:44:47.70 kernel lasterror = 0 preverror = 0 transtate = 1
02:00000:00069:2010/11/23 09:44:47.70 kernel curcmd = 0 program = R[Message_test.
02:00000:00069:2010/11/23 09:44:47.70 kernel pc: 0x00BB1A3D AseHTTPURLInputStream::readBytes+ 0xe9757 (0x78777C1C, 0x7D4D89E0, 0x7D4D8F38, 0xFFFFFFFF)
02:00000:00069:2010/11/23 09:44:47.70 kernel pc: 0x00BB1A3D AseHTTPURLInputStream::readBytes+ 0xe9757 (0x78777C1C, 0x787779D4, 0x0000270F, 0x00000002)
02:00000:00069:2010/11/23 09:44:47.70 kernel pc: 0x00B89C5A AseHTTPURLInputStream::readBytes+ 0xc1974 (0x36E700B2, 0x00000002, 0x0000270F, 0x00000000)
02:00000:00069:2010/11/23 09:44:47.70 kernel pc: 0x00B898E4 AseHTTPURLInputStream::readBytes+ 0xc15fe (0x36E700B2, 0x00000001, 0x00000000, 0x00000000)
02:00000:00069:2010/11/23 09:44:47.70 kernel pc: 0x00B3F33B AseHTTPURLInputStream::readBytes+ 0x77055 (0x36E700B2, 0xFFFFFFFF, 0xC0000005, 0x07FFB98C)
02:00000:00069:2010/11/23 09:44:47.70 kernel pc: 0x0040737E (Symbol not found)(0xC0000005, 0x77BC6CD5, 0x787781A0, 0x00000000)
02:00000:00069:2010/11/23 09:44:47.70 kernel pc: 0x00B33D79 AseHTTPURLInputStream::readBytes+ 0x6ba93 (0x09D88028, 0x00000000, 0x00000000, 0x09D88028)
02:00000:00069:2010/11/23 09:44:47.70 kernel pc: 0x00B34917 AseHTTPURLInputStream::readBytes+ 0x6c631 (0x00B34813, 0x09D88028, 0x00000000, 0x00000000)
02:00000:00069:2010/11/23 09:44:47.70 kernel pc: 0x7D4DFE37 kernel32.dll (0x00000000, 0x00000000, 0x00000000, 0x00000000)
02:00000:00069:2010/11/23 09:44:47.70 kernel end of stack trace, spid 69, kpid 921108658, suid 81
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36973428
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Викторрр,

Протокол у ASE общения с клиентами TDS, к HTTP отношения не имеет.

Потому ошибки в трейсе
XMLFormatter::specialFormat, AseHTTPURLInputStream - от вероятно это от какой-то веб - примочки внутри АСИ, мешающая ей жить.

Варить гуглу - примочка называется Xerces-C - живет в апаче ))
...
Рейтинг: 0 / 0
Оптимизация производительности Sybase ASE 12.5.1
    #36973935
Викторрр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SiemarglВикторрр,

Протокол у ASE общения с клиентами TDS, к HTTP отношения не имеет.

Потому ошибки в трейсе
XMLFormatter::specialFormat, AseHTTPURLInputStream - от вероятно это от какой-то веб - примочки внутри АСИ, мешающая ей жить.

Варить гуглу - примочка называется Xerces-C - живет в апаче ))

Т.е. при установке Sybase я поставил чего-то (Xerces-C) лишнего и оно теперь не дает нормально работать серверу? А можно ли его просто удалить?
И по поводу апача, на сервере, кроме сайбеса ничего нет, по крайней мере я его не ставил, еще Java периодически обновляется.
...
Рейтинг: 0 / 0
227 сообщений из 227, показаны все 10 страниц
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Оптимизация производительности Sybase ASE 12.5.1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]