Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-08-08 19:07:57

  urbinek - Użytkownik

urbinek
Użytkownik
Skąd: Sosnowiec
Zarejestrowany: 2009-10-01
Serwis

mdadm z dysku SSD i ramdisk

otóż,

czy zestawiał ktoś kiedys RAID 1 na mdadm z dyskiem SSD i ramdiskiem?


ogółem potrzebuję bardzo szybkiego katalogu o pojemności około 10GB do przechowywani bazy danych


A w wolnym czasie, robię noże :)
[img]http://nginx.urbinek.eu/_photos/signature.png[/img]

Offline

 

#2  2014-08-09 04:31:28

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: mdadm z dysku SSD i ramdisk

Co to za baza danych?

Pytam, bo serwery bazodanowe lepiej, żeby bazy trzymały na jakimś trwałym nośniku (czytaj dyzio), natomiast zarówno Mysql jak i Postgres potrafią trzymać w buforach zapytania i całe tabele w razie potrzeby, wystarczy im przydzielić odpowiednie limity pamięci na poszczególne bufory.

Np w Mysql masz takie parametry od ustawienia:

Kod:

[isamchk]
key_buffer                     = 64M
sort_buffer_size             = 64M
read_buffer                 = 64M
write_buffer                 = 64M

[myisamchk]
key_buffer                     = 64M
sort_buffer_size             = 64M
read_buffer                 = 64M
write_buffer                 = 64M

i jeżeli chcesz w której pozycji dać np 64GB RAM, to nie ma z tym problemu.

W Postgresie 9.3 mam:

Kod:

# - Memory -

shared_buffers = 128MB            # min 128kB
                    # (change requires restart)
temp_buffers = 64MB            # min 800kB
#max_prepared_transactions = 0        # zero disables the feature
                    # (change requires restart)
# Note:  Increasing max_prepared_transactions costs ~600 bytes of shared memory
# per transaction slot, plus lock space (see max_locks_per_transaction).
# It is not advisable to set max_prepared_transactions nonzero unless you
# actively intend to use prepared transactions.
work_mem = 64MB                # min 64kB
maintenance_work_mem = 128MB        # min 1MB
max_stack_depth = 1MB            # min 100kB

Możliwości są spore, dlatego radziłbym poszukać sposobu na tuning wydajnościowy danego systemu bazodanowego, zamiast próbować wymyślać kolo od nowa. ;)

Sznurki:
https://wiki.postgresql.org/wiki/Performance_Optimization
http://www.debianhelp.co.uk/mysqlperformance.htm
http://www.thomas-krenn.com/pl/wiki/Tuning_wydajno%C5%9Bci_MySQL

Pozdro
;-)

Ostatnio edytowany przez Jacekalex (2014-08-09 04:46:43)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2014-08-09 09:16:40

  urbinek - Użytkownik

urbinek
Użytkownik
Skąd: Sosnowiec
Zarejestrowany: 2009-10-01
Serwis

Re: mdadm z dysku SSD i ramdisk

nie jest to takie proste bo baza jest autorska i używana do indeskowania backupu ;)
pamięć nie jest problemem ale dysk twardy nie wyrabia na zapisie tego


sam ssd powinien wystarczyć ale myślałem czy da się to jeszcze przyspieszyć

oczywiście wiem, że brak prądu to spory problem ale RAID1 SSD(1-2 partycje) z RAMdisk powinien to rozwiązać o upsach nie wspominam ;)


A w wolnym czasie, robię noże :)
[img]http://nginx.urbinek.eu/_photos/signature.png[/img]

Offline

 

#4  2014-08-09 12:21:27

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: mdadm z dysku SSD i ramdisk

Baza może być autorska, ale ważny jest silnik, na jakim pracuje.
Bo chyba silnik tej bazy, to jest jakaś znana technologia, prawda?


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2014-08-09 12:41:46

  urbinek - Użytkownik

urbinek
Użytkownik
Skąd: Sosnowiec
Zarejestrowany: 2009-10-01
Serwis

Re: mdadm z dysku SSD i ramdisk

wybacz, chodziło mi o silnik,to nie jest sql czy coś innego napisanego specjalnie pod to

