Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Мониторинг и настройка конфига / 18 сообщений из 18, страница 1 из 1
29.01.2017, 20:08
    #39394185
PsyDiamond
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг и настройка конфига
Доброе время соратники
Вот есть у меня Postgres 9.3 крутиться база под виндой.
проставил в конфиге я log_min_duration_statement = 500ms
и обнаружил, что есть у меня длительные операции удаления а-ля
Код: sql
1.
2017-01-30 00:00:00 NOVT LOG:  duration: 738.000 ms  statement: DELETE FROM "userdata"."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction" WHERE (("ParusBusinessAccountingCoreBudgetEconomicOperationTransaction"."tid" =  ((1671)::int4)) AND ("ParusBusinessAccountingCoreBudgetEconomicOperationTransaction"."id" =  (('bf3772bd-d4b3-47f6-9cab-352439f892c9')::uuid)))


индексы стоят на оба поля.
транзакция очень большая. где то через 10 минут после старта процесса начинаются вот эти уведомления, что какое либо удаление занимает более 500 мс. Количество одноврменных блокировок около 6000 штук

на что следует обратить внимание?
и как грамотно снять метрики для анализа, чтобы понять почему через 10 минут начинаются такие моменты?
...
Рейтинг: 0 / 0
29.01.2017, 22:11
    #39394243
kira ivanov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг и настройка конфига
PsyDiamond,

индекс на оба поля, по возможности и посмотреть на скорости
...
Рейтинг: 0 / 0
30.01.2017, 05:58
    #39394321
PsyDiamond
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг и настройка конфига
я ж сразу написал, что авториндексы стоят на оба поля.

просиходит арифметический рост скорости выполнения удаления. грубо говоря запустил за полноч. минут через 10 (как точно замерить?) удаление идет по 500+ мс, а вот спустя 9 часов = 7023 мс
...
Рейтинг: 0 / 0
30.01.2017, 10:30
    #39394407
vyegorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг и настройка конфига
PsyDiamond,

Сколько записей надо удалить?
Удаляете частями или одной пачкой?
Есть подчинённые таблицы? Есть ли индексы на подчинённых ключах?
...
Рейтинг: 0 / 0
30.01.2017, 12:55
    #39394546
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг и настройка конфига
PsyDiamondДоброе время соратники
Вот есть у меня Postgres 9.3 крутиться база под виндой.
проставил в конфиге я log_min_duration_statement = 500ms
и обнаружил, что есть у меня длительные операции удаления а-ля
Код: sql
1.
2017-01-30 00:00:00 NOVT LOG:  duration: 738.000 ms  statement: DELETE FROM "userdata"."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction" WHERE (("ParusBusinessAccountingCoreBudgetEconomicOperationTransaction"."tid" =  ((1671)::int4)) AND ("ParusBusinessAccountingCoreBudgetEconomicOperationTransaction"."id" =  (('bf3772bd-d4b3-47f6-9cab-352439f892c9')::uuid)))


индексы стоят на оба поля.
транзакция очень большая. где то через 10 минут после старта процесса начинаются вот эти уведомления, что какое либо удаление занимает более 500 мс. Количество одноврменных блокировок около 6000 штук

на что следует обратить внимание?
и как грамотно снять метрики для анализа, чтобы понять почему через 10 минут начинаются такие моменты?
а зачем "по одной" удалять строки в "очень большой транзакции" ? нельзя отдельными ? или пачечками штук по 1000--10000 ?



ну и вопросов много:
-- у вас там каскадов по ФК, часом, нет ? (и/или триггерочков на удаление).
-- планчик запроса посмотреть можно ?
-- вы действительно думаете, что "индекс на оба поля", и "индексЫ по обеим полям" -- это одно и то же ?
...
Рейтинг: 0 / 0
30.01.2017, 21:28
    #39395017
kira ivanov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг и настройка конфига
Здесь уже многое чего ответили - немного добавлю :

вопрос, возможность правки кода приложения есть ?

1 - Если ДА, то :
- qwwqа зачем "по одной" удалять строки в "очень большой транзакции" ? нельзя отдельными ? или пачечками штук по 1000--10000 ?
- переписать это все иначе

2 - Если НЕТ, то :
- о чем и я изначально спрашивал qwwqвы действительно думаете, что "индекс на оба поля", и "индексЫ по обеим полям" -- это одно и то же ? и есть подозрение что индекс будет UNIQUE с вероятностью ближе к 100%
- explain запроса в студию
- конфиг сервера (OS, HDD, RAM, CPU) в студию
- конфиг постгреса - так-же сюда :)

