> Машина 2 CPU SPARC, 1GB RAM, 2 SCSI диска, Solaris 8
> Файлы базы данных сидят на одном диске.
> Парметры Oracle
> DB_MULTIBLOCK_READ_COUNT и SORT_MULTIBLOCK_READ_COUNT
> установлены в 96.
> Обычно параметр wio из команды sar показывал значение порядка 20-25.
>
> Поменял кое-что Диск теперь монтируется с опциями forcedirectio в /etc/system
> добавил параметр set maxphys = 1048576
>
> Теперь параметр sar показывает среднее значение порядка
> 30-35 - т.е., на десять единиц больше. В чем может быть причина - по идее,
> Oracle должен быстрее работать - а он еще медленней стал.....
Hе совсем то.
Правильная настройка параметров выглядит так:
1. Определить размер операции физического ввода-вывода ( Обычно это 1Mб )
Кажется это set maxphys = 1048576
2. После этого определить DB_BLOCK_SIZE внутри экземпяра ORACLE.
DB_MULTIBLOCK_READ_COUNT и SORT_MULTIBLOCK_READ_COUNT = 1МБ/DB_BLOCK_SIZE
При размере DB_BLOCK_SIZE 8к , DB_MULTIBLOCK_READ_COUNT = 128
а при DB_BLOCK_SIZE 16к ,
DB_MULTIBLOCK_READ_COUNT = 64
Хочу заметить, что это только правильная настройка параметров.
Тормозить однако может по другой причине.
Скорей всего (99% ) из-за большого числа DB_MULTIBLOCK_READ_COUNT
оптимизатор запросов принимает не правильное решение и выбирает полное
сканирование таблицы вместо просмотра по индексу.