Супер-сервер под FreeBSD

Администирование клиентской и серверной части InterBase, Firebird, Yaffil. Настройка файла конфигурации и т.п.

Модераторы: kdv, Alexey Kovyazin

Ответить
Сергей
Сообщения: 13
Зарегистрирован: 10 ноя 2004, 10:35

Супер-сервер под FreeBSD

Сообщение Сергей » 08 июл 2005, 13:58

Подскажите, почему нет Firebird в архитектуре SuperServer для FreeBSD? Во FreeBSD можно использовать только Classic?

Это что, какая-то принципиальная позиция разработчиков?

Пишу web-приложение, поэтому нужно добиться высокой производительности.

Или, в таком случае альтернатива - Linux + Firebird (SuperServer)?

Выбирать могу только Firebird под Unix - требования заказчика

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 08 июл 2005, 17:31

А с чего ты вообще взял, что у SuperServer производительность выше чем у классика?

дело то не в принципе, а в конкретной нагрузке и в железе сервера

Сергей
Сообщения: 13
Зарегистрирован: 10 ноя 2004, 10:35

Сообщение Сергей » 09 июл 2005, 12:46

Вот именно - "дело в конкретной нагрузке".

SuperServer загружается один раз и ждет подключений.

ClassicServer загружается каждый раз как только появляется подключение.

Запуск сервера занимает время, поэтому для web-приложений SuperServer предпочтительнее Classic.

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 09 июл 2005, 13:01

Видимо тут еще имеют место некоторые особенности архитектуры самой ОС Фрюникс. Там ведь не ламеры сидят и решение это не из пальца высосали разработчики ФБ.
Линукс имеет обе архитектуры, да и попроизводительней фрюхи будет. Его и ставь если так уж хочется.
Кстати, я видел у фрюши поддержку запуска линуксовых приложений. Не знаю как это все там организовано, но покопай в этом направлении если интересно.
А слабо самому из исходников порт супера компильнуть? :shock:

Сергей
Сообщения: 13
Зарегистрирован: 10 ноя 2004, 10:35

Сообщение Сергей » 09 июл 2005, 13:33

Попытаться собрать можно, но не в этом дело.

Дело вот в чем:
Super Server support in Firebird 1.5 for FreeBSD is not currently available due to the Firebird code using POSIX threads APIs not available in FreeBSD 4.x or not yet complete in FreeBSD 5.x. This issue will become more important once the scalability issues of Super Server have been resolved.
Фраза взята из http://prdownloads.sourceforge.net/fire ... z?download.

Насколько я понимаю во FreeBSD нити не соответствуют POSIX и если верить фразе “not yet complete” во FreeBSD 5 они находятся на стадии приведения к стандарту.

Потому в данный момент “порт супера компильнуть” смысла не имеет.

Очень надеюсь что Firebird 2 все таки будет иметь версию SuperServer для FreeBSD.
Последний раз редактировалось Сергей 09 июл 2005, 13:40, всего редактировалось 1 раз.

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 09 июл 2005, 13:39

Ну вот ты сам на свой вопрос и ответил :wink:

А на чем, Серж, ты вэбприложение писать собрался?

Сергей
Сообщения: 13
Зарегистрирован: 10 ноя 2004, 10:35

Сообщение Сергей » 09 июл 2005, 13:49

Я понимаю в чем может быть причина отсутствия SuperServer для FreeBSD.

Но ведь Apache, к примеру, работает в режиме SuperServer как на FreeBSD так и на Linux. И из одних и тех же исходников собирается, и нити использует не смотря на особенности платформы.

Вот меня и интерисует почему с Firebird ситуация иная.

По поводу web-приложения: Apache + PHP + Firebird

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 09 июл 2005, 14:47

