Моя прога на С++ с использованием библиотеки XBase (для работы с DBF файлами баз данных) под FreeBSD работает гораздо мееедленнее, чем под Linux (там как вертолет). FreeBSD сервер 2-х процессорный Xeon, SCSI - крутой в общем, Linux - обычный пень, 3ГГц, SATA винт. В обоих случаях поиск происходит локально. В чем проблема и как можно решить? Мне надо чтоб на фре работало как следует. Заранее благодарен за помощь.
>Моя прога на С++ с использованием библиотеки XBase (для работы с DBF
>файлами баз данных) под FreeBSD работает гораздо мееедленнее, чем под Linux
>(там как вертолет). FreeBSD сервер 2-х процессорный Xeon, SCSI - крутой
>в общем, Linux - обычный пень, 3ГГц, SATA винт. В обоих
>случаях поиск происходит локально. В чем проблема и как можно решить?
>Мне надо чтоб на фре работало как следует. Заранее благодарен за
>помощь.Не уверен, что вам тут можно помочь. Файловые системы UFS и UFS2,
используемые в FreeBSD, отличаются некоторой неторопливостью (http://unix.ginras.ru/apps/test008.html). Насчет "скорострельности" XBase ничего не
скажу - не работал я с ней.
>>Моя прога на С++ с использованием библиотеки XBase (для работы с DBF
>>файлами баз данных) под FreeBSD работает гораздо мееедленнее, чем под Linux
>>(там как вертолет). FreeBSD сервер 2-х процессорный Xeon, SCSI - крутой
>>в общем, Linux - обычный пень, 3ГГц, SATA винт. В обоих
>>случаях поиск происходит локально. В чем проблема и как можно решить?
>>Мне надо чтоб на фре работало как следует. Заранее благодарен за
>>помощь.
>
>Не уверен, что вам тут можно помочь. Файловые системы UFS и UFS2,Обе системы обладают достаточной поворотливостью. Другое дело, что ставка в UFS{1,2} делается на надежность, а не быстродействие. С другой стороны, в 5.2.1 < FreeBSD < -CURRENT наблюдается некоторая деградация в районе ATA подсистемы. Существует набор патчей, который внесен в -CURRENT, но может быть и применен к "стабильной" системе.
ps: konst_bikov следует в таких случаях указывать как минимум версию системы, а еще лучше чем измерялось "быстродействие" и какие были получены показатели.
>>>Моя прога на С++ с использованием библиотеки XBase (для работы с DBF
>>>файлами баз данных) под FreeBSD работает гораздо мееедленнее, чем под Linux
>>>(там как вертолет). FreeBSD сервер 2-х процессорный Xeon, SCSI - крутой
>>>в общем, Linux - обычный пень, 3ГГц, SATA винт. В обоих
>>>случаях поиск происходит локально. В чем проблема и как можно решить?
>>>Мне надо чтоб на фре работало как следует. Заранее благодарен за
>>>помощь.
>>
>>Не уверен, что вам тут можно помочь. Файловые системы UFS и UFS2,
>
>Обе системы обладают достаточной поворотливостью. Другое дело, что ставка в UFS{1,2} делается
>на надежность, а не быстродействие. С другой стороны, в 5.2.1 <
>FreeBSD < -CURRENT наблюдается некоторая деградация в районе ATA подсистемы. Существует
>набор патчей, который внесен в -CURRENT, но может быть и применен
>к "стабильной" системе.
>
>ps: konst_bikov следует в таких случаях указывать как минимум версию системы, а
>еще лучше чем измерялось "быстродействие" и какие были получены показатели.система FreeBSD 5.3-RELEASE, "быстродействие" измерялось "наглазок". Под Linix-ом в 3-4 раза (ориентировочно, может и более) быстрее. Это сразу заметно.
>система FreeBSD 5.3-RELEASE,рекомендую прочитать __обсуждения__ последних новостей, связанных с FreeBSD (на данный момент доступны на главной странице www.opennet.ru)
>"быстродействие" измерялось "наглазок".Под Linix-ом в 3-4 раза
>(ориентировочно, может и более) быстрее. Это сразу заметно.dd в одну и обратную сторону с соответсвующими ребутами в студию. "На глазок" не принимается.
man diskinfo и его вывод в студию:
diskinfo -tv <disk>
Подмонтировать надо с опциями async,noatime, будет быстрее. Но не знаю наколько, все зависит от того как там работа с файлами в библиотеке ведется. Возможно noatime все поправит.
>Подмонтировать надо с опциями async,первоначально нужно тогда отключить softupdates. НО!!! Все это "чрезвычайные" меры, которые на продакшин системе без соотвествующего питания делать не нужно!
Можно в качестве "продолжения" идеи предложить вынести все данные, с которыми оперирует программы вынести на отдельный раздел и примонтрировать его с помощью описанных опций. Но при этом в программе в соотвуствующих местах делать fsync()/sync().
Попробовал noatime, стало немного быстрее. Но не так как в Linuxe
async - боюсь. Много можно потерять в случае краха
>Попробовал noatime, стало немного быстрее. Но не так как в Linuxe
>async - боюсь. Много можно потерять в случае крахаИ еще. Рекоммендую аналогичную тему поднят в freebsd-performance@ -
http://lists.freebsd.org/mailman/listinfo/freebsd-performance .ps: только без братской войны вроде, "а вот в Линуксе"...
Попахивает пионерией...
>Попахивает пионерией...???
>>Попахивает пионерией...
>
>???
Ты не твой пост, пост аффтара... Глупый пост.
Поблевал, спасибо!
>И еще. Рекоммендую аналогичную тему поднят в freebsd-performance@ -
>http://lists.freebsd.org/mailman/listinfo/freebsd-performance .
>
>ps: только без братской войны вроде, "а вот в Линуксе"...Попробую поднять, надеюсь яйцами не закидают :-)
ЗЫ: Не до войны тут. Хоть бы пальцем кто ткнул - что не так :-)
>>Моя прога на С++ с использованием библиотеки XBase (для работы с DBF
>>файлами баз данных) под FreeBSD работает гораздо мееедленнее, чем под Linux
>>(там как вертолет). FreeBSD сервер 2-х процессорный Xeon, SCSI - крутой
>>в общем, Linux - обычный пень, 3ГГц, SATA винт. В обоих
>>случаях поиск происходит локально. В чем проблема и как можно решить?
>>Мне надо чтоб на фре работало как следует. Заранее благодарен за
>>помощь.
>
>Не уверен, что вам тут можно помочь. Файловые системы UFS и UFS2,
>
>используемые в FreeBSD, отличаются некоторой неторопливостью (http://unix.ginras.ru/apps/test008.html). Насчет "скорострельности" XBase ничего не
>
>скажу - не работал я с ней.
Уважаемые коллеги, дело точно не в файловой системе. Я тестировал dd в null на обоих, и естественно фря делает линукс в данном случае. Интересно то, что откомпиленная в виндах под мингв на примонтированной (для виндовса звучит косноязыко :-)) директории по самбе (с той же самой фри) так же делает по скорости локальное исполнение во фре. Может дело в ключах компиляции? Я никакие не ставил, просто набрал g++ -I/путь_к_библиотеке -o имя_бинаря сырец1.cpp сырец2.cpp сырец3.cpp
>Уважаемые коллеги, дело точно не в файловой системе. Я тестировал dd в
>null на обоих, и естественно фря делает линукс в данном случае.
>Интересно то, что откомпиленная в виндах под мингв на примонтированной (для
>виндовса звучит косноязыко :-)) директории по самбе (с той же самой
>фри) так же делает по скорости локальное исполнение во фре. Может
>дело в ключах компиляции? Я никакие не ставил, просто набрал g++
>-I/путь_к_библиотеке -o имя_бинаря сырец1.cpp сырец2.cpp сырец3.cppТрудно годать на кофейной гуще :) Попробуй поиграться с флагами -O2, -O3 . Но не думаю, что это как-то скажется кардинально на производительности.
Попробуй во время запуска программы запустить systat -vmstat и другие сопутсвующие аналоги, чтобы посмотреть какая подсистема наиболее загружается.
1. Программа каким-нибудь боком работает с потоками ? (судя по ключикам нет, но чем черт не шутит).
2. Возможно, кто-то возьмется посмотреть исходники (если есть возможность их выложить). Но учитывая сложившуюся летнюю ситуацию, это маловероятно.
>Трудно годать на кофейной гуще :) Попробуй поиграться с флагами -O2, -O3
>. Но не думаю, что это как-то скажется кардинально на производительности.Уже игрался еще до того как в форум написать - бестолку.
>
>
>Попробуй во время запуска программы запустить systat -vmstat и другие сопутсвующие аналоги,
>чтобы посмотреть какая подсистема наиболее загружается.Это не делал, попробую.
>
>1. Программа каким-нибудь боком работает с потоками ? (судя по ключикам нет,
>но чем черт не шутит).Потоков нет. Версию с потоками (нитями) я пока отложил (она под фрёй вообще в кору валится в каждый раз разных местах, под линухом все ОК - потом разберусь). В самой XBase я думаю потоков нет (она простая как арбуз - работа с файлами)
>2. Возможно, кто-то возьмется посмотреть исходники (если есть возможность их выложить). Но
>учитывая сложившуюся летнюю ситуацию, это маловероятно.Выложить исходники - не проблема. Не уверен, что каму-то интересно будет. НО вопрос продолжает быть актуальным: почему же одни и теже исходники так по-разному работают в разных системах. И можно ли это решить как-то...