четверг, 31 января 2008 г.

Немного про btscanner

Итак, начну с того что настройки сканера по умолчанию (threshold 5000 и тип сканирования leaf scan) зачастую приводят к высокой нагрузке в системах где преобладают модификации данных. При таких настройках работа btscanner существенно нагружает процессоры и диски сервера, что совсем не в лучшую сторону сказывается на производительности пользовательских транзакций.
Информикс располагает двумя (начиная с версии 9.4) и тремя (начиная с версии 10) способами очистки индексных страниц:

1 способ это leaf scan, при котором каждая индексная страница перед очисткой загружается в буферный пул информикса. Эта особенность работы и является основным недостатком данного способа:
при больших размерах индексов происходит активное вытеснение страниц данных и индексов из буферного пула страницами очищаемого индекса, что в свою очередь приводит к высокой нагрузке на дисковую подсистему.

2 способ это range scan. Основное преимущество этого способа очистки индексов состоит в том что в буферный пул индексные страницы не загружаются. Вместо этого используется пул в виртуальном сегменте информикса, т.н. "легкое сканирование". В результате нет конкуренции за буферный пул между сканером и пользовательскими сессиями. Ограничение работы range scan: таким способом очищаются только detached-индексы, т.е. индексы находящие ся в собственном разделе (такие индексы появились впервые в версии 9.30). Attached-индексы как обычно будут очищаться методом leaf scan.

3 способ, который появился впервые в 10 версии информикса называется ALICE (Adaptive Linear Index Cleaning). Этот способ использует битовые карты для очистки индекса. Это позволяет загружать только определенные группы страниц индекса для очистки, что очень хорошо влияет на производительность btscanner.

Т.о. самым производительным является для btscanner режим работы ALICE. Тем не менее это новый тип сканирования и в нем могут быть свои баги.

В документации к Информиксу информации про работу и настройку btscanner минимум, то что я написал выше это сборка информации из разных источников в интернет.

понедельник, 28 января 2008 г.

Как создать файл

Многие спрашивают: как создать пустой файл для чанка на файловой системе?
Отвечаю: есть по крайней мере три способа это сделать. Первый способ это использовать команду touch. Второй способ - это команда cat. И третий способ, самый извращенный это использование текстового редактора, например vi. И это не полный список способов создания пустого файла :)))

вторник, 22 января 2008 г.

Используем символические ссылки вместо прямых путей

Есть очень хорошее правило которому я всегда следую: никогда не указывать прямых путей к чанкам при создании dbspace и добавлении новых чанков. Всегда указывать пути к чанкам через символические ссылки. Почему? Представим следующую ситуацию: сервер информикс имеет dbspace с чанком и при создании этот чанк был указан по прямому пути. Однажды диск где лежат чанки ломается. На сервере полно места на других дисках, но при создании dbspace был указан прямой путь и чтобы восстановить поврежденные чанки из бэкапа, надо указывать старый путь, которого больше нет. Например если поврежден диск /dev/sdb1 (при использовании сырых устройств в Linux) то надо вместо него поставить в систему исправный чтобы начать восстановление, а если его нет то восстановление затягивается. Немного проще если чанки лежали на файловой системе - тогда можно путь этой ФС подменить другой смонтированной по этому пути файловой системой.
Зато если использовать символические ссылки, то таких проблем не возникнет: имя ссылки может оставаться прежним, а направить ее можно в любое место на файловой системе или диске. Так можно делать в Unix (AIX, Linux и др. системах).
В Windows на NTFS символических ссылок вроде бы как и нет. Т.е. простых средств для их создания, которые бы шли вместе с системой я не знаю. Зато есть утилиты сторонних производителей, которые позволяют задействовать эту функциональность NTFS. Например программа junction фирмы Sysinternals. Но опыта использования этого средства для указания путей к чанкам в Windows я не имею.