Postgresql i > 2000 =?ISO-8859-2?Q?u=BFytkownik=F3w?=
Krzysztof Raczkowski - 23-06-2007 00:03
Postgresql i > 2000 =?ISO-8859-2?Q?u=BFytkownik=F3w?=
Witam,
Przymierzam się do napisania serwisu WWW z którego będzie korzystało około 2000 użytkowników w 'szczycie'.
Baza danych to tak jak w temacie ... Postgresql 8.1.X. Będzie to bardzo prosta baza danych (kilka tabel intensywnie wykorzystywanych) o niewielkich rozmiarach (powiedzmy 200MB).
Serwis będzie wykonany w PHP.
Czy macie jakieś sugestie co do optymalnej konf. Postgres'a ? na co szczególnie zwrócić uwagę ... :)
Z góry dziękuję za pomoc.
-- Pozdrawiam K. Raczkowski
Sebastian Ciesielski - 24-06-2007 00:16
> Przymierzam się do napisania serwisu WWW z którego będzie korzystało około > 2000 użytkowników w 'szczycie'. > > Baza danych to tak jak w temacie ... Postgresql 8.1.X. Będzie to bardzo > prosta baza danych (kilka tabel intensywnie wykorzystywanych) o > niewielkich rozmiarach (powiedzmy 200MB). > > Serwis będzie wykonany w PHP.
przy mocno obciążonym serwisie należałoby zwrócić uwagę na całość, aplikacja PHP powinna być napisana optymalnie, należy też rozsądnie gospodarować pamięcią, należy też buforować, co tylko możliwe, by nie czytać każdemu userowi tych samych informacji ciągle z bazy,
S.
Krzysztof Raczkowski - 24-06-2007 00:16
Sebastian Ciesielski pisze: >> Przymierzam się do napisania serwisu WWW z którego będzie korzystało około >> 2000 użytkowników w 'szczycie'. >> >> Baza danych to tak jak w temacie ... Postgresql 8.1.X. Będzie to bardzo >> prosta baza danych (kilka tabel intensywnie wykorzystywanych) o >> niewielkich rozmiarach (powiedzmy 200MB). >> >> Serwis będzie wykonany w PHP. > > > przy mocno obciążonym serwisie należałoby zwrócić uwagę na całość,
Zgadza się :)
> aplikacja PHP powinna być napisana optymalnie, należy też rozsądnie > gospodarować pamięcią, > należy też buforować, co tylko możliwe, by nie czytać każdemu userowi tych > samych informacji ciągle z bazy, >
Hmm planuje całą logikę umieścić w bazie, natomiast PHP to tylko narzędzie do prezentacji danych ... Co masz na myśli mówiąc o buforowaniu ?? Zmienne sesyjne? Rozumiem że można buforować takie coś jak np. uprawnienia itp. Natomiast jakoś nie widzę sensu buforowania danych na których pracują użytkownicy .. Możesz rozwinąć swoją myśl ?
Wracając do Postgres'a na pewno będę musiał 'popracować' nad następującymi parametrami:
shared_buffers - z dokumentacji wynika że powinno być ich najmniej 2x max_connections
temp_buffers - do optymalizacji pod warunkiem że będę korzystał z tabel tymaczasowych ...
max_prepared_transactions - z tego raczej nie będę korzystał ...
work_mem - to jest na pewno do zwiększenia z domyślnego :) wydaje mi się że górnym limitem jest zadbanie o nie 'zagłodzenie' systemu ...
maintenance_work_mem - tego raczej ruszać nie będę musiał ...
bgwriter_* - tu mam pewien problem ... wydaje mi się, że należało by 'opóźnić' zapisy danych na dysk aby wykonywane były większymi partiami.. tylko nie wiem czy dobrze kombinuję :)
WAL - tutaj na razie brak pomysłów ... poza zwiększeniem commit_delay...
Czy o czymś zapomniałem? :) (nie licząc sprzętu :D )
-- Pozdrawiam K. Raczkowski
hubert depesz lubaczewski - 26-06-2007 00:00
On 2007-06-22, Krzysztof Raczkowski <raczkowk_pulapka@poczta.wp.pl> wrote: > Serwis będzie wykonany w PHP. > Czy macie jakieś sugestie co do optymalnej konf. Postgres'a ? na co > szczególnie zwrócić uwagę ... :) > Z góry dziękuję za pomoc.
baza ma 200 mega. nie wiem ile będzie miał pamięci serwer bazodanowy, ale jeśli będzie miał więcej wolnej pamięci niż te 200 mega, to wszelkie rozważania o konfiguracji postgresa można pominąć - czemu - bo dane będą w ramie.
co warto: zadbać o indeksy na tabelkach takie aby zapytania działały szybko. cachowanie danych po stronie php'a.
depesz
-- quicksil1er: "postgres is excellent, but like any DB it requires a highly paid DBA. here's my CV!" :) http://www.depesz.com/ - blog dla ciebie (i moje CV)
Krzysztof Raczkowski - 26-06-2007 00:00
hubert depesz lubaczewski pisze: > On 2007-06-22, Krzysztof Raczkowski <raczkowk_pulapka@poczta.wp.pl> wrote: >> Serwis będzie wykonany w PHP. >> Czy macie jakieś sugestie co do optymalnej konf. Postgres'a ? na co >> szczególnie zwrócić uwagę ... :) >> Z góry dziękuję za pomoc. > > baza ma 200 mega. > nie wiem ile będzie miał pamięci serwer bazodanowy, ale jeśli będzie > miał więcej wolnej pamięci niż te 200 mega, to wszelkie rozważania o > konfiguracji postgresa można pominąć - czemu - bo dane będą w ramie. > > co warto: > zadbać o indeksy na tabelkach takie aby zapytania działały szybko. > cachowanie danych po stronie php'a. >
Dzięki za uwagi, ale nie napisałem jeszcze jednej ważnej kwestii (czasem się oczekuje że druga osoba jest jasnowidzem :D).
W tym 'szczycie' baza będzie intensywnie aktualizowana ... tak więc konfiguracja dotycząca WAL , bgwriter_* itp. (tak jak napisałem w drugim poście o parametrach) chyba ma jednak znaczenie ...
-- Pozdrawiam K. Raczkowski
hubert depesz lubaczewski - 26-06-2007 00:00
On 2007-06-25, Krzysztof Raczkowski <raczkowk_pulapka@poczta.wp.pl> wrote: > W tym 'szczycie' baza będzie intensywnie aktualizowana ... tak więc > konfiguracja dotycząca WAL , bgwriter_* itp. (tak jak napisałem w drugim > poście o parametrach) chyba ma jednak znaczenie ...
nie wiem co znaczy intensywnie. 5 update'ów na sekundę? 50? 500? ogólnie - tu po prostu potrzebne są dyskiw które sobie poradzą.
depesz
-- quicksil1er: "postgres is excellent, but like any DB it requires a highly paid DBA. here's my CV!" :) http://www.depesz.com/ - blog dla ciebie (i moje CV)
rafal - 27-06-2007 00:04
> Baza danych to tak jak w temacie ... Postgresql 8.1.X. czemu nie 8.2 ?
pozdrawiam Rafał L.
rafal - 27-06-2007 00:04
> Przymierzam się do napisania serwisu WWW z którego będzie korzystało > około 2000 użytkowników w 'szczycie'. myślaleś już o podziale ruchu do bazy?
*sqlrelay http://sqlrelay.sourceforge.net/ *pg_pool pgpool-II http://pgpool.projects.postgresql.org/ *pgcluster-1.3
pozdrawiam Rafał L.
Krzysztof Raczkowski - 27-06-2007 00:04
rafal pisze: >> Przymierzam się do napisania serwisu WWW z którego będzie korzystało >> około 2000 użytkowników w 'szczycie'. > myślaleś już o podziale ruchu do bazy? > > *sqlrelay http://sqlrelay.sourceforge.net/ > *pg_pool pgpool-II http://pgpool.projects.postgresql.org/ > *pgcluster-1.3 > >
Tak jak napisałem baza jest prościutka, może nie trzeba będzie. To wyjdzie mi z pierwszych testów obciążeniowych :)
Dziękuję wszystkim za uwagi :) jak się uda to na pewno powiem co było potrzebne aby to zrealizować (tak dla potomnych ;) ). Będzie to około września/października.
-- Pozdrawiam K. Raczkowski
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO
Czy zna (obsługuje) ktoś program Iso Draw ?
MYSQL - kodowanie w ISO-PL
strona plus baza w iso do utf-8
Kodowanie: z iso na utf
postgresql - int/int
postgresql Select count(*) czy raczej Select count(ID)
Postgres - replikcja master-master
Dopasowanie do "najlepszego" dopasowania :) [ PostgreSQL]
Wstawianie nowego wiersza w przypadku jego braku podczas SELECT w PostgreSQL
zanotowane.pldoc.pisz.plpdf.pisz.plponland.htw.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|