ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
From: Alexandr Ogurtsov <iscander.alt@gmail.com>
To: ALT Linux sysadmin discuss <sysadmins@lists.altlinux.org>
Subject: [Sysadmins] PostgreSQL оптимизация
Date: Thu, 09 Oct 2008 14:44:54 +0300
Message-ID: <48EDEEB6.5080801@gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 3256 bytes --]

Уважаемые коллеги, ищу совета по настройке производительности PostgreSQL
8.1.(Debian Etch)
В качестве СУБД он используется для RoR приложения. База данных 600М+
Таблиц 60 штук Самая "тяжелая" табличка весит 160М или вместе с
индексами 255М, остальные заметно "легче". Хочется чтобы всё жило в
оперативке и как можно меньше обращалось к внешнему накопителю. Порылся
по всезнающему интернету, поигрался с опциями с postgresql.conf. Но
существенного выигрыша на своей стендовой машине так и не получил. Что с
умолчательными настройками, что со всеми попытками оптимизации тестовый
запрос выполняется 2.7сек. Стенд слабенький конечно Cel 1.2GHz 512RAM.
При тестировании LA до 1 редко дотягивает, но CPU usage ~100%
 Вот что на нём даёт ptop во время теста, с умолчательными настройками в
postgresql.conf
 last pid:  4362;  load avg:  0.99,  0.82,  0.47;       up 0+06:57:38
                                        18:12:57
4 processes: 1 running, 3 sleeping
CPU states: 93.4% user,  0.0% nice,  6.6% system,  0.0% idle,  0.0% iowait
Memory: 479M used, 17M free, 16M buffers, 115M cached
Swap: 40K used, 1451M free

  PID USERNAME PRI NICE  SIZE   RES STATE   TIME   WCPU    CPU COMMAND
 4345 postgres  20    0   23M   14M run     6:22 17.23% 98.84% postgres:
iscander test_db 127.0.0.1(53231) SE
 4040 postgres  20    0   21M 7092K sleep   0:00  0.00%  0.00% postgres:
iscander test_db 127.0.0.1(34713) id
 4039 postgres  20    0   21M 6780K sleep   0:00  0.00%  0.00% postgres:
iscander test_db 127.0.0.1(34711) id
 4041 postgres  20    0   20M 5964K sleep   0:00  0.00%  0.00% postgres:
iscander test_db 127.0.0.1(34715) id

 На "боевом" серевре железо ожидается естесвенно много мощнее. У
нынешнего хостера, этот же запрос выполнеят 0.06 - 0.07сек.
 На что следует обратить внимание в железе "боевого сервера" на память,
на число процессоров(имеет ли смыл для Postgre ?) их частоту.
 Что действительно имеет смысл крутить в настройках  postgresql.conf
чтоб  всё по максимуму держать в ОЗУ. Кроме сосбсвенно Postgre на
сервере будут жить nginx + 3-6 mongrel для Ruby on Rails.
 Буду благодарен за разумные рекомендации. Просто результаты у хостера
шокирующие(!) с учетом того что у них shared Postgre для нескольких
клиентов. А делиться своим опытом он не хотят.

[-- Attachment #2: iscander_alt.vcf --]
[-- Type: text/x-vcard, Size: 148 bytes --]

begin:vcard
fn:Alexandr Ogurtsov
n:Ogurtsov;Alexandr
note:Linux is very friendly it is just picky who its friends are
version:2.1
end:vcard


             reply	other threads:[~2008-10-09 11:44 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-09 11:44 Alexandr Ogurtsov [this message]
2008-10-10  8:39   ` Alexandr Ogurtsov
2008-10-10  9:34     ` Ivan Fedorov
2008-10-10 10:10       ` Alexandr Ogurtsov
2008-10-10 12:27         ` Ivan Fedorov
2008-10-10 11:07       ` Andrey Chichak
2008-10-10 11:21         ` Alexandr Ogurtsov
2008-10-10 16:06   ` Alexandr Ogurtsov
2008-10-13  3:42 ` Evgeny Yugov
2008-10-13 10:09   ` Maxim Tyurin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48EDEEB6.5080801@gmail.com \
    --to=iscander.alt@gmail.com \
    --cc=sysadmins@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux sysadmins discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
		sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
	public-inbox-index sysadmins

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sysadmins


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git