Страница 1 из 1
Супер-сервер под FreeBSD
Добавлено: 08 июл 2005, 13:58
Сергей
Подскажите, почему нет Firebird в архитектуре SuperServer для FreeBSD? Во FreeBSD можно использовать только Classic?
Это что, какая-то принципиальная позиция разработчиков?
Пишу web-приложение, поэтому нужно добиться высокой производительности.
Или, в таком случае альтернатива - Linux + Firebird (SuperServer)?
Выбирать могу только Firebird под Unix - требования заказчика
Добавлено: 08 июл 2005, 17:31
DSKalugin
А с чего ты вообще взял, что у SuperServer производительность выше чем у классика?
дело то не в принципе, а в конкретной нагрузке и в железе сервера
Добавлено: 09 июл 2005, 12:46
Сергей
Вот именно - "дело в конкретной нагрузке".
SuperServer загружается один раз и ждет подключений.
ClassicServer загружается каждый раз как только появляется подключение.
Запуск сервера занимает время, поэтому для web-приложений SuperServer предпочтительнее Classic.
Добавлено: 09 июл 2005, 13:01
DSKalugin
Видимо тут еще имеют место некоторые особенности архитектуры самой ОС Фрюникс. Там ведь не ламеры сидят и решение это не из пальца высосали разработчики ФБ.
Линукс имеет обе архитектуры, да и попроизводительней фрюхи будет. Его и ставь если так уж хочется.
Кстати, я видел у фрюши поддержку запуска линуксовых приложений. Не знаю как это все там организовано, но покопай в этом направлении если интересно.
А слабо самому из исходников порт супера компильнуть?

Добавлено: 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:39
DSKalugin
Ну вот ты сам на свой вопрос и ответил
А на чем, Серж, ты вэбприложение писать собрался?
Добавлено: 09 июл 2005, 13:49
Сергей
Я понимаю в чем может быть причина отсутствия SuperServer для FreeBSD.
Но ведь Apache, к примеру, работает в режиме SuperServer как на FreeBSD так и на Linux. И из одних и тех же исходников собирается, и нити использует не смотря на особенности платформы.
Вот меня и интерисует почему с Firebird ситуация иная.
По поводу web-приложения: Apache + PHP + Firebird
Добавлено: 09 июл 2005, 14:47
Merlin
Абисняю. В данный исторический период все активные разработчики FB как такового, имеющие личный интерес к деятельности этого рода и поддерживаемые грантами от Firebird Foundation, сами по роду основной деятельности живут на Win и Linux. Остальными платформами занимаются так называемые port mantainers, добровольцы, занимающиеся не разработкой, а билдостроительством с минимальной подгонкой кода под особенности своей оси. Chris Knight, мантайнер порта FreeBSD, одно время был достаточно активен и пытался даже кое-что доделывать чего не было в основном коде. Например, ещё в 2001 году у него частично работали в классике Services API, хотя в основном коде об этом тогда и речи не было. Впоследствии у него возникли серьёзные проблемы со здоровьем и некоторое время его было не видно и не слышно. Сейчас билды строит, но никакой расширенной деятельностью не занимается. Похожая ситуация с MacOS. Мантайнер этого порта, John Bellardo, некоторое время был одной из ключевых фигур в FB, но впоследствии у него резко увеличилась нагрузка по основной работе и сейчас он только изредка консультирует остальных членов команды. Мантайнер Solaris, Константин Кузнецов, испытывает недостаток времени на подгонку нового кода под старые версиях оси, похоже, что FB2 будет уже только под 10-ку.
В общем, Volunteers Welcome, Open Source - это не раздача пряников требовательным и придирчивым потребителям, он на том и стоит, что кому-то что-то становится настолько нужным, что он прикладывает собственные рученьки и делится с остальными, давшими что-то другое. Если это что-то никому так уж сильно не нужно, то оно так и остаётся в сфере Возможного.
Добавлено: 09 июл 2005, 14:52
Merlin
Да, кстати, насчёт классики, web и FreeBSD. Эта ось действительно не лучший выбор для SQL-сервера, при большой нагрузке она начинает сильно тянуть одеяло на себя, в смысле ресурсов. Сильный аргумент в пользу классики под web - в случае, когда одно из соединений генерирует настолько некоорректный запрос (или наступает на багу в сервере или УДФ), что сервер валится, то супер валится вместе со всеми соединениями, в классике остальные соединения этого просто не замечают. Накладные расходы на запуск процесса просветлёныые в Дао минимизируют путём создания в приложении пула постоянно активных коннектов и направляют поступающие запросы в одно из свободных в этот момент.
Добавлено: 11 июл 2005, 10:58
kdv
апач не работает в режиме SS. у него точно так же как у любого классика есть ограничение на число одновременных коннектов, порядка 170-ти или около того. Отличие - что делается fork а не старт нового процесса. Может быть моя информация устарела, но так было с год назад.
Добавлено: 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.
Добавлено: 11 июл 2005, 14:00
kdv
блин. ну поддерживает. и что с того? читать же надо:
Многопоточность в UNIX
На UNIX системах, которые поддерживают потоки (нити) стандарта POSIX, ....
так тебе и пишут, что в FreeBSD до сих пор проблема со стандартными threads. Только сейчас они там что-то пытаются сделать, чтобы это действительно было стандартно и работало. Поэтому ни апач с тредами ни superserver НЕ будут работать под FreeBSD.
Добавлено: 11 июл 2005, 14:04
Сергей
Merlin писал(а):Накладные расходы на запуск процесса просветлёныые в Дао минимизируют путём создания в приложении пула постоянно активных коннектов и направляют поступающие запросы в одно из свободных в этот момент.
Это понятно. Как можно реализовать такой механизм в связке PHP + Firebird. Есть опыт?
Добавлено: 11 июл 2005, 14:24
kdv
ibase_pconnect?
Добавлено: 20 июл 2005, 15:26
DSKalugin
Сергей писал(а):Apache2 поддерживает нити. Так сказано в "Overview of new features in Apache 2.0"
Если ты намерен использовать Apache в связке с PHP, то забудь о второй версии. Она на тестах показала себя хуже чем ветка 1,3,х по производительности. Это всем известный факт. В одном из номеров журнала
http://www.phpinside.ru/ была подробная статья на эту тему. Если интересно - поищи