а направление "снятия метрик для анализа" вы выбрали правильное, расширяем логирование до необходимо уровня и дальше explain по всем подозрительным запросам, ну и iostat (если unix) в помощь
...
Рейтинг: 0 / 0
01.02.2017, 08:24
    #39395986
PsyDiamond
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг и настройка конфига
ответы ваши отличные. за это благодарю

вернемся к сути вещей.

доступа к коду приложения нет. поэтому стоит очень извращенная задача - как сделать, чтобы в этом ужасе выиграть наибольшую производительность

машину взял типовую:
CPU i3 3.4 GHz
hdd 500 Gb
Win 7 x64
RAM 8G

Postgres 9.3 x64

конфиг почти типовой. приложил
(я в мире постгре новенький, так что в конфиге присутствуют серьезные огрехи)

естественно компы на которых крутиться подобная рабочая база - будут мощнее и на них SSD. картина меняется не особенно


Код: sql
1.
2.
3.
4.
CREATE INDEX bugdtran_index
  ON userdata."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction"
  USING btree
  (tid, id);



хотя казалось бы зачем ведь есть
Код: sql
1.
2.
ALTER TABLE userdata."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction"
  ADD CONSTRAINT "PK_cbdd134c1395950c67e3c2574b0264e9" PRIMARY KEY(id, tid);



далее есть тригер
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE OR REPLACE FUNCTION userdata."TFD_cf8123b8e01374517246178cfe5f35de"()
  RETURNS trigger AS
$BODY$
BEGIN
	DELETE FROM "userdata"."ParusBusinessAccountingCoreEconomicOperationTransaction"
	WHERE "id" = OLD."id" AND "tid" = OLD."tid";
RETURN OLD;
END;


присутствуют внешние ключи, но на них стоит "ON DELETE NO ACTION"

удаление идет в лоб и очень-очень тупо
Код: sql
1.
DELETE FROM "userdata"."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction" WHERE (("ParusBusinessAccountingCoreBudgetEconomicOperationTransaction"."tid" =  ((1671)::int4)) AND ("ParusBusinessAccountingCoreBudgetEconomicOperationTransaction"."id" =  (('bf3772bd-d4b3-47f6-9cab-352439f892c9')::uuid)))



и так для каждой записи. всего записей 19 000.

сейчас речь идет о том, как помочь штатному механизму. например сделать больший упор на память или на запись в файлы
...
Рейтинг: 0 / 0
01.02.2017, 08:27
    #39395987
PsyDiamond
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг и настройка конфига
"Delete on userdata."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction" (cost=0.42..8.44 rows=1 width=6) (actual time=27.686..27.686 rows=0 loops=1)"
" Buffers: shared hit=1070 read=2 dirtied=25, local hit=2 read=1 dirtied=1"
" -> Index Scan using bugdtran_index on userdata."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction" (cost=0.42..8.44 rows=1 width=6) (actual time=0.071..0.072 rows=1 loops=1)"
" Output: ctid"
" Index Cond: (("ParusBusinessAccountingCoreBudgetEconomicOperationTransaction".tid = 1671) AND ("ParusBusinessAccountingCoreBudgetEconomicOperationTransaction".id = 'bf3772bd-d4b3-47f6-9cab-352439f892c9'::uuid))"
" Buffers: shared hit=4"
"Trigger RI_ConstraintTrigger_a_175700 for constraint FK_13964930757d57361e63a4865db53650: time=0.404 calls=1"
"Trigger TR_ec79b9035a3512065fea1fb1f3e97dc6: time=25.863 calls=1"
"Total runtime: 28.125 ms"
...
Рейтинг: 0 / 0
01.02.2017, 08:36
    #39395994
fraks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг и настройка конфига
PsyDiamond
Код: sql
1.
2.
3.
4.
CREATE INDEX bugdtran_index
  ON userdata."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction"
  USING btree
  (tid, id);



хотя казалось бы зачем ведь есть
Код: sql
1.
2.
ALTER TABLE userdata."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction"
  ADD CONSTRAINT "PK_cbdd134c1395950c67e3c2574b0264e9" PRIMARY KEY(id, tid);




Я не настоящий сварщик, из Firebird забежал, отвечу с точки зрения FB но тут наверняка аналогично.

