Изменить тип сервера Firebird с superserver на classic

День добрый! Сегодня мы поговорим о архитектурах (типах сервера) Firebird и о том, как изменить тип сервера  с superserver на classic и наоборот.

Firebird выпускается в двух видах, называемых архитектурах: Classic Server и Superserver.

Какую установить Вам? Ответ на этот вопрос, конечно же, зависит от вашей ситуации.

Основные различия представлены в таблице:

Classic Server Superserver
Полностью зрелое решение для платформы Linux. Под Windows доступно начиная с версии 1.5.1. Полностью зрелое решение, как для Windows, так и для Linux.
На каждое пользовательское соединение создается отдельный процесс со своим кэшем. При малом количестве соединений потребляется меньше ресурсов. Один серверный процесс обслуживает все подключения, используя потоки для обработки запросов. Разделяемое пространство кэша. Более эффективен (в плане потребления ресурсов) в случае роста числа одновременных соединений.
Обеспечивает быстрые, прямые операции ввода/вывода к файлам базы данных для локальных соединений на платформе Linux. Под Windows локальные соединения необходимо осуществлять через интерфейс localhost. Под Linux локальные соединения осуществляются посредством подключения к localhost. (часто неявно). Под Windows, это опционально, и допустимо осуществлять прямое локальное подключение, но этот вариант не будет работать также быстро как «Классический» вариант под Linux, кроме того, он менее надежный.
В версии 1.5 частично реализован Services Manager, поддерживающий операции типа
резервирования/восстановления, останов базы данных и т. д. по сети. Другие задачи придется осуществлять локально, используя отдельные утилиты, поставляемые вместе с Firebird. В версии 1.5.1 Services Manager реализован полностью.
Полноценный Services Manager, позволяющий программно осуществлять операции по управлению (резервирование/восстановление, останов базы данных, управление пользователями, получение статистики и т. д.). Вы можете подключиться к Services Manager по сети и, соответственно, выполнять эти операции удаленно.
Поддерживается SMP (Symmetrical Multiprocessing, симметричная многопроцессорность). Лучшая производительность в случае малого числа множественных соединений, не влияющих друг на друга. SMP не поддерживается. На многопроцессорных серверах под управлением Windows, производительность может резко снизиться, поскольку операционная система будет переключать процесс (Firebird) между процессорами. Чтобы избежать этого, установите
параметр CpuAffinityMask в конфигурационном файле firebird.conf.

Как видите, нет варианта, полностью превосходящего альтернативную архитектуру по всем параметрам. Это и не удивительно: мы бы не стали поддерживать две архитектуру, если бы одна из них была безнадежна по всем статьям.

Если Вы все еще не уверены, что именно выбрать (возможно, технические подробности показались Вам чересчур сложными для «Быстрого старта») воспользуйтесь следующим правилом:

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

Обращаем Ваше внимание, что в любой момент времени Вы можете перейти на другую архитектуру. При этом Ваши базы данных и приложения продолжат работать без изменений (за исключением случаев использования неподдерживаемых и/или неисправных функций Services Manager в Classic Server).

Как определить какой тип сервера firebird установлен?

Для того, чтобы определить какой тип сервера firebird установлен, необходимо зайти в диспетчер задач и посмотреть запущенные процессы:

  • если запущен сервис fb_inet_server.exe — это Classic Server.
  • если запущен сервис fbserver.exe — это SuperServer.

Как перейти на другую архитектуру Firebird?

Убеждаемся, что все пользователи отключились от базы данных. Открываем командную строку и переходим в папку BIN сервера (как правило, полный путь c:\program files\firebird\bin). Выполняем следующие команды:

instsvc stop
instsvc remove
instsvc install -c -a
instsvc start

Для того, чтобы перейти в обратную сторону, с classic на superserver, делаем тоже самое, только вместо ключа -с используем -s.

instsvc stop
instsvc remove
instsvc install -s -a
instsvc start

Примечание: Параметр -a означает автоматический запуск службы сервера после загрузки операционной системы.

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

Размещено в Базы данных.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.