
Andrey
21.11.2016
05:45:10

Павел П.
21.11.2016
05:52:11

Kanybek
21.11.2016
06:09:01
Есть. http://bfy.tw/8sFr
database design for stock, database design for store, for book store, online store, database design for stock managment system —> пока вот так ищу, годное не нашел

Andrey
21.11.2016
06:10:50
У Вас принципиально неверный подход.
При наличии теоретических знаний о принципах построения реляционных БД практическая задача разработки архитектуры под конкретное приложение становится тривиальной.

Google

Kanybek
21.11.2016
06:14:50

Sergey
21.11.2016
06:23:05

Alex
21.11.2016
06:54:27
Не очень понятно чему можно научиться с чужой БД, у всех свои представления о структуре, сущностях, отношениях. И одну и ту же задачу можно реализовать пачкой способов. Тут скорее вопрос, что конкретно вам будет удобнее.

Maxim
21.11.2016
07:10:04
мастер холодный при этом

Петр
21.11.2016
07:11:14
лаг есть?
что в топе?
ядер достаточно?

Марк ☢
21.11.2016
07:12:24
уж не в D ли состоянии большинство процессов ?

ros
21.11.2016
07:12:33
может рейд рассыпался

Марк ☢
21.11.2016
07:12:43
или свопчик

Maxim
21.11.2016
07:13:55
рейд в порядке
лага вроде не наблюдается

ros
21.11.2016
07:15:06
так слейв загружен запросами

Google

ros
21.11.2016
07:15:17
SELECT

Maxim
21.11.2016
07:15:27
ну там всегда так
в том смысле что запросов драматически больше не стало

ros
21.11.2016
07:16:35
ну лог медленных и профилировщик в зубы
может что-то поменялось о чем вы не в курсах

Sergey
21.11.2016
07:18:39

Maxim
21.11.2016
07:19:00
ггг

Sergey
21.11.2016
07:20:08
Там вон в топе селекты простые по кучу времени висят
pgbouncer не используете, кстати?

Maxim
21.11.2016
07:27:17
используем
и перед мастером и перед слейвом баунсер стоит

Петр
21.11.2016
07:59:46
блокировки посмотрите

Данил
21.11.2016
08:01:37
привет что за софт?

Maxim
21.11.2016
08:02:37
pgsql-9.6.1, pgbouncer-1.7.2, рельсобэкенд
или о чем вопрос?

dmitriy
21.11.2016
08:06:57
select * from pg_locks where granted = false таких много?

Петр
21.11.2016
08:07:22
посмотрите на самые старые сессии на примари и стендбае
возможно среди них есть подозрительные

Maxim
21.11.2016
08:08:10
реально долгих запросов нет
у нас на этой площадке бывало, что какой-нить коммит залипал часа на три

Google

Данил
21.11.2016
08:08:32
визуализация
или о чем вопрос?

Maxim
21.11.2016
08:08:35
и слейв начинал сходить с ума
но сейчас дело не в этом

Петр
21.11.2016
08:08:55
возможно поломались планы, посмотрите индексы

dmitriy
21.11.2016
08:08:57
а селекты долгие одни и теже?

Maxim
21.11.2016
08:09:02

Данил
21.11.2016
08:09:07
спс

Петр
21.11.2016
08:09:19
проблем на схд нет?

Maxim
21.11.2016
08:09:32
нет

Vadim
21.11.2016
08:10:01
BLOAT какой на объектах БД?

Maxim
21.11.2016
08:10:09

Петр
21.11.2016
08:10:44
посмотрите планы и наличие статистик

dmitriy
21.11.2016
08:10:48
посмотрите pg_stat_user_tables, может analyze давно не было?

Maxim
21.11.2016
08:11:39
а что там конкретно посмотреть?

Vadim
21.11.2016
08:12:07
.
.
https://gist.github.com/anonymous/82037d2f17450b41173f8c57580c07ce