Индексы (tid, id) и (id, tid) аналогичны только если по обоим полям задано условие.
Если же в условии только второе поле индекса - то этот индекс не может быть использован.
Соответственно для твоей задачи это без разницы, но в системе наверняка есть запросы которым это не все равно.
...
Рейтинг: 0 / 0
01.02.2017, 09:18
    #39396008
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг и настройка конфига
PsyDiamond"Delete on userdata."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction" (cost=0.42..8.44 rows=1 width=6) (actual time=27.686..27.686 rows=0 loops=1)"
" Buffers: shared hit=1070 read=2 dirtied=25, local hit=2 read=1 dirtied=1"
" -> Index Scan using bugdtran_index on userdata."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction" (cost=0.42..8.44 rows=1 width=6) (actual time=0.071..0.072 rows=1 loops=1)"
" Output: ctid"
" Index Cond: (("ParusBusinessAccountingCoreBudgetEconomicOperationTransaction".tid = 1671) AND ("ParusBusinessAccountingCoreBudgetEconomicOperationTransaction".id = 'bf3772bd-d4b3-47f6-9cab-352439f892c9'::uuid))"
" Buffers: shared hit=4"
"Trigger RI_ConstraintTrigger_a_175700 for constraint FK_13964930757d57361e63a4865db53650: time=0.404 calls=1"
"Trigger TR_ec79b9035a3512065fea1fb1f3e97dc6: time=25.863 calls=1"
"Total runtime: 28.125 ms"

Ну вот вам написали где 99% времени уходит - на работу :
"Trigger TR_ec79b9035a3512065fea1fb1f3e97dc6: time=25.863 calls=1"

Соответственно надо разбираться что за триггер и что в нем происходит (и почему).

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
01.02.2017, 09:39
    #39396024
PsyDiamond
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг и настройка конфига
Код: sql
1.
2.
3.
4.
5.
CREATE TRIGGER "TR_ec79b9035a3512065fea1fb1f3e97dc6"
  BEFORE DELETE
  ON userdata."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction"
  FOR EACH ROW
  EXECUTE PROCEDURE userdata."TFD_cf8123b8e01374517246178cfe5f35de"();



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
CREATE OR REPLACE FUNCTION userdata."TFD_cf8123b8e01374517246178cfe5f35de"()
  RETURNS trigger AS
$BODY$
BEGIN
	DELETE FROM "userdata"."ParusBusinessAccountingCoreEconomicOperationTransaction"
	WHERE "id" = OLD."id" AND "tid" = OLD."tid";
RETURN OLD;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION userdata."TFD_cf8123b8e01374517246178cfe5f35de"()
  OWNER TO postgres;
GRANT EXECUTE ON FUNCTION userdata."TFD_cf8123b8e01374517246178cfe5f35de"() TO postgres;
GRANT EXECUTE ON FUNCTION userdata."TFD_cf8123b8e01374517246178cfe5f35de"() TO public;



в ParusBusinessAccountingCoreEconomicOperationTransaction индексов по первичному ключу нет.
поэтому я еще раз спрашиваю: в постгре принято индексы на первичные ключи явно ставить?
...
Рейтинг: 0 / 0
01.02.2017, 09:57
    #39396043
kira ivanov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг и настройка конфига
PsyDiamondв ParusBusinessAccountingCoreEconomicOperationTransaction индексов по первичному ключу нет.
поэтому я еще раз спрашиваю: в постгре принято индексы на первичные ключи явно ставить?

Требованием не является, в отличии от ораклов
Делай индекс там на "id" и "tid"
...
Рейтинг: 0 / 0
01.02.2017, 10:01
    #39396048
PsyDiamond
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг и настройка конфига
прошу прощения заранее за тривиальные вопросы - но так я познаю мир)

1)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
"Delete on userdata."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction"  (cost=0.42..8.44 rows=1 width=6) (actual time=0.354..0.354 rows=0 loops=1)"
"  Buffers: shared hit=10"
"  ->  Index Scan using bugdtran_index on userdata."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction"  (cost=0.42..8.44 rows=1 width=6) (actual time=0.044..0.046 rows=1 loops=1)"
"        Output: ctid"
"        Index Cond: (("ParusBusinessAccountingCoreBudgetEconomicOperationTransaction".tid = 1671) AND ("ParusBusinessAccountingCoreBudgetEconomicOperationTransaction".id = 'bf3772bd-d4b3-47f6-9cab-352439f892c9'::uuid))"
"        Buffers: shared hit=4"
"Trigger RI_ConstraintTrigger_a_175700 for constraint FK_13964930757d57361e63a4865db53650: time=0.143 calls=1"
"Trigger TR_ec79b9035a3512065fea1fb1f3e97dc6: time=0.197 calls=1"
"Total runtime: 0.533 ms"



