powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / londiste - разпухает таблица с событиями
19 сообщений из 19, страница 1 из 1
londiste - разпухает таблица с событиями
    #38302226
Gold_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.

londiste - разпухает таблица с событиями (156 млн строк). Вытесняет кеш. Вопрос как переклюсит на новую партицию а эту грохнуть.
Спасибо.
...
Рейтинг: 0 / 0
londiste - разпухает таблица с событиями
    #38302282
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gold_,

если очень бегло то так.

он должен сам всё ротировать при

1) нормальном деплое

и

проверьте, что

2) консумеров "умерших" на очередь не подсажано

иначе он не отротирует события, так и будет надеяться и ждать, что события нужны еще окажутся.

проверить консумеров -
Код: plaintext
sudo -u postgres /usr/bin/python /usr/bin/pgqadm /etc/skytools/ticker.conf status
...
Рейтинг: 0 / 0
londiste - разпухает таблица с событиями
    #38302361
Gold_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Misha Tyurin,
Спасибо за помощь.
Что-то "не здоровое" я сделал. (создавал, удалял ноды)
у меня третья версия.
это не аналог "/usr/bin/pgqadm /etc/skytools/ticker.conf status"?:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
skytools@stat-dev:~$ londiste3  /home/skytools/conf/repl_stat.ini status
Queue: replic   Local node: stat-node

stat-node (root)
  |                           Tables: 34/0/0
  |                           Lag: 9s, Tick: 453049
  +--dwh-node (leaf)
                              Tables: 34/0/0
                              Lag: 9s, Tick: 453049
skytools@stat-dev:~$ 


Вот тут, наверное, можно понять что я накосячил.
stat=# SELECT * FROM pgq.get_consumer_info();


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
  queue_name   |               consumer_name               |          lag           |       last_seen        | last_tick | current_batch | next_tick | pending_events 
---------------+-------------------------------------------+------------------------+------------------------+-----------+---------------+-----------+----------------
 actual_replic | .global_watermark                         | 00:03:59.684535        | 00:03:51.573835        |     81529 |               |           |              1
 replic        | .dwh-node.watermark                       | 00:00:25.899397        | 00:00:17.729675        |    453161 |               |           |              2
 replic        | .global_watermark                         | 5 days 08:40:09.063528 | 00:00:05.571261        |    351902 |               |           |      109578639
 replic        | replic_dev.copy.public.uptime             | 5 days 07:48:23.44298  | 5 days 07:48:16.499714 |    352028 |        661792 |    352029 |      109573301
 replic        | replic_dev.copy.public.user_understanding | 5 days 08:40:09.063528 | 5 days 08:39:56.034779 |    351902 |        661781 |    351903 |      109578639
 replic        | replic_dwh                                | 00:00:05.152282        | 00:00:05.121512        |    453165 |               |           |              0
(6 rows)

(END)
...
Рейтинг: 0 / 0
londiste - разпухает таблица с событиями
    #38302807
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gold_,

5 дней - где-то что-то висит
...
Рейтинг: 0 / 0
londiste - разпухает таблица с событиями
    #38302998
Gold_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Misha Tyurin,

Это лишнее.
Можно просто удалить "слушителя"?
...
Рейтинг: 0 / 0
londiste - разпухает таблица с событиями
    #38303423
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gold_,

Попробывать стоит
...
Рейтинг: 0 / 0
londiste - разпухает таблица с событиями
    #38303920
Gold_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Misha Tyurin,

Сделал pgq.unregister_consumer
для replic_dev.copy.public.uptime и replic_dev.copy.public.user_understanding
стало так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
stat=# SELECT * FROM pgq.get_consumer_info();
  queue_name   |    consumer_name    |       lag       |    last_seen    | last_tick | current_batch | next_tick | pending_events 
---------------+---------------------+-----------------+-----------------+-----------+---------------+-----------+----------------
 actual_replic | .global_watermark   | 00:00:15.751334 | 00:00:13.823156 |     83127 |               |           |              1
 replic        | .dwh-node.watermark | 00:03:25.777176 | 00:03:15.606181 |    470191 |               |           |              2
 replic        | .global_watermark   | 00:03:25.777176 | 00:03:05.70043  |    470191 |               |           |              2
 replic        | replic_dwh          | 00:00:03.013622 | 00:00:01.534306 |    470197 |               |           |              0
