За последние пару недель в код FreeBSD было внесено множество изменений, среди которых:
- Выделение (http://docs.freebsd.org/cgi/mid.cgi?20061026213343.GA29160) кода KSE в опцию ядра. При компиляции ядра на основе собственных конфигурационных файлов необходимо включать 'options KSE'. В случае использования libthr вместо libpthread в KSE нет необходимости.
- Добавление (http://docs.freebsd.org/cgi/mid.cgi?20061106192814.P28593) нового интерфейса проверки привилегий внутри ядра - priv(9). Это замена существующему интерфейсу suser(9). priv(9) более гибок и позволяет более гибко ограничивать привилегии пользователю, и является вариантом реализации POSIX capabilities.
- добавление (http://docs.freebsd.org/cgi/mid.cgi?45524517.1060501) поддержки SCTP.В данный момент эти изменения доступны в 7.0-CURRENT.
URL:
Новость: http://www.opennet.me/opennews/art.shtml?num=8740
Когда ж они наконец сделают так, чтобы фрибсд нормально тянула большие mysql базы и в бенчмарках со вторым апачем не сливала линуксу.
А это к апачу и мускулу. Они пишут под Linux.
Или когда под FreeBSD сделают нормальные потоки. А то что-то как-то там мутно с ними.
Потоки давно уже нормальные. Хотите используте 1:1 библиотеку, хотите M:N - as you wish.
А шагами по ускорению работы является
1) новый malloc - ejmalloc вместо phkmalloc. (если не путаю названия) он уже в 6-ке должен быть.
2) новый шедулер - написаный в замен ULE - shed_core, который доступен в HEAD.
вопрос в другом - что бинарник сделаный Mysql CO, и бинарник собраный под 6-кой из портов весьма и весьма отличается по скорости. Хотя сборка идет в портах по доке из mysql info.
Видимо можно еще как-то хитро собрать mysql что бы получить выигрыш в скорости весьма заметный...
А какие приложения это все поддерживают?
вобще это глобальные - ака изменения в world.
так что как только это внесли в систему все приложения стали ими пользоваться.
По ejmalloc.
http://people.freebsd.org/~jasone/jemalloc/bsdcan2006/
по sched_core - где-то в архивах current@ было письмо давида ксю с бенчмарками, на сколько помню там было что-то около 1.5-2 раза прирост провозиодительности у mysql с libthr.Кстати опять же не стоит забывать что те приложения которые затачивались под linux будут лучше жить с libthr чем с libpthread и это можно вполне поправить через map.conf.
А дефолт в системе KSE + libphread.
собрать его ic
Про тюнинх FreeBSD под MySQL кое-что есть тут:
http://wikitest.freebsd.org/MySQL
> Когда ж они наконец сделают так, чтобы фрибсд нормально тянула
>большие mysql базы и в бенчмарках со вторым апачем не сливала
>линуксу.Mysql:
а ты пользуй memory fs
создай раздел виртуальный на несколько метров и натрави туда mysql что бы свои временные таблицы кидал + собирай с pthreads и статичной компиляцией + читай комменты в конфигах и доке по mysql.Apache:
дока была про оптимизацию его mpm модулейSystem:
Ковыряй в сторону увеличение буферов. Количество открытых файлов + оптимизация сетевого стека.Пользовательская - проггерская сторона:
Берем паяльник и время от времени прогреваем внутренности ионных что бы грамотно писали код + прочитали в поисковике что есть такое нормализация табличных пространств. Тогда и большие базы будут нипочем :-))
табличные пространства дефрагментируют, нормализуют же логическую структуру базы, таблицы.
сорри очепятался
А объясните мне, кто вообще использует SCTP? Какая-нибудь от него польза есть, кроме кучи дырок (правда, только в linux)?
> Какая-нибудь от него польза есть, кроме кучи дырок (правда, только в linux)?теперь и во FreeBSD :)
да... смотрю Макс порядок навел :)а реально, чего реально инетерсного получилось у фри и хотелось бы видеть это под рукой - это нетграф. реально его не щупал, но повествований и док хватило, чтоб оценить глубину задумки... вот портировать бы это на линух - и все встало бы на свои места ;)
>да... смотрю Макс порядок навел :)
>
>а реально, чего реально инетерсного получилось у фри и хотелось бы видеть
>это под рукой - это нетграф. реально его не щупал, но
>повествований и док хватило, чтоб оценить глубину задумки... вот портировать
>бы это на линух - и все встало бы на свои
>места ;)netgraph штука отличная, но в 5.5 еще полноценно использовать нельзя - и мало ng модулей (даже natd нет) и есть странные ограничения (типа что после захода в ng нельзя пакет в ipfw вытащить).
поэтому скажем мне надо старой прогой mtu фиксить (tcpmssd - уменьшает mtu чтобы vpn нормально работало - работает через divert), так я пакет на default route на ng перехватываю и передаю на divert, потом еще раз в natd и после этого fw на нужный роут.
то есть толк от ng только в том что на него tee делаю для ng_ipacct, ну и еще фиктивный интерфейс, а скажем когда я попытался ng_ppp подключить - вылезла проблема с ipfw.при этом я очень сомневаюсь что действительно интересный и жизненный мой расклад будет на текущей 6 работать, хоть там уже есть ng_nat и ng_ipfw - наверняка еще чего-то недоделали.
ну и самое интересное - такой замечательный сервис jail, что еще в 4 появился, даже в 6 еще не довели до BSD-шного уровня - нет нормальных квот памяти и проца.
так что я буду на 5-stable ждать 7..
вот прям щас ставлю напосмотреть 6.2-бету
прям на взлете был расстроен отсутствием выбора UTF8 в инсталлере.
Охотно верю, что есть в миру пара тонн патчей, придающих способность фре говорить на
"всемирном" языке, но вот из коробки пока ее не видно...
вот что не говорите, а сразу чувствуется уровень... :|
>вот прям щас ставлю напосмотреть 6.2-бету
>прям на взлете был расстроен отсутствием выбора UTF8 в инсталлере.
>Охотно верю, что есть в миру пара тонн патчей, придающих способность фре
>говорить на
>"всемирном" языке, но вот из коробки пока ее не видно...
>вот что не говорите, а сразу чувствуется уровень... :|
А зачем UTF-8 в консоле? Я вот никак не могу придумать зачем это надо.
Есть и поважнее задачи.
дальше - больше...
виртуальный диск - 3гига - один раздел.
автоматическое распределение слайсов выдало следующую картину:
a / 512Mb
b swap 468Mb
d /var/ 1267Mb (!!!)
e /tmp 512Mb
f /usr 293Mbдефолты и личные пристрастия - дело такое.
Но возник просто й вопрос: смогу ли я на 300 изначальных метрах /usr хотя бы ядро собрать??
ну, минимум бинарей, думаю, все-таки влезет, а вот про исходники придеццо забыть с такими дефолтами (а про порты и не вспоминать).Кто силен бздевой логикой? поделитесь смыслом вываливать в /var остатка диска. наблюдаеццо выделение под вар именно остатка, а /usr имеет какой-то вполне ограниченный размер, что в _общем_ случае нелогично. Более логичным было бы для дефолта: просто свалить все в кучу - один слайс /, ну и своп, раз уж тому кто ставит все равно (кому не все равно - бьет диск руками).
> Я хотел на дефолты посмотреть и они оказались отстойными.МяФ!:) давайте не будем снова устраивать флейм, то что Вам кажеться, что отстутсвие UTF-8 из коробки это показетель низкого уровня - это не так страшно я думаю, тем болие его сейчас делают и скоро он будет из коробки, как и почти во всех Линукс дистрибутивах, заметьте _почти во всех_... поэтому я думаю не стоит так резко говорить, что это показатель уровня, то что инсталятор так отработал на маленьком разделе, так он не расчитан на такие разделы, зделай-те для теста на 10 гигабайтах или 20, Вы увидите разницу...!!!IMXO!!! если ваша цель снова доказать, что кто-то круче кого-то, то лучьше закончить такие дискусии сразу...:-\
>МяФ!:) давайте не будем снова устраивать флейм, то что Вам кажеться, что
>отстутсвие UTF-8 из коробки это показетель низкого уровня - это не
>так страшно я думаю, тем болие его сейчас делают и скоро
>он будет из коробки, как и почти во всех Линукс дистрибутивах,
>заметьте _почти во всех_...основная масса линух дистрибутивов вообще... кхм...
абсолютно неинтересно чего там в них есть, в этих уже почти полтысяче (поправьте если че) поделий...>поэтому я думаю не стоит так резко
>говорить, что это показатель уровня, то что инсталятор так отработал на
>маленьком разделе,уровень показал отсутствующий UTF, а не дефолты slice editora
>так он не расчитан на такие разделы, зделай-те для
>теста на 10 гигабайтах или 20, Вы увидите разницу...!!!IMXO!!! если ваша
>цель снова доказать, что кто-то круче кого-то, то лучьше закончить такие
>дискусии сразу...:-\ну если ж... :)
На RHEL 4 "из коробки" конфиг системы, написанный в дефолтной текстовой консоли, с дефолтной UTF-8, вполне естественно системой не виделся. Почему? Ну это ж скрипт, а в первой строчке вместо
#!/bin/bash
была вначало воткнута UTFная сигнатура. Вот вам и "поддержка UTF", щоб ей провалится.P.S.: Текстового режима, работающего в формате UTF, все равно не придумали еще. И нефиг серверу гуй иметь вообще. А раз так, то и ютф нафиг не нужен на сервере.
>На RHEL 4 "из коробки" конфиг системы, написанный в дефолтной текстовой консоли,
>с дефолтной UTF-8, вполне естественно системой не виделся. Почему? Ну это
>ж скрипт, а в первой строчке вместо
>#!/bin/bash
>была вначало воткнута UTFная сигнатура. Вот вам и "поддержка UTF", щоб ей
>провалится._такой_ поддержке - да. А человеческая пусть живет.
>P.S.: Текстового режима, работающего в формате UTF, все равно не придумали еще.
>И нефиг серверу гуй иметь вообще. А раз так, то и
>ютф нафиг не нужен на сервере.это он тебе не нужен. А всему миру тяжело угодить...
>дальше - больше...
>виртуальный диск - 3гига - один раздел.
>автоматическое распределение слайсов выдало следующую картину:
>a / 512Mb
>b swap 468Mb
>d /var/ 1267Mb (!!!)
>e /tmp 512Mb
>f /usr 293Mb
>
>дефолты и личные пристрастия - дело такое.
>Но возник просто й вопрос: смогу ли я на 300 изначальных метрах
>/usr хотя бы ядро собрать??
>ну, минимум бинарей, думаю, все-таки влезет, а вот про исходники придеццо забыть
>с такими дефолтами (а про порты и не вспоминать).
>
>Кто силен бздевой логикой? поделитесь смыслом вываливать в /var остатка диска. наблюдаеццо
>выделение под вар именно остатка, а /usr имеет какой-то вполне ограниченный
>размер, что в _общем_ случае нелогично. Более логичным было бы для
>дефолта: просто свалить все в кучу - один слайс /, ну
>и своп, раз уж тому кто ставит все равно (кому не
>все равно - бьет диск руками).Похоже, инсталлер сортирует сначала все до /usr, а потом ему дает все оставшееся место.
Попробуй запустить это на разделе в 10-20-30 гиг.
>Похоже, инсталлер сортирует сначала все до /usr, а потом ему дает все
>оставшееся место.
>Попробуй запустить это на разделе в 10-20-30 гиг.да ну было бы нужно знать пропорции и приоритеты - исходники есть для этого.
Просто было интересно что собой щас фря представляет. с 4-кой плотно имел дело N лет назад
>>Похоже, инсталлер сортирует сначала все до /usr, а потом ему дает все
>>оставшееся место.
>>Попробуй запустить это на разделе в 10-20-30 гиг.
>
>да ну было бы нужно знать пропорции и приоритеты - исходники есть
>для этого.
>Просто было интересно что собой щас фря представляет. с 4-кой плотно имел
>дело N лет назадне уверен что 6 что-то представляет..
точно представляет 5.5 :)
и судя по тому что 5.5 от 5.4 отличается почти как 5.4 от 4, то и в 6 ветке не стоит ожидать "нормальности" ранее 6.4.
МяФ!:) сочинение на вольную тему, каким бы я хотел видеть FreeBSD... сколько людей, столько и мнений...!!!IMXO!!!
А когда Чут выйдет, никто не в курсе?
XEN то есть