D3 Reference Manual

Index | Help

Поиск по страницам

Разделы / Общие сведения / blocked IO

blocked IO

Буфферизованный (блочный) ввод-вывод

Механизм, используемый процессом D3 для осуществления блочного ввода/вывода с целью повышения производительности дисковых операций.

Процессы, выполняющие последовательные обращения к диску, такие как команды AQL, имеют возможность группировать несколько чтений диска в одно обращение. Это позволяет сократить число обращений к диску и, следовательно, повысить производительность. Например, выборка файла в 10,000 фреймов обычно требует 10,000 обращений к диску. Если процесс может считывать 4 фрейма за раз, это уже потребует только 2,500 чтений. Даже если чтение 4 фреймов (8 кБ в системе с фреймом 2кБ) займет больше времени, чем чтение 1 фрейма (2 кБ), сокращение количества обращений к диску обычно позволяет значительно повысить производительность.

Ценой использования блочного ввода/вывода является повышенные требования к памяти системы, что может повлиять на многопользовательские возможности.

Видимый эффект от группировки дисковых чтений - это уменьшение числа ошибок 'frame fault' (когда процесс D3 требует страницу, которая отсутствует в памяти). Это можно отследить с помощью команды TCL "buffers".

Фактор блока (или число фреймов, считываемых за одно обращение к диску) для всей системы может быть задан командой TCL "blkio" или как аргумент в конфигурационном файле.