172 похожих чатов

Коллеги, добрый день. Есть таблица вида id | key (unique

constraint) | occurance

Нужно увеличивать occurance на единицу для строки, если вставляется строка с существующим key.

Наивное решение сделать это средствами pg используя upsert on conflict.

Количество вставок предполагается до ~2k/sec. Предполагаемое количество конфликтов при вставке ~50%.

Вопрос: нормально ли переживет pg около 1000 обновлений в секунду. Если да, то нужно ли сразу смотреть в сторону уменьшения fillfactor?

7 ответов

15 просмотров

Сгенерируйте тестовые данные да и померяйте, на своём железе / нагрузке / ситуации, да и всё.

Alexey-Sklyar Автор вопроса
Yaroslav Schekin
Сгенерируйте тестовые данные да и померяйте, на св...

Да, но я хотел услышать еще об опыте других людей.

> Вопрос: нормально ли переживет pg около 1000 обновлений в секунду. тут отчасти производительность будет зависесть от дисковой подсистемы - по идее если такой поток записи более/менее постоянен, то диски должны вывозить и саму запись и периодически выполняющиеся фоновые чекпоинты во время которых может проседать производительность основных инсертов. поэтому если будете делать тесты, делайте их продолжительные по времени (10-20-30 минут)

Alexey Sklyar
Да, но я хотел услышать еще об опыте других людей...

вцелом есть инсталляции где 2k инсертов не проблема, да и железо тоже не сказать что космос

Alexey-Sklyar Автор вопроса
Alexey Lesovsky
вцелом есть инсталляции где 2k инсертов не проблем...

тут скорее вопрос в обновлениях, на другом проекте вставлял тоже 2-3к и все было ок.

Alexey Sklyar
Да, но я хотел услышать еще об опыте других людей...

Вы понимаете, что у некоторых людей "железо" на том, что они называют "сервером" похуже, чем в любом современном смартфоне; а у других, например (первое, что вспомнилось) 1.5 TB, 40 cores, 512G ram, 10 SSD x RAID10 — это "базовый" сервер под любой новый кластер (т.е. таких много "в запасе")? И вот толку Вам от этого? ;)

Alexey-Sklyar Автор вопроса
Yaroslav Schekin
Вы понимаете, что у некоторых людей "железо" на то...

Понимаю, но можно попробовать аппроксимировать чужие цифры на свои.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта