
ultranoise ?
26.05.2016
20:40:47
привычка подвела

Dmitrii
26.05.2016
20:41:15

Alex
26.05.2016
20:41:17
Хотя оракл лучше, да

Google

Dzianis
26.05.2016
20:41:49
Да простят меня в этом чате, но
https://lookaside.fbsbx.com/file/understanding-indexing-webinar-deck.pdf?token=AWwYiAySaromHnivOgbQDP0XnmrkfRnfoIx6aUArtiYwXTHUNuSr7MGJf_PVOxSYZtz3v9HTDSURwPoOd95tWaHjc8tZtBRLCCddCqHnQbR7ADmA0ycWmEX_HcPZY3UZMWhW9M3yeQeAZ4M-L6mgzmgJ_QXqXoiFcqNnAxvik79h8w

Dmitrii
26.05.2016
20:41:54
Я думаю там столько костылей в оракле за бабки кастомеров, что не счесть

ultranoise ?
26.05.2016
20:42:30
тотал рантайм побыстрее стал на 40%

Alex
26.05.2016
20:42:52
после чего ?

ultranoise ?
26.05.2016
20:42:58
после конфига

Dmitrii
26.05.2016
20:43:02

Alex
26.05.2016
20:43:33
вероятно

Dzianis
26.05.2016
20:44:05
@dezconnect : см. слайд 56 и далее
Rule 3: Avoid Sorting

Alex
26.05.2016
20:44:36
да я в курсе про это

Dmitrii
26.05.2016
20:45:04
А вот еще был кейс, что нам надо было NULLS LAST делать. А в постгресе NULLS FIRST подефолту. В итоге приходилось добавлять ORDER BY ну и кароч финиш тут. Seq scan.
Как такое лечить?

Google

Dmitrii
26.05.2016
20:45:26
Это чуть чуть пересекается с моим предыдущим вопросом.

Dzianis
26.05.2016
20:45:33
Ой, я @korotovskii имел в виду. @dezconnect , а в PostgreSQL это не работает?

Alex
26.05.2016
20:46:13
да почему работает, мыж рассуждаем про сферичный запрос в вакууме
поэтому и советы такие =)
не типа данных не разряженности ничего

Dzianis
26.05.2016
20:47:41
?
Кстати, на NULLS FIRST/LAST наш любимый Олег Бартунов как минимум на HighLoad++ уже обращал внимание.

Dmitrii
26.05.2016
20:48:12
Не видел. А о чем там речь была?
Причем кесов в конкретно нашем приложении с этим долбаным NULLS LAST просто тьма. Есть товары с ценой, у некоторых цена NULL. И их надо в конец. Ну вы поняли короче как все на самом деле.
Мы пока захерачили хак цена -1.
Так и живем.

Dzianis
26.05.2016
20:51:06
Формально Олег не рассказал ничего особого для тех, кто хорошо читает и понимает документацию.
А для остальных звучало, как хорошее напоминание.
http://www.slideshare.net/profyclub_ru/o-lt?ref=http://www.highload.ru/2013/abstracts/1170.html
https://vimeo.com/105424016

Dmitrii
26.05.2016
20:52:10
Я видимо кривой.

Dzianis
26.05.2016
20:55:59
Кстати, @ultranoise, посмотрите, наверное, сначала видеозапись выступления Олега Бартунова и Александра Короткова, а потом (да простит меня наш чат) как раз Understanding Indexing Without Needing to Understand Data Structures от Tokutek, слайды которой я скинул выше. Кажется, вы не конца понимаете искусство использования индексов.

ultranoise ?
26.05.2016
20:57:59
Спасибо! Я как раз читаю какой то фак и думаю что нельзя бездумно на поле вешать индекс а тем более индексировать что попало

Dmitrii
26.05.2016
21:00:18
Или вы про это? https://www.postgresql.org/docs/current/static/indexes-ordering.html
Если да, то вроде я это пробовал и в нашем конкретном кейсе это не помогло. Ну либо, опять же, я кривой.

Google

Dzianis
26.05.2016
21:10:07
Да, про это. Значит, вам не ваш случай, или ошиблись где-то.
Просто при переходе с MySQL многие не забывают, что по историческим причинам PostgreSQL btree по умолчанию по возрастанию и nulls first, а в MySQL наоборот.
*** забывают (без НЕ)

Dmitrii
26.05.2016
21:15:00
Надо будет еще раз попробовать значит. Может где то ошибся, хотя это вполне возможно, потому что тот ад, который возник всвязи с Seq Scan надо было быстро убрать, для чего и было запилено -1 ?

Alexander
26.05.2016
21:19:37

Dmitrii
26.05.2016
21:20:22

Dzianis
26.05.2016
21:28:25
Кстати, кто еще не видел, в pg-utils есть удобный готовый генератор отчетов нагрузки на базу: http://highload.guide/blog/uploads/images_performance/performance_postgresql_3.jpg
Удачная обертка над pg_stat_statements )))))))

