Page 18

Wysoko wydajny PostgreSQL 9.0

listen_addresses W kadej instalacji wymagajcej obsugi pocze pochodzcych z systemów zdalnych konieczna jest modyfikacja parametru listen_addresses pozwalajcego na obsug takich pocze. Domylnie dozwolone s jedynie poczenia lokalne pochodzce od uytkownika zalogowanego do tego samego systemu, w którym znajduje si baza danych. Powszechnie stosowanym podejciem jest akceptacja pocze przychodzcych z kadego miejsca. W tym celu w gównym pliku konfiguracyjnym trzeba umieci poniszy wiersz: listen_addresses = '*'

Aby kontrolowa, kto moe nawiza poczenie, trzeba przeprowadzi konfiguracj pliku pg_hba.conf, co zostao omówione na stronie http://www.postgresql.org/docs/current/static/ auth-pg-hba-conf.html. Stosowanie takiego podejcia wie si z pewnym problemem dotyczcym wydajnoci. Filtrowanie pocze za pomoc dokadniej skonfigurowanego parametru listen_addresses moe by znacznie bardziej efektywne ni pozwolenie na nawizanie poczenia wszystkim klientom. Zezwolenie klientowi na poczenie, a nastpnie jego odrzucenie w wyniku wpisu znajdujcego si w pliku konfiguracyjnym pg_hba.conf powoduje niepotrzebne zuycie pewnych zasobów serwera i naraa system na niebezpieczestwo przeprowadzenia w ten sposób ataku typu odmowa usugi — DoS (ang. Denial Of Service) — przez zoliwego uytkownika. W praktyce tylko niewielka liczba serwerów PostgreSQL pozwala na bezporednie przyjmowanie zapyta pochodzcych z internetu. Normalnie s one filtrowane przez port domylny PostgreSQL (5432) na poziomie zapory sieciowej, co stanowi najefektywniejsze podejcie i jest czsto stosowan implementacj mechanizmu wspódzielonej ochrony take innych aplikacji. W systemie podczonym do internetu, takim jak na przykad klastry zawierajce bazy danych dla usug „w chmurach”, naley upewni si o stosowaniu wszystkich trzech warstw ochrony. Na poziomie zapory sieciowej warto okreli, kto moe nawiza poczenie z serwerem, dodatkowo zmniejszy list nasuchiwanych adresów za pomoc opcji listen_addresses, a take ograniczy uytkownikom dostp do bazy danych za pomoc pliku konfiguracyjnego pg_hba.conf.

max_connections Jednym z parametrów, dla którego czytelnik najczciej bdzie ustawia warto (z reguy 100) w pliku konfiguracyjnym postgresql.conf wygenerowanym przez initdb, jest max_connections. Poniewa, jak wspomniano w poprzednim rozdziale, kade poczenie wykorzystuje niewielk ilo pamici wspódzielonej, w systemach domylnie uywajcych niewielkiej iloci pamici wspódzielonej nawizanie wikszej iloci pocze nie zostanie nawet dozwolone. W zwizku z powyszym, podobnie jak w przypadku parametru shared_buffers, po utworzeniu klastra bazy danych i okreleniu w domylnym pliku konfiguracyjnym najwikszej dopuszczalnej wartoci (do 100) przeprowadzane s pewne badania. W praktyce ilo pamici niewspódzielonej uywanej przez kadego klienta podczas przeprowadzania operacji, takich jak sortowanie, jest wprawdzie znacznie wiksza, ale iloci wykorzystywanej pamici wspódzielonej nie mona pomin.

148

Wysoko wydajny PostgreSQL 9.0  

Masz w rękach kompletny podręcznik, przeznaczony dla średnio i bardzo zaawansowanych administratorów baz danych, którzy już używają PostgreS...

Advertisement