от
Каков оптимальный уровень параллелизма, что реализацией c BerkeleyDB можете? Сколько потоков у меня постукивать по дБ до пропускной способности начинает страдать из-за конфликта ресурсов? Я прочитала инструкцию и знаем, как установить количество замков, шкафчики, базы данных, размер страницы и т. д. но я хотел бы несколько советов от тех, кто имеет реальный опыт работы с BDB параллелизма. Мое приложение является довольно простой, я буду делать получает и ставит рекордов, что около 1Кб каждый. Без курсоров, без удаления.

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

6 Ответы

0 голосов
от
Каков оптимальный уровень параллелизма, что реализацией c BerkeleyDB можете? Сколько потоков у меня постукивать по дБ до пропускной способности начинает страдать из-за конфликта ресурсов? Я прочитала инструкцию и знаем, как установить количество замков, шкафчики, базы данных, размер страницы и т. д. но я хотел бы несколько советов от тех, кто имеет реальный опыт работы с BDB параллелизма. Мое приложение является довольно простой, я буду делать получает и ставит рекордов, что около 1Кб каждый. Без курсоров, без удаления.
0 голосов
от
Это зависит от того, какое приложение вы строите. Создание тестового сценария, и начать долбить. Тогда вы будете знать окончательный ответ. Кроме того, в вашем случае, это также зависит от процессора, памяти, фронтальный шины, операционная система, настройки кэша, и так далее. Серьезно, просто проверить свои собственные сценарии. Если вы нуждаетесь в некоторых цифрах (что фактически может означать ничего в вашем случае): Оракул Беркли ДБ: Показатели производительности и Критериями Показатели Производительности
0 голосов
от
Я полностью согласен с точкой Даан: создать тестовую программу, и убедитесь, что путь, по которому он получает доступ к данным имитирует, насколько это возможно, модели, которые вы ожидаете, что ваш приложение, чтобы иметь. Это чрезвычайно важно с BDB, потому что разные модели доступа дают очень разные пропускную способность. Кроме того, эти общие факторы я нашел, чтобы иметь значительное влияние на пропускную способность: Метод доступа (который в вашем случае я думаю это дерево). Уровень настойчивости, с которой вы настроили ДБР (например, в моем случае DB_TXN_WRITE_NOSYNC флаг окружения улучшена производительность записи на порядок, но это ставит под угрозу постоянство) Ли комплект рабочей поместиться в кэш? Количество читает против. Пишет. Как разложить свой доступ (помните, что дерево имеет блокировку на уровне страницы - поэтому доступ к различным страницам с разных потоков является большим преимуществом). Шаблон доступ - имея в виду, насколько вероятно, что потоки, чтобы заблокировать друг друга, или даже тупик, и какова ваша политика разрешения тупиковой ситуации (это не может быть убийцей). Оборудования (диск
0 голосов
от
Разве это не зависит от аппаратного обеспечения, а также количество потоков и прочее? Я бы сделал простой тест и запустить его с увеличением количества потоков долбят и увидеть то, что кажется лучшим.
0 голосов
от
Что я сделал при работе с базой данных неизвестных производительности, чтобы измерить время оборота на мои запросы. Я продолжал повышать число потоков до времени упала, и снижается число потоков до времени улучшилось (ну, это процессы в моем окружении, но это неважно). Там были скользящих средних, и всякие участвует метрики, но на вынос урок: просто адаптироваться к тому, как вещи работают в данный момент. Вы никогда не знаете, когда данных поможет повысить производительность или оборудование будет модернизировано, или, возможно, другой процесс будет прийти, чтобы загрузить систему, в то время как вы работаете. Так что адаптировать. О, и еще одно: избежать процесс переключает если вы можете - Партия дела. Ох, я должна сделать это ясно: все это произошло во время выполнения, а не во время разработки.
0 голосов
от
Как я понимаю вещи, Самба создан БТ разрешить "несколько одновременных писателей" для любого конкретного файла базы данных. Так что если ваша нагрузка имеет несколько писателей производительность может быть плохо (как в, проект Samba решил написать свою собственную систему, по-видимому, потому что он не доволен игрой Беркли дБ в данном случае). С другой стороны, если рабочая нагрузка характеризуется большим количеством читателей, то вопрос в том, насколько хорошо ваша операционная система обрабатывает несколько читателей.
...