Słaba wydajność w zapytaniu PostgreSQL
AKTUALIZACJA: Właśnie przyszło mi do głowy: czy to możliwe, że pgAdmin nie liczy rzeczywistego czasu zapytania, ale czasu potrzebnego do narysowania wyników w siatce?
Właśnie wykonałem zapytanie za pomocą wiersza poleceń (psql) i wypisałem wyniki w pliku txt i był on bardzo szybki (1-2 sekundy).
W takim przypadku problem nie dotyczy konfiguracji serwera postgresql / ubuntu; jest to raczej problem z kartą graficzną.
Czy mam rację lub szukam w złym kierunku?
Na moim „starym” PC (Core 2 Duo, 4 GB RAM, 250 GB SATA HD) działającym na Arch Linux 64bit mogę uruchomić proste zapytanie „SELECT * FROM sometable” w 0.4ms (używam pgAdmin 3). Baza danych to PostgreSQL 9.1 (z PostGIS), a tabela zawiera około 60 000 wierszy.
Przesłałem bazę danych do nowszego komputera (Core i5, 8 GB RAM, 1 TB Western Digital Black SATA III), a to samo zapytanie zajmuje aż 22 sekundy (!!!) Nowszy komputer działa na Ubuntu Server 13.04 64bit.
Do dalszych testów skopiowałem bazę danych do komputera z systemem Windows 7 64bit (Core i5, 6 GB RAM), a zapytanie trwa około 10 sekund.
Jest to oczywiście problem z konfiguracją, ale jestem trochę zdezorientowany, czy jest to problem z konfiguracją PostgreSQL lub Ubuntu Server.
Próbowałem już grać z plikami conf PostgreSQL (kernel.shmmax, shared_buffers itp.), Ale bezskutecznie. I oczywiście mam VACUUMed, VACUUM ANALYZOWANE i odtworzone wszystkie indeksy.
Jakieś pomysły? Interesuje mnie rozwiązanie Ubuntu Server, nie dbam o komputer z Windows 7.
Z góry dziękuję,
Ebl