ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
From: Evgeny Yugov <evgeny.yugov@gmail.com>
To: sysadmins@lists.altlinux.org
Subject: Re: [Sysadmins] PostgreSQL оптимизация
Date: Mon, 13 Oct 2008 10:42:19 +0700
Message-ID: <48F2C39B.9040903@gmail.com> (raw)
In-Reply-To: <48EDEEB6.5080801@gmail.com>

Здравствуйте.

Много раз задавался подобным вопросом, теоретических материалов навалом.
Maxim Tyurin поделился общей формулой, которая годится в большинстве
случаев, надеюсь он не обидится если я её приведу тут:

""Стандартная настройка"

Среднестатическая настройка для максимальной производительности.

Берём размер памяти (RAM), ставим:

   * shared_buffers = 1/8 RAM или больше (но не более 1/4);
   * work_mem в 1/20 RAM;
   * maintenance_work_mem в 1/4;
   * max_fsm_relations в планируемое кол-во таблиц в базах * 1.5;
   * max_fsm_pages в max_fsm_relations * 2000;
   * fsync = true;
   * wal_sync_method = fdatasync;
   * commit_delay = от 10 до 100 ;
   * commit_siblings = от 5 до 10;
   * effective_cache_size = 0.9 от значения cached, которое показывает free;
   * random_page_cost = 2 для быстрых cpu, 4 для медленных;
   * cpu_tuple_cost = 0.001 для быстрых cpu, 0.01 для медленных;
   * cpu_index_tuple_cost = 0.0005 для быстрых cpu, 0.005 для медленных;

ну и autovacuum включить ещё. с analyze treshhold в 900, и vacuum
treshhold в 1800.

Если на сервере крутится еще что-то большое кроме PostgreSQL то нужно
изменить effective_cache_size (например 1С рекомендует устанавливать
этот параметр в RAM/2).

Выключить fsync можно только при использовании аппаратного рейда с BBU.

Также в рекомендациях от 1С встречается "установить enable_nestloop = off "

Не стоит так делать. Как, впрочем, и использовать другие костыли, для
того, чтобы обмануть планировщик запросов PostgreSQL. Планировщик у
PostgreSQL значительно умнее среднестатистического администратора БД, и
в 99.9% случаев срабатывает корректно.

Если же он работает некорректно, то нужно настраивать в первую очередь
effective_cache_size, random_page_cost и cpu*_cost. Чем меньше значения
этих параметров, тем больше будут использоваться агрессивные планы с
использованием индексов."

(с) Maxim Tyurin

Alexandr Ogurtsov пишет:
> Уважаемые коллеги, ищу совета по настройке производительности PostgreSQL
> 8.1.(Debian Etch)
<поскипанно>

-- 
Здесь могла быть ваша реклама...


  parent reply	other threads:[~2008-10-13  3:42 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-09 11:44 Alexandr Ogurtsov
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 [this message]
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=48F2C39B.9040903@gmail.com \
    --to=evgeny.yugov@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