Oleg
26.05.2016
21:33:50
Я что-то пропустил или ultranoise так запрос и не привел ?

Dzianis
26.05.2016
21:44:25

Oleg
27.05.2016
09:23:09
У нас есть много информации на wiki.postgresql.org, в частности, на русском языке https://wiki.postgresql.org/wiki/Russian

Oleg
27.05.2016
09:23:36
И там есть ссылка на https://wiki.postgresql.org/wiki/Slow_Query_Questions/ru

Kirill
27.05.2016
09:32:48

Oleg
27.05.2016
09:34:09
Это все в наших силах, можете сами его дополнить или конкретно написать хотелку. Тут наверняка найдутся ребята, которые смогут помочь.

Kirill
27.05.2016
09:46:51
На сколько я знаю у PostgreSQL-Consulting есть достаточно наработок в виде pg-utils, вопрос: а не возникало ли желание все это "причасать" и продвигать в контриб, что-то вроде performance schema у mysql ? Я, пока, не сильно компетентен чтоб такие штуки задвигать )
Хотя вещь интересная и в процессе постижения мной постгреса возможно тоже что-то появится

Oleg
27.05.2016
10:06:04
У нас почти все это есть, читаем https://www.postgresql.org/docs/9.5/static/monitoring-stats.html и wiki

Kirill
27.05.2016
10:12:04
да, я видел, частью даже пользуюсь, спасибо

Oleg
27.05.2016
10:12:28
а вот в виуи https://wiki.postgresql.org/wiki/Index_Maintenance

Google

Oleg
27.05.2016
10:13:03
Попробуйте собрать себе такую preformance schema и предложите народу. Действительно, всем будет полезно.
как минимум, на вики разместить на русском языке ваш опыт.

Kirill
27.05.2016
10:15:53
Спасибо, с continuous integration для PL/pgSQL закончу и займусь )

Stanislav
27.05.2016
13:22:23
Коллеги, что делать если чекпоинтер запускается раз в 5 минут и кладет базу на две минуты?
генерит избыточное кол-во синков чем и прикладывает пару саташек.

Kirill
27.05.2016
13:23:00
размазать его по времени

Stanislav
27.05.2016
13:23:16
ставил 15 минут, кладет на 6 минут базу

Admin
ERROR: S client not available

Stanislav
27.05.2016
13:23:43
т.е. время тупняка пропорционально интервалу сна чекпоинтера

Kirill
27.05.2016
13:24:11
checkpoint_completion_target - сколько "тянуть" будет

Stanislav
27.05.2016
13:24:25
http://pix.my/kBDB9GvY?1464355455
стоит 0.5
мне тут рекомендуют 0.7

Kirill
27.05.2016
13:25:38
еще checkpoint_timeout можно / нужно увеличить. А он у вас по времени срабатывает или по количеству сегментов/размеру ?

Stanislav
27.05.2016
13:26:09
64 сегмента
по расписанию - каждые 15 минут

Kirill
27.05.2016
13:26:44
сделайте час, что его каждые 15 минут дергать если диски не тянут

Stanislav
27.05.2016
13:27:04
это в смысле запускать раз в час?

Kirill
27.05.2016
13:27:24
да, таймаут час и checkpoint_completion_target поднимите чтоб запись размазал

Stanislav
27.05.2016
13:27:38
Спасибо

Google

Kirill
27.05.2016
13:29:34
ещепотом смотрите на что срабатывает время/сегменты, можно сегменты "поднять" чтоб только по времени работало (если место позволяет)

Ruslan
27.05.2016
16:38:30
Опять этот спамер
призываю Oleg

[Anonymous]
27.05.2016
16:39:18
или @pasha_golub

Pavel
27.05.2016
16:39:43

Alex
27.05.2016
16:39:46
предлагали же просто найти и морду набить чтобы неповадно было )

[Anonymous]
27.05.2016
16:40:08
Слушаю
спамеры опять прорываются)

Pavel
27.05.2016
16:40:40
Заблокировал. Спасибо за внимание ?

[Anonymous]
27.05.2016
16:41:13
и тебе спасибо)

Oleg
27.05.2016
16:41:39
Done

Konstantin
27.05.2016
16:46:40

Kirill
27.05.2016
19:39:54
Поделиться надо бы
UI http://185.143.172.56/ логин/пароль demo/demo
Код + фреймворк для тестов https://github.com/postgres-ci
Можно сказать уже "бета")
инструкцию по сборке после выходных отпишу, там все достаточно просто, но нужен docker и, внезапно, постгрес 9.5 )

Dmitrii
27.05.2016
19:41:28
Не удержался сменить пароль для демо пользователя. ?
demo/demo1 )

Kirill
27.05.2016
19:42:26
именно для таких случаев там в хранимке только return оставлен
как знал )