Стресс-тестирование встроенной базы данных - PullRequest
1 голос
/ 01 ноября 2010

Наш агент использует встроенную базу данных для хранения промежуточного состояния.База данных постоянно записывается для резервного копирования состояния на случай перезапуска агента.В настоящее время мы используем встроенную базу данных Firebird, которая заменила SQLITE, которая оказалась неэффективной в среде с высокой степенью параллелизма агента.

Однако Firebird не без глюков.По мере того, как мы приближаемся к нашим тестам, мы начинаем видеть исключения Access Violation и отчеты о взаимоблокировках в журнале (кто бы ни интересуется трассировкой стека, можете просмотреть их здесь - http://tracker.firebirdsql.org/browse/CORE-3207 и http://tracker.firebirdsql.org/browse/CORE-3209)

Их поддержкаочень отзывчив, но мне сложно сократить наш сценарий до минимального примера кода, который приводит к сбою базы данных.

Мой вопрос - кто-нибудь знает простой инструмент для быстрого тестирования встроенной базы данных??

Заранее большое спасибо всем добрым самаритянам.

PS

Пожалуйста, не предлагайте писать это самостоятельно - я довольно осведомлен об этом вариантеи вместо этого предпочитаю скачать что-нибудь готовое.

1 Ответ

1 голос
/ 12 февраля 2012

Firebird является частью набора тестов, который вы можете найти здесь . Он не проверяет многопоточный доступ, который может понадобиться вам. Любая база данных должна допускать только один модуль обновления за раз с определенной степенью детализации. Это может быть один на базу данных или один на страницу или один на объект. Возможно, вам придется заново разработать приложение, чтобы несколько потоков не давили друг на друга. Если вы ищете более высокую производительность, проверьте VelocityDB, здесь по сравнению с Firebird.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...