Книга: Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil
Улучшенное время отклика для версии SuperServer
Улучшенное время отклика для версии SuperServer
В серверах Bolrand InterBase версии ниже 7.0, использующих архитектуру SuperServer, одновременное обслуживание нескольких клиентов реализовано по схеме многопоточного сервера. Однако переключение процессора между потоками (диспетчеризация) происходит не по требованию операционной системы, а в моменты времени, выбираемые активным потоком "добровольно". Такая схема очень похожа на реализацию многозадачности в Windows 3.1 и называется невытесняющей многозадачностью.
С каждым потоком связано числовое значение, первоначально равное величине кванта времени. При прохождении потока через определенные точки в коде это значение уменьшается на единицу, пока не достигнет нуля. В этот момент квант времени считается исчерпанным и активный поток передает управление другому. Ясно, что обеспечить равный доступ каждого потока к процессору при 1эком подходе невозможно. На практике эта проблема проявляется в резком увеличении времени выполнения оперативных запросов при одновременном выполнении длительных, "тяжелых" запросов.
В сервере Yaffil данная проблема ослаблена за счет введения дополнительных точек переключения в наиболее часто повторяющихся участках кода сервера. Для рабочих потоков сервера и о цельно для потока сборки мусора есть возможность задавать величину кванта времени с помощью параметров конфигурации THREAD_QUANTUM и SWEEP_THREAD_QUANTUM. Параметр FORCE_RESHEDULE активизирует дополнительные точки переключения. В результате распределение процессорного времени между рабочими потоками происходит более равномерно.
- Улучшенная производительность
- Улучшенный оптимизатор запросов
- Оптимизация сетевого трафика
- Эффективная работа с временными файлами сортировки
- Оптимальная структура хранения записей
- Ускоренная работа с индексами
- Улучшенная стратегия вычисления предиката IN и условий, объединенных по OR
- Ускоренное обновление данных
- Уменьшение времени, необходимого для резервного копирования и восстановления
- Индексы по выражениям
- Уменьшение размера, занимаемого индексами
- Выражения в значениях по умолчанию для доменов
- Удобная операция объединения строк
- Расширенные возможности указания пользовательских планов
- Имена индексов ограничений
- Улучшенное время отклика для версии SuperServer
- Улучшенный протокол локальных соединений (XNET)
- Ограничение времени ожидания для транзакций (Lock timeout)
- 3.1.5. Дата и время
- 11.3.2. Отображение версии Linux
- 11.2 ВЗАИМОДЕЙСТВИЕ ПРОЦЕССОВ В ВЕРСИИ V СИСТЕМЫ
- Ситуация 7. Установка новой версии операционной системы
- 14.3. Более точное время
- Каталог BIN в SuperServer
- Минимальный состав сервера InterBase SuperServer
- SuperServer
- Classic vs SuperServer
- Рекомендации по выбору архитектуры: Classic или SuperServer?
- Часы в Windows показывают неправильное время
- Другие изменения в 7-й версии InterBase