2012-04-07 11 views
15

Posiadam więcej niż 100 milionów par klucz-wartość (jeden klucz może mieć wiele wartości). Używam BDB (B + Tree DB) Tokyo Cabinet, którego kluczem jest 32-bitowa tablica bajtów.Szafka Tokyo - tuning pamięci

Czy w Gabinecie Tokijskim można ustawić ilość pamięci (dolny i górny limit), z której może korzystać? Właściwie mam pamięć 8 GB, ale wygląda na to, że nie może skorzystać z dużej pamięci.

Inną kwestią jest to, że chcę wiedzieć, że jak się ustawić,

tokyoCabinet.tune() tokyoCabinet.optimize() tokyoCabinet.setxmsiz() tokyoCabinet.setcache() te parametry więc ja mogę uzyskać maksymalne dostrojenie dla mojej sprawy. Z góry dziękuję. Każdy pomysł jest mi pomocny.

+2

może chcesz sprawdzić Kioto Ministrów, sequel do Tokio gabinetu. Twórcy zdecydowanie sugerują przejście do Gabinetu w Kyoto - nie wygląda na to, że Gabinet Tokio jest utrzymywany. –

+0

Ze strony internetowej Gabinetu Tokijskiego "BTW, znasz Gabinet w Kyoto?" W rzeczywistości jest to potężniejsza i wygodniejsza biblioteka niż Gabinet Tokijski, w tym czasie Szafka Kyoto przewyższa Gabinet Tokio pod każdym względem. Gabinet Kyoto. " –

Odpowiedz

1

tokyoCabinet.setcache() - ustawić rozmiar pamięci podręcznej, zazwyczaj jest o połowę lub więcej rozmiar pliku

tokyoCabinet.tune() - ustawić plik hash wiadro i parametry indeksu btree przed otwarciem

tokyoCabinet.optimize() - zestaw nowych parametrów pliku rekordu mieszającego i indeksu BTree, gdy plik jest już otwarty, jeśli liczba rekordów wzrastała bardziej niż ustawiona w melodii (bnum), można zwiększyć przez optymalizację(), na przykład.

tokyoCabinet.setxmsiz() ustawić wielkość dodatkowego odwzorowywane pamięci, jak przy użyciu mmap zwykle rozmiar pliku

100 milionów par klucz wartość - bnum> 100M * 2 wartość jest 32-bitowy bajt array -> recsize = 32-bitowy bajt = 8 -> apow = 3 (= 2^3)

Jeżeli 1024 elementów tablicy; recsize, zestaw apow = 13

lmemb określa liczbę członków na każdej stronie liści. Jeśli nie jest większa niż 0, określona jest wartość domyślna. Wartość domyślna to 128.

nmemb określa liczbę członków na każdej stronie bez liści. Jeśli nie jest większa niż 0, określona jest wartość domyślna. Wartość domyślna to 256. fpow określa maksymalną liczbę elementów puli wolnych bloku o mocy 2.

The official documentation

Powiązane problemy