tak czy inaczej nie ma możliwości modyfikacji tych parametrów a nawet jeśli to jest to bez sensu
na początku operacji baza jest hashowana do pamięć żeby mieć szybką podstawę ale każda zmiana jest robiona bezpośrednio na dysku twardym

i przy dużych backupach (kilka/naście tysięcy pliczków) macierz raid nie wyrabia


A w wolnym czasie, robię noże :)
[img]http://nginx.urbinek.eu/_photos/signature.png[/img]

Offline

 

#6  2014-08-09 13:00:20

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: mdadm z dysku SSD i ramdisk

To już autor silnika powinien wiedzieć, jak się za to zabrać.

Moim zdaniem, jak to pliki, to może zapisywać na dyziu i w pamięci równocześnie, a czytać je z ramdysku, na dyzia zaglądać po plik, jak go nie znajdzie w ramie.
To już jest do zrobienia w każdym silniku, kernel Linux też tak szuka bibliotek na dyziu, żeby nie wczytywać do pamięci  tej samej biblioteki 57 razy.

RAID1 - ramdysk+SSD mim zdaniem zbyt wielkiego sensu nie ma.

Ostatnio edytowany przez Jacekalex (2014-08-09 13:46:58)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#7  2014-08-09 13:39:54

  urbinek - Użytkownik

urbinek
Użytkownik
Skąd: Sosnowiec
Zarejestrowany: 2009-10-01
Serwis

Re: mdadm z dysku SSD i ramdisk

gadałem z autorem - mówił, żeby postawić to na SSD ;)


głównie chciałem się dowiedzieć czy ktoś coś takiego testował czy taki RAID zyska cokolwiek z obecności ramdisku przytym

oczywiście takiego raida musiałbym przy każdym reboocie odbudowywać


A w wolnym czasie, robię noże :)
[img]http://nginx.urbinek.eu/_photos/signature.png[/img]

Offline

 

#8  2014-08-09 14:54:42

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: mdadm z dysku SSD i ramdisk

Nie bardzo widzę funkcjonalność takiego rozwiązania.
Rozumiem że możesz sobie wykroić 10 GB RAM na zabawy z indeksami (inaczej nie miałoby to sensu).
Strzelam: postawić wszystko na ramdysku, i okresowo synchronizować z dyskiem.
Zaleta: będzie szybko.
Wada: jak strzeli system to indeksowanie pójdzie w diabły... ale w takiej sytuacji pewnie będziesz miał kilka innych ważniejszych problemów ;)


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#9  2014-08-09 15:06:39

  urbinek - Użytkownik

urbinek
Użytkownik
Skąd: Sosnowiec
Zarejestrowany: 2009-10-01
Serwis

Re: mdadm z dysku SSD i ramdisk

tylko czas  potrzebny do zreindeksowania storage


a funkcjonalność już mówię robimy RAID 1 z dyskiem SSD i RAMdiskiem
prędkość odczytu jest tak szybka jak ram pozwoli, prędkość zapisuj tak wolna jak SSD wyrabia

katalog nie zniknie po restarcie  ale raida będzie trzeba stawiać od nowa za każdym restartem


A w wolnym czasie, robię noże :)
[img]http://nginx.urbinek.eu/_photos/signature.png[/img]

Offline

 

#10  2014-08-09 15:22:57

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: mdadm z dysku SSD i ramdisk

popraw mnie jeśli się mylę - ale czy RAID1 nie czyta naprzemiennie z wszystkich dysków w macierzy? Bo jeśli tak, to odczyt będziesz miał najwyżej rzędu 2x szybkość SSD... a z zapisem też mogą być sęki (wcale nie jest powiedziane że prędkość zapisu jest taka sama jak prędkość [s]szybszego[/s] wolniejszego dysku).
Do tego zapisanie na tej macierzy nie będzie absolutnie oznaczało zapisanie czegokolwiek na SSD - a chyba zależy Ci na nieulotności danych?
ale jak zaznaczyłem: mogę się mylić, specjalistą w tym zakresie nie jestem.

Ostatnio edytowany przez ethanak (2014-08-09 15:30:43)


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#11  2014-08-09 16:40:41

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: mdadm z dysku SSD i ramdisk