иду в триггер
2)
Код: sql
1.
2.
3.
4.
5.
6.
7.
"Delete on userdata."ParusBusinessAccountingCoreEconomicOperationTransaction"  (cost=0.42..8.44 rows=1 width=6) (actual time=0.051..0.051 rows=0 loops=1)"
"  Buffers: shared hit=3"
"  ->  Index Scan using "PK_99ecb66e4b825aa33c41486a3a063ad4" on userdata."ParusBusinessAccountingCoreEconomicOperationTransaction"  (cost=0.42..8.44 rows=1 width=6) (actual time=0.043..0.043 rows=0 loops=1)"
"        Output: ctid"
"        Index Cond: (("ParusBusinessAccountingCoreEconomicOperationTransaction".id = 'bf3772bd-d4b3-47f6-9cab-352439f892c9'::uuid) AND ("ParusBusinessAccountingCoreEconomicOperationTransaction".tid = 1671))"
"        Buffers: shared hit=3"
"Total runtime: 0.134 ms"



тут не написан тригер (почему?), но он есть BEFORE DELETE
3)
Код: sql
1.
2.
3.
4.
5.
6.
7.
"Delete on userdata."ParusBusinessAccountingCoreTransaction"  (cost=0.42..8.44 rows=1 width=6) (actual time=0.050..0.050 rows=0 loops=1)"
"  Buffers: shared hit=3"
"  ->  Index Scan using "PK_ParusBusinessAccountingCoreTransaction$tid$id" on userdata."ParusBusinessAccountingCoreTransaction"  (cost=0.42..8.44 rows=1 width=6) (actual time=0.046..0.046 rows=0 loops=1)"
"        Output: ctid"
"        Index Cond: (("ParusBusinessAccountingCoreTransaction".id = 'bf3772bd-d4b3-47f6-9cab-352439f892c9'::uuid) AND ("ParusBusinessAccountingCoreTransaction".tid = 1671))"
"        Buffers: shared hit=3"
"Total runtime: 0.130 ms"



далее еще один тригер (тоже не описан)
4)
Код: sql
1.
2.
3.
4.
5.
6.
7.
"Delete on userdata."objectUse" s  (cost=0.42..12.46 rows=2 width=6) (actual time=0.049..0.049 rows=0 loops=1)"
"  Buffers: shared hit=3"
"  ->  Index Scan using "IDX_objectUseOwner" on userdata."objectUse" s  (cost=0.42..12.46 rows=2 width=6) (actual time=0.045..0.045 rows=0 loops=1)"
"        Output: ctid"
"        Index Cond: ((s."Owner_id" = 'bf3772bd-d4b3-47f6-9cab-352439f892c9'::uuid) AND (s."Owner_tid" = 1671))"
"        Buffers: shared hit=3"
"Total runtime: 0.112 ms"


и
Код: sql
1.
2.
3.
4.
5.
6.
7.
"Delete on userdata.object  (cost=0.56..8.58 rows=1 width=6) (actual time=0.046..0.046 rows=0 loops=1)"
"  Buffers: shared hit=4"
"  ->  Index Scan using "PK_object$id$tid" on userdata.object  (cost=0.56..8.58 rows=1 width=6) (actual time=0.041..0.041 rows=0 loops=1)"
"        Output: ctid"
"        Index Cond: ((object.id = 'bf3772bd-d4b3-47f6-9cab-352439f892c9'::uuid) AND (object.tid = 1671))"
"        Buffers: shared hit=4"
"Total runtime: 0.110 ms"



какие от сюда можно сделать выводы?
...
Рейтинг: 0 / 0
01.02.2017, 10:08
    #39396057
PsyDiamond
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг и настройка конфига
скажу больше

вот случай без индексов по ParusBusinessAccountingCoreBudgetEconomicOperationTransaction

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
"Delete on userdata."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction"  (cost=0.42..8.44 rows=1 width=6) (actual time=11.605..11.605 rows=0 loops=1)"
"  Buffers: shared hit=8 read=2"
"  ->  Index Scan using "PK_cbdd134c1395950c67e3c2574b0264e9" on userdata."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction"  (cost=0.42..8.44 rows=1 width=6) (actual time=10.987..10.991 rows=1 loops=1)"
"        Output: ctid"
"        Index Cond: (("ParusBusinessAccountingCoreBudgetEconomicOperationTransaction".id = 'bf3772bd-d4b3-47f6-9cab-352439f892c9'::uuid) AND ("ParusBusinessAccountingCoreBudgetEconomicOperationTransaction".tid = 1671))"
"        Buffers: shared hit=2 read=2"
"Trigger RI_ConstraintTrigger_a_175700 for constraint FK_13964930757d57361e63a4865db53650: time=0.235 calls=1"
"Trigger TR_ec79b9035a3512065fea1fb1f3e97dc6: time=0.418 calls=1"
"Total runtime: 11.915 ms"



