> From owner-inet-admins@info.east.ru Mon Feb 21 11:40:13 2000
> To: inet-admins@info.east.ru
> From: Alex Tutubalin <lexa@lexa.ru>
> Subject: [inet-admins] database engine for high load
> Date: Mon, 21 Feb 2000 11:37:34 +0300
>
>
> Hi,
>
> ia> Berkeley DB 1.85 на P200 обеспечивает порядка 2200 put/get в секунду
> ia> еще с тем, что все идет через самописный интерфейс UDP 127.0.0.1.
> ia> Если у тебя insert/update не многоключевые - это ли не то, что надо?
> У меня составной ключ и multiple readers. Из-за второго 1.85 не подходит, нужна
> 2.x (либо все обращения делать через 'db server', но это именно то чего не
> хочется)
>
> С 2.x на моих таблицах (hash) получается
> - первые 100000 записей - около 1000 get+put/sec (это с shared mpool,
> иначе не работает multiple reader)
> - при росте таблицы скорость падает до ~600 в секунду.
hash, особенно при больших (>10000) таблицах начинает реально тормозить.
используй btree
>
> Долго не экспериментировал.
>
> ia> мне кажется, что максимально что можно было бы выжать оптимизируя БД
> ia> и интерфейс (msg, unix dgram) - не больше, чем в полтора раза
> ia> ускоришь.
> А нет исходников того сервера (или выжимки) на почитать ? Может я что-то просто
> не знаю или не юзаю ?
к сожалению, это никак.
в твоем случае подошло-бы вот что -
dumb datagram server, который принимает запросы на чтение/запись,
и делает свое db_get/db_put. concurrency - без проблем, все
решается на уровне IPC. никакой многопотоковости/многоселектовости.
и не важно сколько readers/writers. ограничение - размер ключа/данных
8-16 Кб.
в качестве чернового эксперимента можно сделать тестовую программу,
которая открывает на диске файл БД, эмулирует твои запросы - без
всякого interprocess communications. Конечно, аггрегирование
составных ключей из нескольких таблиц в запросах нужно будет делать
самому, он если они не очень сложные и узко определены, овчинка
будет стоить выделки. Но у меня везде требования были простые -
один простой ключ и данные.
Sincerely your,
Cyril A. Vechera
=============================================================================
"inet-admins" Internet access mailing list. Maintained by East Connection ISP.
Mail "unsubscribe inet-admins" to Majordomo@info.east.ru if you want to quit.
Archive is accessible on http://info.east.ru/rus/inetadm.html