Raz się tak bawiłem z serwerem WWW, brał plik z ramdysku, jak go tam nie znalazł, to skrypt zapięty na error 404 serwował plik z dyzia.

Identycznie można to zrobić z całym systemem operacyjnym:

Kod:

PATH="/ramdysk/usr/local/bin:/ramdysk/usr/bin:/ramdysk/bin:/usr/local/bin:/usr/bin:/bin:${PATH}"

Dlatego radziłbym pogonić autora, żeby identycznie zakodził to w silniku tej "bazy", zamiast kombinować z RAIDem.
Zakodził, albo po prostu włączył, bo to i tak nie jeden programista projektował MongoDB, CouchDB czy PostgreSQL, tylko prawdopodobnie kawałki kodu przepisał z jakiegoś projektu bazodanowego.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#12  2014-08-09 16:48:23

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: mdadm z dysku SSD i ramdisk

Reasumując: koledze wątkotwórcy potrzebny jest po prostu filesystem z cache rzędu 10 GB - a tego się raidem nie robi.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#13  2014-08-09 16:59:19

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: mdadm z dysku SSD i ramdisk

Do tego też jest memcache.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#14  2014-08-09 17:53:49

  urbinek - Użytkownik

urbinek
Użytkownik
Skąd: Sosnowiec
Zarejestrowany: 2009-10-01
Serwis

Re: mdadm z dysku SSD i ramdisk

[quote=ethanak]Reasumując: koledze wątkotwórcy potrzebny jest po prostu filesystem z cache rzędu 10 GB - a tego się raidem nie robi.[/quote]
oj tam nie robi, podążaj tam gdzie nie było nigdy nikogo! ;)
[quote=Jacekalex]Do tego też jest memcache.[/quote]
hm, brzmi interesująco musze się tym pobawić


A w wolnym czasie, robię noże :)
[img]http://nginx.urbinek.eu/_photos/signature.png[/img]

Offline

 

#15  2014-08-09 18:01:42

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: mdadm z dysku SSD i ramdisk

Z memcache to musi się pobawić autor silnika bazodanowego.
Inna sprawa, że memcache działa po gniazdach sieciowych i socketach unix, co jest niezłym rozwiązaniem dla skryptów typu php/perl/python, natomiast do silnika serwera bazodanowego już niekoniecznie, tam lepiej by było takie rzeczy pakować na sztywno w kod, jak w Mysql i Postgresie.

Bezpośredni dostęp do pamięci zawsze będzie szybszy, niż połączenie typu TCP czy unix.

Ostatnio edytowany przez Jacekalex (2014-08-09 18:04:26)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#16  2014-08-11 23:41:26

  ukasz - Użytkownik

ukasz
Użytkownik
Skąd: wroclaw
Zarejestrowany: 2006-06-21

Re: mdadm z dysku SSD i ramdisk

A może odpowiednie ustawienie vm.dirty ?
http://www.thomas-krenn.com/pl/wiki/Podstawowe_informacje_o_Page_Cache_w_Linuksie
http://dug.net.pl/tekst/282/ram__cache_i_dirty_pages/h/dirty

Z tego co widzę to autor potrzebuje szybkiego odczytu a zapisu takiego jak wyrobi dysk SSD.


[img]http://wiblo.pl/wilk/userbars/debian_user_black.png[/img]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.012 seconds, 13 queries executed ]

Informacje debugowania

Time (s) Query
0.00013 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00123 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.227.209.214' WHERE u.id=1
0.00074 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.227.209.214', 1733043748)
0.00047 SELECT * FROM punbb_online WHERE logged<1733043448
0.00070 DELETE FROM punbb_online WHERE ident='18.224.31.90'
0.00077 DELETE FROM punbb_online WHERE ident='216.244.66.250'
0.00059 SELECT topic_id FROM punbb_posts WHERE id=272838
0.00005 SELECT id FROM punbb_posts WHERE topic_id=26231 ORDER BY posted
0.00057 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=26231 AND t.moved_to IS NULL
0.00007 SELECT search_for, replace_with FROM punbb_censoring
0.00190 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=26231 ORDER BY p.id LIMIT 0,25
0.00083 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=26231
Total query time: 0.00809 s