(4 rows)

таблица "не уменьшилась"
...
Рейтинг: 0 / 0
londiste - разпухает таблица с событиями
    #38304050
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gold_Misha Tyurin,

Сделал pgq.unregister_consumer
для replic_dev.copy.public.uptime и replic_dev.copy.public.user_understanding
стало так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
stat=# SELECT * FROM pgq.get_consumer_info();
  queue_name   |    consumer_name    |       lag       |    last_seen    | last_tick | current_batch | next_tick | pending_events 
---------------+---------------------+-----------------+-----------------+-----------+---------------+-----------+----------------
 actual_replic | .global_watermark   | 00:00:15.751334 | 00:00:13.823156 |     83127 |               |           |              1
 replic        | .dwh-node.watermark | 00:03:25.777176 | 00:03:15.606181 |    470191 |               |           |              2
 replic        | .global_watermark   | 00:03:25.777176 | 00:03:05.70043  |    470191 |               |           |              2
 replic        | replic_dwh          | 00:00:03.013622 | 00:00:01.534306 |    470197 |               |           |              0
(4 rows)

таблица "не уменьшилась"

уменьшится но не сразу... как партиция в очереди отротейтится (в течении 1-2 часов вероятнее всего)
...
Рейтинг: 0 / 0
londiste - разпухает таблица с событиями
    #38304783
Gold_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk,

Я запостил примерно через час-полтора.
Но сейчас все ОК.

Миша, Максим - Спасибо.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
londiste - разпухает таблица с событиями
    #39322991
yura31
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте

у меня похожая проблема

подскажите как правильно делать ротейт\транкейт событиям?
Зарание спасибо!

event_2_0 | 1865 GB

Код: plsql
1.
2.
3.
4.
5.
6.
SELECT * FROM pgq.get_consumer_info();
 queue_name |      consumer_name       |       lag       |    last_seen    | last_tick | current_batch | next_tick | pending_events
------------+--------------------------+-----------------+-----------------+-----------+---------------+-----------+----------------
 replika    | database_slave6    | 00:09:00.274867 | 00:00:00.199871 |   1016253 |       1023779 |   1016254 |        1331209
 replika    | .global_watermark        | 00:14:19.813267 | 00:01:27.096988 |   1015997 |               |           |        2143398
 replika    | .slave-server6.watermark | 00:09:24.484683 | 00:00:20.759983 |   1016234 |               |           |        1386248
...
Рейтинг: 0 / 0
londiste - разпухает таблица с событиями
    #39323004
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yura31Здравствуйте

у меня похожая проблема

подскажите как правильно делать ротейт\транкейт событиям?
Зарание спасибо!

event_2_0 | 1865 GB

Код: plsql
1.
2.
3.
4.
5.
6.
SELECT * FROM pgq.get_consumer_info();
 queue_name |      consumer_name       |       lag       |    last_seen    | last_tick | current_batch | next_tick | pending_events
------------+--------------------------+-----------------+-----------------+-----------+---------------+-----------+----------------
 replika    | database_slave6    | 00:09:00.274867 | 00:00:00.199871 |   1016253 |       1023779 |   1016254 |        1331209
 replika    | .global_watermark        | 00:14:19.813267 | 00:01:27.096988 |   1015997 |               |           |        2143398
 replika    | .slave-server6.watermark | 00:09:24.484683 | 00:00:20.759983 |   1016234 |               |           |        1386248



У вас нет залаганых consumers.
Тикер то работает на базе-источнике?
И если да то что в логах тикера есть интересного?

И что говорит

SELECT * FROM pgq.get_queue_info();

PS: 2Tb pgq событий это сильно.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
londiste - разпухает таблица с событиями
    #39323058
yura31
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk,
спасибо за ответ

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SELECT * FROM pgq.get_queue_info();
-[ RECORD 1 ]------------+------------------------------
queue_name               | replika
queue_ntables            | 3
queue_cur_table          | 1
queue_rotation_period    | 02:00:00
queue_switch_time        | 2016-10-07 12:38:23.476944+00
queue_external_ticker    | t
queue_ticker_paused      | f
queue_ticker_max_count   | 500
queue_ticker_max_lag     | 00:00:03
queue_ticker_idle_period | 00:01:00
ticker_lag               | 00:06:37.09886
ev_per_sec               | 1033.94210893956
ev_new                   | 0
last_tick_id             | 1023963




