ďťż
 
jak limitowac postgresql? ďťż
 
jak limitowac postgresql?
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

jak limitowac postgresql?



Norbert - 01-01-2007 00:25
jak limitowac postgresql?
  Witam Grupę w Nowym Roku :-)

Mam następujący problem.
Jest sobie serwer - debian sarge, na nim postgresql 7.4
W tym postgresie kilka (na razie), a później może i kilkadziesiąt baz.

Chciałbym doprowadzić do sytuacji w której jedno zapytanie/polecenie nie
spowoduje mi zawieszenia systemu poprzez 100% utylizację procesora przez np.
5 minut. Tak więc chciałbym przyciąć takie zapytanie po np. 3 minutach.

Trochę czytałem i nasunęła mi się myśl że może mi ulimit pomoże, ale się nie
udało (choć może źle testowałem).

/etc/security/limits.conf:
postgres hard cpu 3

Jako ze nie mam skryptu ktory sie bedzie przetwarzal przez 3 minuty
postanowilem odpalic pgdumpa na w miare duzej bazie.
Mielil przez ponad 4 minuty (pozniej go skilowalem), top pokazywal
dzialajacego postgresa .... wniosek - nie zadzialalo.

No ale moze to kwestia pg_dumpa ... ale innego pomyslu nie mam.

Jesli macie jakies pomysly bede wdzieczny za podpowiedzi :-)

Z gory dzieki

Pozdrawiam

Norbert





Paweł Matejski - 02-01-2007 01:26

  Norbert wrote:
> Witam Grupę w Nowym Roku :-)
>
> Mam następujący problem.
> Jest sobie serwer - debian sarge, na nim postgresql 7.4
> W tym postgresie kilka (na razie), a później może i kilkadziesiąt baz.
>
> Chciałbym doprowadzić do sytuacji w której jedno zapytanie/polecenie nie
> spowoduje mi zawieszenia systemu poprzez 100% utylizację procesora przez np.
> 5 minut. Tak więc chciałbym przyciąć takie zapytanie po np. 3 minutach.

Ech... Jak proces zużywa 100% czasu procesora, to znaczy, że procesor nie ma nic
lepszego do roboty. Inaczej mówiąc, jedno połączenie nie może zabrać wszystkich
zasobów!

> Trochę czytałem i nasunęła mi się myśl że może mi ulimit pomoże, ale się nie
> udało (choć może źle testowałem).
>
> /etc/security/limits.conf:
> postgres hard cpu 3
>
> Jako ze nie mam skryptu ktory sie bedzie przetwarzal przez 3 minuty
> postanowilem odpalic pgdumpa na w miare duzej bazie.
> Mielil przez ponad 4 minuty (pozniej go skilowalem), top pokazywal
> dzialajacego postgresa .... wniosek - nie zadzialalo.

A pokazywał ile czasu procesora zużył po tych 4 minutach?

> No ale moze to kwestia pg_dumpa ... ale innego pomyslu nie mam.

No bo to jest głównie przerzucanie danych - procesy czekają głównie na dysk.
Zrób sobie cross joina kilku dużych tabel i obserwuj czas zużycia procesora.

No ale to i tak nie jest dobry pomysł, bo nie ogranicza jednego zapytania, a
czas procesora poświęconego na jedno połączenie. Do tego ogranicza też inne
procesy postgresa....

> Jesli macie jakies pomysly bede wdzieczny za podpowiedzi :-)

a) olać
b) krótki rzut oka na config i można zobaczyć:
#statement_timeout = 0
c) włączyć stats_start_collector = true (chyba), i napisać skrypt, co co jakiś
czas będzie zerkał w tabelkę pg_stat_activity i na tej podstawie kilował złe procesy

--
P.M.




Herakles - 03-01-2007 00:23

  "Norbert" <norbertn_at_post.pl.i.dont.like.sp_a_m> wrote:

> Witam Grupę w Nowym Roku :-)
>
> Mam następujący problem.
> Jest sobie serwer - debian sarge, na nim postgresql 7.4
> W tym postgresie kilka (na razie), a później może i kilkadziesiąt baz.
>
> Chciałbym doprowadzić do sytuacji w której jedno zapytanie/polecenie nie
> spowoduje mi zawieszenia systemu poprzez 100% utylizację procesora przez
> np. 5 minut. Tak więc chciałbym przyciąć takie zapytanie po np. 3
> minutach.

Zapuść 5 pg_dumpów na raz!
jeżeli planujesz wcisnąć kilkadziesiąt bazek do sera, to polecałbym Ci
zmienić bazkę na jakąś wyższą wersję niż 7.4, bo prędzej czy później
będziesz potrzebował wyższych wersji, a jak masz kilka baz to taki apgrejd
jest o wiele mniej stresujący niż kilkudziesięciu.
wyższe wersje postgresa znajdziesz w paczkach na backports.org.
Robisz po prostu apt-get -t sarge-backports postgresql-8.1*
Możesz też zawsze pokompilować, aby w pełni wgrać postgresa musisz
dokompilować do systemu też nowsze wersje readline i zliba.

>
> Trochę czytałem i nasunęła mi się myśl że może mi ulimit pomoże, ale się
> nie udało (choć może źle testowałem).
>
> /etc/security/limits.conf:
> postgres hard cpu 3
>
> Jako ze nie mam skryptu ktory sie bedzie przetwarzal przez 3 minuty
> postanowilem odpalic pgdumpa na w miare duzej bazie.
> Mielil przez ponad 4 minuty (pozniej go skilowalem), top pokazywal
> dzialajacego postgresa .... wniosek - nie zadzialalo.
>
> No ale moze to kwestia pg_dumpa ... ale innego pomyslu nie mam.
>
> Jesli macie jakies pomysly bede wdzieczny za podpowiedzi :-)
>
> Z gory dzieki
>
> Pozdrawiam
>
> Norbert
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [PostgreSQL] - jak =?ISO-8859-2?Q?zabezpieczy=E6_interesy_tw?==?ISO-8859-2?Q?=F3rcy_systemu_=3F=3F=3F?= postgresql - int/int postgresql Select count(*) czy raczej Select count(ID) [PostgreSQL] jak =?ISO-8859-2?Q?pobra=E6_warto=B6=E6_zwracan?==?ISO-8859-2?Q?=B1_przez_funkcj=EA=3F?= [postgresql] INSERT OR UPDATE - jak =?ISO-8859-2?Q?b=EAdzie_na?==?ISO-8859-2?Q?jlepiej=3F?= [postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?= [PostgreSQL] Jak =?ISO-8859-2?Q?po=B3=B1czy=E6_funkcje_z_w?==?ISO-8859-2?Q?idokiem?= Postgres - replikcja master-master Dopasowanie do "najlepszego" dopasowania :) [ PostgreSQL] Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • wawa19wwa91.pev.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

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com