ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: Inet-Admins
Inet-Admins mailing list archive (inet-admins@info.east.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [inet-admins] database engine for high load



> From owner-inet-admins@info.east.ru Mon Feb 21 01:31:54 2000
> Date: Mon, 21 Feb 2000 01:29:55 +0300
> From: Slawa Olhovchenkov <slw@convey.ru>
> To: inet-admins@info.east.ru
> Subject: Re: [inet-admins] database engine for high load
>
> On Mon, Feb 21, 2000 at 01:03:18AM +0300, Alex Tutubalin wrote:
>
> > вопрос вот есть - нужно хранить разнообразные данные в заде банных
> > (не обязательно SQL), только вот незадача - планируемая прямо сходу
> > нагрузка - порядка тысячи insert+update в секунду, думаю что
> > через год будет и несколько тысяч. Объем таблиц - первые миллионы
> > записей
> > 
> > Эксперименты с berkeley db показали, что до нужной производительности
> > оно не дотягивает раза 2-3. 

Алекс, может быть что-то не так экспериментировал? Или я не совсем
точно вопрос понял?

Berkeley DB 1.85 на P200 обеспечивает порядка 2200 put/get в секунду
еще с тем,  что все идет через самописный интерфейс UDP 127.0.0.1.
Если у тебя insert/update не многоключевые - это ли не то, что надо?

db_put в db btree на той машине выполняется около 200 us, и
примерно 200 us - на интерфейс.

>
> Ох как она у меня глючила... Я ей не верю.

около года работала с таблицей порядка 1M записей - без всяких глюков.
правда при не высокой нагрузке - несколько запросов в секунду

> > Что посоветует общественность ? Да, транзакции не нужны, достаточно
> > режима "один писатель, много читателей"

вывод - попробуй таки Berkeley DB. Если таблиц несколько и размер
записей не очень велик, можно разнести на разные машины. Думаю,
то что уже есть достаточно близко к пределу возможностей.



P.S.

Щас проверил на PII 450Mhz - заносились числа от 1 до 100000

btree через localhost UDP

put 100000 records... done. 100000 times with 0 errors. time used: 18.63 sec
get 100000 records... done. 100000 times with 0 errors. time used: 17.75 sec


ram hash (hash table на 10000 эл. и списки) - тот же localhost UDP

put 100000 records... done. 100000 times with 0 errors. time used: 17.10 sec
get 100000 records... done. 100000 times with 0 errors. time used: 16.74 sec

мне кажется, что максимально что можно было бы выжать оптимизируя БД и
интерфейс (msg, unix dgram) - не больше, чем в полтора раза ускоришь.


P.P.S.
заметил, что db2 работает немного медленней.


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



 




Copyright © Lexa Software, 1996-2009.