Абисняю. В данный исторический период все активные разработчики FB как такового, имеющие личный интерес к деятельности этого рода и поддерживаемые грантами от Firebird Foundation, сами по роду основной деятельности живут на Win и Linux. Остальными платформами занимаются так называемые port mantainers, добровольцы, занимающиеся не разработкой, а билдостроительством с минимальной подгонкой кода под особенности своей оси. Chris Knight, мантайнер порта FreeBSD, одно время был достаточно активен и пытался даже кое-что доделывать чего не было в основном коде. Например, ещё в 2001 году у него частично работали в классике Services API, хотя в основном коде об этом тогда и речи не было. Впоследствии у него возникли серьёзные проблемы со здоровьем и некоторое время его было не видно и не слышно. Сейчас билды строит, но никакой расширенной деятельностью не занимается. Похожая ситуация с MacOS. Мантайнер этого порта, John Bellardo, некоторое время был одной из ключевых фигур в FB, но впоследствии у него резко увеличилась нагрузка по основной работе и сейчас он только изредка консультирует остальных членов команды. Мантайнер Solaris, Константин Кузнецов, испытывает недостаток времени на подгонку нового кода под старые версиях оси, похоже, что FB2 будет уже только под 10-ку.

В общем, Volunteers Welcome, Open Source - это не раздача пряников требовательным и придирчивым потребителям, он на том и стоит, что кому-то что-то становится настолько нужным, что он прикладывает собственные рученьки и делится с остальными, давшими что-то другое. Если это что-то никому так уж сильно не нужно, то оно так и остаётся в сфере Возможного.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 09 июл 2005, 14:52

Да, кстати, насчёт классики, web и FreeBSD. Эта ось действительно не лучший выбор для SQL-сервера, при большой нагрузке она начинает сильно тянуть одеяло на себя, в смысле ресурсов. Сильный аргумент в пользу классики под web - в случае, когда одно из соединений генерирует настолько некоорректный запрос (или наступает на багу в сервере или УДФ), что сервер валится, то супер валится вместе со всеми соединениями, в классике остальные соединения этого просто не замечают. Накладные расходы на запуск процесса просветлёныые в Дао минимизируют путём создания в приложении пула постоянно активных коннектов и направляют поступающие запросы в одно из свободных в этот момент.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 11 июл 2005, 10:58

апач не работает в режиме SS. у него точно так же как у любого классика есть ограничение на число одновременных коннектов, порядка 170-ти или около того. Отличие - что делается fork а не старт нового процесса. Может быть моя информация устарела, но так было с год назад.

Сергей
Сообщения: 13
Зарегистрирован: 10 ноя 2004, 10:35

Сообщение Сергей » 11 июл 2005, 12:07

Apache2 поддерживает нити. Так сказано в "Overview of new features in Apache 2.0":
http://httpd.apache.org/docs-2.0/new_features_2_0.html.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 11 июл 2005, 14:00

блин. ну поддерживает. и что с того? читать же надо:
Многопоточность в UNIX
На UNIX системах, которые поддерживают потоки (нити) стандарта POSIX, ....
так тебе и пишут, что в FreeBSD до сих пор проблема со стандартными threads. Только сейчас они там что-то пытаются сделать, чтобы это действительно было стандартно и работало. Поэтому ни апач с тредами ни superserver НЕ будут работать под FreeBSD.

Сергей
Сообщения: 13
Зарегистрирован: 10 ноя 2004, 10:35

Сообщение Сергей » 11 июл 2005, 14:04

Merlin писал(а):Накладные расходы на запуск процесса просветлёныые в Дао минимизируют путём создания в приложении пула постоянно активных коннектов и направляют поступающие запросы в одно из свободных в этот момент.
Это понятно. Как можно реализовать такой механизм в связке PHP + Firebird. Есть опыт?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 11 июл 2005, 14:24

ibase_pconnect?

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 20 июл 2005, 15:26

Сергей писал(а):Apache2 поддерживает нити. Так сказано в "Overview of new features in Apache 2.0"
Если ты намерен использовать Apache в связке с PHP, то забудь о второй версии. Она на тестах показала себя хуже чем ветка 1,3,х по производительности. Это всем известный факт. В одном из номеров журнала http://www.phpinside.ru/ была подробная статья на эту тему. Если интересно - поищи

Ответить