а вот с индексами по id и tid

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
"Delete on userdata."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction"  (cost=0.42..8.44 rows=1 width=6) (actual time=0.354..0.354 rows=0 loops=1)"
"  Buffers: shared hit=10"
"  ->  Index Scan using bugdtran_index on userdata."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction"  (cost=0.42..8.44 rows=1 width=6) (actual time=0.044..0.046 rows=1 loops=1)"
"        Output: ctid"
"        Index Cond: (("ParusBusinessAccountingCoreBudgetEconomicOperationTransaction".tid = 1671) AND ("ParusBusinessAccountingCoreBudgetEconomicOperationTransaction".id = 'bf3772bd-d4b3-47f6-9cab-352439f892c9'::uuid))"
"        Buffers: shared hit=4"
"Trigger RI_ConstraintTrigger_a_175700 for constraint FK_13964930757d57361e63a4865db53650: time=0.143 calls=1"
"Trigger TR_ec79b9035a3512065fea1fb1f3e97dc6: time=0.197 calls=1"
"Total runtime: 0.533 ms"



а почему такие различные показати при инднекс скане по ПК и по моему индексу?
...
Рейтинг: 0 / 0
01.02.2017, 10:15
    #39396068
kira ivanov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг и настройка конфига
PsyDiamond,

поправь в конфиге :
work_mem = 16MB
maintenance_work_mem = 512MB
wal_buffers = 16MB
effective_cache_size = 6GB

про винду точно не могу сказать, но можно попробовать увеличить до
shared_buffers = 2GB

PsyDiamond какие от сюда можно сделать выводы?
Никакие выводы отсюда не сделать - написано так
...
Рейтинг: 0 / 0
01.02.2017, 11:11
    #39396134
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг и настройка конфига
PsyDiamond,

1 по ПК и уникъю Пж всегда создает индекс (если при создании оных не скахано воспользоваться готовым индексом). Правда не все приблуды его показывают

2. ваш индекс скорее всего только что создан, а индекс ПК -- сильно опух из-за предыдущих удалений/обновлений. (особенность пж)

ну и у вас там куча каскадного удаления висит на триггерах. ==> кроме как нарезать большой пакетик на маленькие (напр. автономные) транзакции (и отдать это всё джобу) и запастись терпением решений видимо нет. (переписать приложение, избавившись от самой необходимости массовых апдейтов и каскадов).
...
Рейтинг: 0 / 0
01.02.2017, 11:30
    #39396154
PsyDiamond
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг и настройка конфига
брешу.
сделал reindex по этой таблице - на выходе
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
"Delete on userdata."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction"  (cost=0.42..8.44 rows=1 width=6) (actual time=0.609..0.609 rows=0 loops=1)"
"  Buffers: shared hit=7 read=3"
"  ->  Index Scan using "PK_cbdd134c1395950c67e3c2574b0264e9" on userdata."ParusBusinessAccountingCoreBudgetEconomicOperationTransaction"  (cost=0.42..8.44 rows=1 width=6) (actual time=0.128..0.130 rows=1 loops=1)"
"        Output: ctid"
"        Index Cond: (("ParusBusinessAccountingCoreBudgetEconomicOperationTransaction".id = 'bf3772bd-d4b3-47f6-9cab-352439f892c9'::uuid) AND ("ParusBusinessAccountingCoreBudgetEconomicOperationTransaction".tid = 1671))"
"        Buffers: shared hit=1 read=3"
"Trigger RI_ConstraintTrigger_a_175700 for constraint FK_13964930757d57361e63a4865db53650: time=0.241 calls=1"
"Trigger TR_ec79b9035a3512065fea1fb1f3e97dc6: time=0.320 calls=1"
"Total runtime: 0.924 ms"
...
Рейтинг: 0 / 0
02.02.2017, 06:59
    #39396904
PsyDiamond
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг и настройка конфига
kira ivanovPsyDiamond,

поправь в конфиге :
work_mem = 16MB
maintenance_work_mem = 512MB
wal_buffers = 16MB
effective_cache_size = 6GB

про винду точно не могу сказать, но можно попробовать увеличить до
shared_buffers = 2GB


в мануале написано же, что shared_buffers для винды 512 метров вполне достаточно
про effective_cache_size я так и не понял - зачем так много?

и кто нибудь рассказать может или ссылочку дать, какие параметры оптимизируют какие операции?
например какой влияет на index scan и прочее
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Мониторинг и настройка конфига / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]