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
next 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