попробовал еще перезапустить тикер
...
Рейтинг: 0 / 0
londiste - разпухает таблица с событиями
    #39323095
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yura31Maxim Boguk,
спасибо за ответ

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SELECT * FROM pgq.get_queue_info();
-[ RECORD 1 ]------------+------------------------------
queue_name               | replika
queue_ntables            | 3
queue_cur_table          | 1
queue_rotation_period    | 02:00:00
queue_switch_time        | 2016-10-07 12:38:23.476944+00
queue_external_ticker    | t
queue_ticker_paused      | f
queue_ticker_max_count   | 500
queue_ticker_max_lag     | 00:00:03
queue_ticker_idle_period | 00:01:00
ticker_lag               | 00:06:37.09886
ev_per_sec               | 1033.94210893956
ev_new                   | 0
last_tick_id             | 1023963




попробовал еще перезапустить тикер

Репликация 1000 событий в секунду требует очень приличного оборудования и на мастере и на репликах.
У вас скорее всего реплика тупо за мастером не успевает.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
londiste - разпухает таблица с событиями
    #39323169
yura31
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk,
Сюдя по ЛАГам и числу записей в таблицах, то все ок.
> Репликация 1000 событий в секунду требует очень приличного оборудования и на мастере и на репликах.
Не всегда так, бывает 10 бывает 3000 в секунду.
...
Рейтинг: 0 / 0
londiste - разпухает таблица с событиями
    #39323186
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yura31Maxim Boguk,
Сюдя по ЛАГам и числу записей в таблицах, то все ок.
> Репликация 1000 событий в секунду требует очень приличного оборудования и на мастере и на репликах.
Не всегда так, бывает 10 бывает 3000 в секунду.

Судя по
queue_rotation_period | 02:00:00
queue_switch_time | 2016-10-07 12:38:23.476944+00
никаких особо проблем нет...
и это у вас время от времени за 2 часа между переключениями партиций в pgq столько набегает.

Я бы порекомендовал уменьшить queue_rotation_period до 10 минут например.
Скорее всего станет легче.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
londiste - разпухает таблица с событиями
    #39323212
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Bogukи это у вас время от времени за 2 часа между переключениями партиций в pgq столько набегает.
7200*1000 ~ 10^7
2*10^12/10^7 ~ 10^5
немного крупноватые события получаются, нет ? наверное блобы ?
автор, у вас такого размера записи ?

а на предмет долгоиграющих транзакций думать не надо ? например кто--то 2-е суток варит отчет. оно не залочит ротацию ? (там же на снапшотах всё. имхо, должно ждать отпущения. могу врать, давно читал.)
...
Рейтинг: 0 / 0
londiste - разпухает таблица с событиями
    #39323457
yura31
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwwq, блобов нету, это оказывается ротацыя на слейве не работает

Maxim Boguk,
Сморю на мастере все ок с ротацией, за 2 часа несколько гигабайт набегает событий - что есть нормально.
А вот на слейве вообще не ротирует. Не могу понять причину (слей бранч create-branch). Поднял доп слейв без нагрузки, автовакуум отключил (что бы исключить лок таблиц ним) и тоже самое собития только ростут

Код: sql
1.
2.
select * from pgq.set_queue_config('replika', 'queue_rotation_period', '600');
ERROR:  cannot change parameter "queue_rotation_period"


хз что не хватет

изменил период вот так
Код: sql
1.
update pgq.queue set  queue_rotation_period  = '600'  where queue_name = 'replika'; 



такое ощущение что то не доставил на слейвах ...
...
Рейтинг: 0 / 0
londiste - разпухает таблица с событиями
    #39323474
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yura31qwwq, блобов нету, это оказывается ротацыя на слейве не работает

вот теперь всё то же самое про слушателей (консумерс) , что выше приводили для мастера (думается) -- распишите для бранча. Сдаётся -- у вас нет слушателей на нем. и очередь копится -- ждёт, когда же её кто--нть послушает.
...
Рейтинг: 0 / 0
londiste - разпухает таблица с событиями
    #39323505
yura31
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwwqyura31qwwq, блобов нету, это оказывается ротацыя на слейве не работает

Сдаётся -- у вас нет слушателей на нем. и очередь копится -- ждёт, когда же её кто--нть послушает.

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


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