@pgsql

Страница 37 из 1062
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
после конфига

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 так запрос и не привел ?

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
И там есть ссылка на https://wiki.postgresql.org/wiki/Slow_Query_Questions/ru
туда бы sql-запросы написать которые вытянут ответы на некоторые вопросы о метаданных таблиц в запросе, я уж не говорю о том чтоб засунуть какую-нибудь help/troubleshooting функцию ( fn(table1, table2 ... ) ) в системные для получения данной информации )

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

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 оставлен

как знал )

Страница 37 из 1062