Darafei
21.11.2016
08:13:10

Vadim
21.11.2016
08:13:32

Google

Maxim
21.11.2016
08:15:56
так
я выполнил этот магический запрос
и даже вроде не открыл ворота в ад

Vadim
21.11.2016
08:16:43
каков результат?

Maxim
21.11.2016
08:17:14
ну если я правильно понимаю, то результат довольно печален
-[ RECORD 1 ]-+-----------------------------------------------------------
database_name | darberry
schema_name | public
table_name | offer_financials
index_name | offer_financials_uniqueness
bloat_pct | 77.1
bloat_bytes | 16962265088
bloat_size | 16 GB
index_bytes | 21987745792
index_size | 20 GB
table_bytes | 41457065984
table_size | 39 GB
index_scans | 0

Vadim
21.11.2016
08:17:34
ну вот вам и ответ на ваши вопросы)

Admin
ERROR: S client not available

Maxim
21.11.2016
08:17:40
блоат в половину размера таблицы

dmitriy
21.11.2016
08:17:54
а запросы на этой таблицы тормозят?

Vadim
21.11.2016
08:17:55
pg_repack или FULL VACUUM

Maxim
21.11.2016
08:18:26

dmitriy
21.11.2016
08:18:50
а когда на ней последний last_autovacuum был?
и попробуйте запустить на ней VACUUM VERBOSE

Vadim
21.11.2016
08:19:58

dmitriy
21.11.2016
08:20:14
при большом блоте не обязательно будут тормозить запросы жутко

Vadim
21.11.2016
08:21:06

dmitriy
21.11.2016
08:21:29
у вас начинаются тормоза, когда в индексе лежат указатели на мертвые строки, и бэкенду приходится ходить в heap и проверять их на mvcc, простой vacuum их вычищает из индекса, и запросы работают нормально
понятно, что сделав vacuum full у вас все будет чики-пуки

Google

dmitriy
21.11.2016
08:22:01
по, не факт, что он пройдет
потому что могут быть старые снапшоты активны, которые на дадут почистить dead tuples, для этого я и советую сначала запустить VACUUM VERBOSE, чтобы понять, сможет он почистить или нет
но если он отработает, то по идее и его должно хватить

Maxim
21.11.2016
08:27:37

Vadim
21.11.2016
08:28:42
Сделайте только над теми таблицами которые у вас наиболее распухшие сейчас. Чтобы не было простоя, воспользуйтесь https://github.com/reorg/pg_repack
Остальное сделайте ночью, когда у вас база наименее нагружена

Maxim
21.11.2016
08:32:18
а когда на ней последний last_autovacuum был?
# select relname,last_vacuum, last_autovacuum, last_analyze, last_autoanalyze from pg_stat_user_tables where relname = 'offer_financials';
-[ RECORD 1 ]----+------------------------------
relname | offer_financials
last_vacuum |
last_autovacuum | 2016-11-17 09:34:58.496268+00
last_analyze | 2016-10-04 06:25:12.992705+00
last_autoanalyze | 2016-11-17 11:42:04.574505+00

Vadim
21.11.2016
08:32:49
ну в общем только полный вакуум как я и говорил

dmitriy
21.11.2016
08:33:01
Почему?

Vadim
21.11.2016
08:33:02
используйте пгрепак
Потому что нужно неистово писать 4 дня (2 из которых выходные), чтобы получить 16 Гб BLOAT

Maxim
21.11.2016
08:35:24
fuck yeah
ERROR: could not access status of transaction 1321660374
DETAIL: Could not open file "pg_clog/04EC": No such file or directory.

Vadim
21.11.2016
08:35:46
ооо..вот это уже интересно)

Maxim
21.11.2016
08:35:48
потому и не кусают
слейв ждет транзакций из этого лога
а его нет

Vadim
21.11.2016
08:36:34
коммит синхронный?

dmitriy
21.11.2016
08:36:56
Это в ответ на что такое прилетело?